⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 如何在一个系统下安装linux+freebsd(二).txt

📁 LINUX下的安装声卡等操作和技巧介绍
💻 TXT
字号:
作者:chinesealbert
email: ls-lishi-ls@263.net
日期:7/6/2001 10:20:48 AM
3. 在 Linux 和 FreeBSD间分享 Swap 空间

这一个篇幅描述我如何让 Linux 和 FreeBSD 共用一个 Swap 切割. 可能还有别

的方法可以做到相同的结果. 这里所用的 Linux 是 Red Hat 4.1 和 4.2

(Linux 核心 2.0.29 和 2.0.30) 与 FreeBSD 2.2.2. 如果你愿意, 你可以在安

装 Linux 之前先安装 FreeBSD, 但要注意 FreeBSD slice 中 partition 的顺

序.

 

3.1 安装和准备 Linux

第一步是如平常一样的安装 Linux. 你必须在你的硬碟中留下给 FreeBSD slice

的空间. 你不用作 Linux 的 Swap 切割, 但如果你要这样一个切割, 就把它放在

你要给 FreeBSD 的空间中. 这样, 你便可以在稍後删除这个切割, 并把它拿来给

FreeBSD 用 .

 

在完成 Linux 的安装後, 你必须要重新编译 kernel. 如果你对这不清楚, 可以

参考 The Linux Kernel HOWTO. 你 必须 加入对 UFS 档案系统 的支援, 与对

BSD disklabel (FreeBSD partition tables) 的支援.

 

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. 如果你有建构 Linux

swap 切割, 把它删除, (你可以使用 FreeBSD 的fdisk 程式.) 注意一下

FreeBSD slice 中 partitions 的顺序. 如果你使用预设的标签编码, 第二个

partition 将是swap 切割. 完成 FreeBSD 的安装, 并使用Linux的开机片 重新

开机进入 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 partition 的功能.

 

/dev/hda6 none swap sw 0 0

FreeBSD 可以用任何型态的切割来当作 swap 切割, 但 Linux 的 swap 切割需要

特别的签名. 这个签名是用 mkswap 来建构的. FreeBSD 使用这个共用的 swap

切割时会对这个签名造成破坏, 所以你必须在每次进入 Linux 的时後执行

mkswap. 要让这个动作自动执行, 你必须找出执行 swapon 的 script 并在开机

时执行. 以 Red Hat 而言, 这是 /etc/rc.d/rc.sysinit. 把下面这一行放到

swapon -a 前:

 

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

这将会在每次开机时, 在 /etc/fstab 中的任何 swap 切割上执行 mkswap, 除非

你把它取消 (使用 ``#'' 当一行的第一个字元)

 

在你重新开机进入 Linux 後, 使用 free 来检查 swap 空间的大小. 你也必须重

新开机进入 FreeBSD 来确认一切都如预期的运作. 如果没有, 那你可能使用了错

误的切割来当作 swap 切割. 唯一的解决办法, 便是重新再安装 FreeBSD, 并再

试一次. 经验是好的导师. :-)

 

4. 使用 LILO 来启动 FreeBSD

你可以非常容易的使用 LILO 来启动 FreeBSD. 如果你要使用 LILO, 不要安装

