Linux中国 Linux中国门户站!
设为主页 设为主页
收藏本站 收藏本站
 
当前位置 :首页 ->Linux技术 ->BSD相关 ->正文

一山可容二虎 让Linux与FreeBSD共存

来源: 作者: 时间:2007-04-11 点击: [收藏] [投稿]

3、在Linux和FreeBSD系统上共享swap空间

这个部分描述了怎么样使用Linux和FreeBSD来共享一个swap空间。有几种不同的方法可以实现它。如果你愿意,你可以在Linux安装之前安装FreeBSD,只是需要注意FreeBSD slice的分区顺序。

3.1.1安装Linux

第一步是正常安装Linux。你必须在硬盘上留下一些空间作为FreeBSD的slice。你不必分出一个Linux swap分区,但是如果你需要一个,把其放在你为FreeBSD安排的空间中。这个方法可以使你在以后使用FreeBSD的空间时,删除Linuxswap分区。

当你安装了Linux后,你必须重新编译一个新的内核。如果不熟悉,请读一下Linux kernel HOWTO。你必须在内核中包入UFS文件系统支持(只读)和BSD磁盘标记(FreeBSD分区表)支持:

UFS filesystem support (read only) (CONFIG_UFS_FS) [N/y/m/?] y
 BSD disklabel (FreeBSD partition tables) 
support (CONFIG_BSD_DISKLABEL) [N/y/?]
(NEW) y

安装新内核和重新启动。如果你建立了一个Linux swap分区,则需要在/etc/fstab文件中的把任何一行包括swap的关键字的行删除。确定你一个可以以新的内核工作的启动软盘。现在你可以安装FreeBSD了。

3.2 安装FreeBSD

遵照FreeBSD的文档,安装FreeBSD。如果你已经建立了一个swap分区,则删除Linux的swap分区,(你可以使用FreeBSD的fdisk程序)注意在FreeBSD分区中的顺序。如果你使用默认方式来标记,则第二个分区把被建立为swap分区。完成安装后,使用新Linux内核的软盘,重新启动系统。

3.3在Linux中设置FreeBSD的swap分区

如果已经以Linux启动了,就运行dmesg命令。显示可能是:

Partition check:
   hda: hda1 hda2 hda3 hda4 < hda5 hda6 hda7 hda8 >

这就意味着/dev/hda4是你的FreeBSD slice,当/dev/hda5,/dev/hda6,/dev/hda7并且/dev/hda8是FreeBSD分区。如果你的swap分区是在slice中的第二个分区,它可以是/dev/hda6。

你必须在/etc/fstab文件中放入以下行内容,以使swap分区工作:

/dev/hda6       none      swap       sw       0       0

当FreeBSD可以使用任何一种类型的分区作为swap分区,Linux需要一个特别的标记在这个swap分区中。这个标记被mkswap程序所建立。FreeBSD会在其使用这个共享的swap分区时删除这个标记,所以你把必须每次进入Linux后,运行mkswap。为了使其可以自动运行,你必须在启动时运行swapon的脚本程序。在Red Hat Linux它们是/etc/rc.d/rc.sysinit。在下面一行放在这个文件的swapon -a之前:

awk -- '/swap/ && ($1 !~ /#/) { system("mkswap "$1"") }' /etc/fstab

在每次你启动时,这把会在/etc/fstab文件中的每个swap分区都被mkswap操作一次,除非被注释的行。(#是注释符号)

当你已经重新启动了Linux后,可以检查swap空间的大小。也可以启动到FreeBSD来确定一下,所有的正常。如果不,你可能使用错误的分区作为swap分区。这个问题唯一的解决方法就是重新安装FreeBSD,并且重新试一试上面所介绍的方法。经验是一位好老师。

4.使LILO启动FreeBSD

可以非常容易地使用LILO启动FreeBSD。如果你需要安装LILO,则不要安装FreeBSD的启动程序(Booteasy)。根据下列在你的/etc/lilo.conf中的内容运行lilo(假定FreeBSD slice是/dev/hda4)

other=/dev/hda4
table=/dev/hda
label=FreeBSD

如果你已经把FreeBSD安装到了第二个SCSI驱动器上,使用:(这个FreeBSD slice可能是/dev/sdb2)

other=/dev/sdb2
table=/dev/sdb
loader=/boot/chain.b
label=FreeBSD


 如果您对本文有任何疑问或者建议,请到讨论区发表您的意见: >> 论坛入口 <<



上一篇:教你定制自己的压缩的FreeBSD内核   下一篇:没有了

文章评论】 【收藏本文】 【推荐好友】 【打印本文】 【我要投稿】 【论坛讨论
更多相关文章
Power by linux-cn.com 粤ICP备05006655号