FreeBSD 的 boot loader (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

5. 架构档案系统

5.1 在 Linux 中架构 UFS 档案系统

不幸的, Linux 核心对 UFS 的支援有问题. 当你试著去架构 UFS 档案系统时,

只会得到一些错误讯息(档案系统事实上已经被架上去了, 但你却不能读到任何东

西). 所幸 Linux 2.0.xx 核心 (xx<30) 有一个新 (ALPHA) 版本的 UFS 档案系

统支援, 在 [7]SunSite. 这被称为 U2FS, 而目前的版本是

u2fs-0.4.3.tar.gz. U2FS 是用下列的方式来安装(假设u2fs-0.4.3.tar.gz 是存

放在/usr/src):

 

cd /usr/src

tar xvzf u2fs-0.4.3.tar.gz

patch -p0 -E < u2fs-0.4.3.patch

Linux 2.0.31 或更新的核心(u2fs-0.4.4.tar.gz), 与最新的 2.1.xx 核心适用

的 U2FS版本, 可以在 [8]这个网站 找到. 现在你必须重新建立支援 U2FS 档案

系统 和 BSD disklabel 的核心. 参考 [9]安装和准备 Linux 来得到更多的资

料. 当使用U2FS时, 你可以忽略核心的 UFS 档案系统 支援. 当完成新的核心安

装後, 你可以使用如下列的指令来架构你的 UFS 档案系统(所有在 FreeBSD

slice 中的切割, 除了 swap 切割.

 

mount -t u2fs /dev/hda8 /mnt

这个 UFS 支援是唯读的. 那即是你可以自UFS 档案系统中读取,但你不能对其作

写入.

 

5.2 在 FreeBSD上架构 ext2fs 档案系统

要在 FreeBSD 中架构 ext2fs 档案系统, 你要先建立一个支援 ext2f 的核心.

请参照 FreeBSD 的文件来明白如何进行. 放这几行

 

options "EXT2FS"

在你新核心的设定档中. 在完成使用新的核心来开机後, 你可以用下列这几行来

架构你的 ext2fs 档案系统

 

mount -t ext2fs /dev/wd0s3 /mnt

注意: 你不能把 ext2fs 档案系统架构在 FreeBSD 的延伸切割中.

 

基於 FreeBSD 的某些错误, 你必须在关闭 FreeBSD 前卸下所有的 ext2fs 档案

系统. 如果你在有 ext2fs 档案系统未卸下前就关闭 FreeBSD, FreeBSD 便不能

sync UFS 档案系统. 这会导致FreeBSD下次启动时 fsck 被执行. 这个错误据报

告说已在``-current" 发展树中被修正.

 

6. 执行外来的执行档

6.1 在 Linux 下执行 FreeSBD 的执行档

iBCS package 有提供在 Linux 下执行 FreeBSD 执行档的支援; 但它已太老旧且

没有人维护. 我不能成功让它动作. 如果你幸运地叫它动起来, 请你告诉我.

 

6.2 在 FreeBSD 下执行 Linux 的执行档

FreeBSD 有能力来执行 Linux 的执行档, 包括 a.out 和ELF 型式. 要这麽做,

你必须要采取下列三个步骤:

1. 你必须开启与 Linux 相容的机制. 要这麽做 (in FreeBSD 2.2.2 --- 其他

版本的细节可能不同) 你要修改你的/etc/rc.conf 档案, 并修改

 

linux_enable="NO"


 

linux_enable="YES"

2. 你必须安装 Linux 共享的程式库. 它们在 FreeBSD 2.2.2 中被包含成为

packagelinux_lib-2.4.tgz (更新的版本可能已经出来了.) 执行这个命令

 

pkg_add <path_to_package>/linux_lib-2.4.tgz

来安装这个package. <path_to_package> 是这个package存放的目录.

3. 安装你要执行的 Linux 程式. 这些程式可任意安装在 UFS 或 ext2fs 档案

系统中. 看章节 [10]在 FreeBSD 上架构 ext2fs 档案系统 来获取在

FreeBSD 中使用 ext2fs 档案系统的更多资讯.

 

我已成功地使用这些方法在 FreeBSD 2.2.2 执行 Linux 版的 Applixware 4.3

和 Netscape 3.01 (两个都是 ELF 格式), (是的, 我知道有 FreeBSD 版的

Netscape 4.) 读 FreeBSD 的文件来了解有关这个主题.

 

7. 参考文献於其他有趣的文件

最新版的这份 mini-HOWTO 能够在 [11]我的 homepage 中找著, 有数种格式 (包

括 SGML 与 PostScript.) 这份文件已被 Mr. Teruyoshi Fujiwara 翻译成日

文, 成为 [12]JF project 的一部份.

 

FreeBSD 手册与 FreeBSD FAQ 被与 FreeBSD 一起散发. 它们也可以在

[13]FreeBSD Inc. 中被找著. 这个网站也有很多关於 FreeBSD 的其他资讯.

 

Linux Kernel HOWTO 被散发成为 [14]The Linux Documentation Project 的一

部份.

 

8. 感谢和版权

感谢 [15]*BSD 丹麦使用者群成员的回答一位 FreeBSD 新手的问题, 也感谢

Mr. Takeshi Okazaki 让我注意到U2FS 的存在.

 

8.1 Disclaimer

虽然这文件内容所提供的讯息是被相信正确的, 作者本人将不为文件中的内容负

责. 请自己承担使用这些技巧和□例的风险.

 

8.2 Copyright

Copyright (c) 1997, 1998 by Niels Kristian Bech Jensen. This document

may be distributed only subject to the terms and conditions set forth

in [16]the LDP license. 版权 Copyright (c) 1997, 1998 by Niels

Kristian Bech Jensen. 这份文件只可在遵守 [17]the LDP license 的条文和条

件下被散发.

References

1. mailto:nkbj@image.dk

2. http://www.geocities.com/ResearchTriangle/7856/

3. mailto:tjhuang@technologist.com

4. http://www.freebsd.org/

5. http://www.cdrom.com/

6. file://localhost/tmp/bg5sgmltools.23996/Linux+FreeBSD.txt.html#installlinux

7. ftp://sunsite.unc.edu/pub/Linux/ALPHA/ufs/

8. http://www.image.dk/~nkbj/u2fs/

9. file://localhost/tmp/bg5sgmltools.23996/Linux+FreeBSD.txt.html#installlinux

10. file://localhost/tmp/bg5sgmltools.23996/Linux+FreeBSD.txt.html#ext2fs

11. http://www.image.dk/~nkbj/

12. ftp://jf.linux.or.jp/pub/JF/other-formats/

13. http://www.freebsd.org/

14. http://sunsite.unc.edu/LDP/

15. http://hotel.prosa.dk/bsd-dk/

16. http://sunsite.unc.edu/LDP/LICENSE.html

17. http://sunsite.unc.edu/LDP/LICENSE.html

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -