Linux中国 Linux中国门户站!
设为主页 设为主页
收藏本站 收藏本站
 
当前位置 :首页 ->Linux技术 ->内核研究 ->正文

制作软盘上运行的FreeBSD系统

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

bsd# ln -s ./crunch1 reboot
bsd# ln -s ./crunch1 sysctl
bsd# ln -s ./crunch1 ifconfig
bsd# ln -s ./crunch1 route
bsd# ln -s ./crunch1 ping
bsd# ln -s ./crunch1 dmesg
bsd# cd /mnt/bin
bsd# ln -s ../sbin/crunch1 sh                            # sh必须在/mnt/bin目录中
bsd# ln -s ../sbin/crunch1 hostname
bsd# ln -s ../sbin/crunch1 cp
bsd# ln -s ../sbin/crunch1 rm
bsd# ln -s ../sbin/crunch1 ls
bsd# ln -s ../sbin/crunch1 cat
bsd# ln -s ../sbin/crunch1 test
bsd# ln -s ../sbin/crunch1 mkdir
bsd# ln -s ../sbin/crunch1 less
bsd# ln -s ../sbin/crunch1 uname
bsd# ln -s ../sbin/crunch1 more
6、编写启动脚本
因为我们的系统只是为了测试在软盘上运行FreeBSD,因而这里的启动脚本非常简单只是让系统可以工作,没有做其它的工作,其内容如下:
#!/bin/sh
# Floppy BSD init script

PATH=/sbin:/bin
HOME=/
export PATH HOME

echo
echo "Hello, it's my Floppy BSD"
echo

# 因为没有使用登录验证,所以这里只是简单的一直运行shell
while : ; do
/bin/sh
done

7、建立设备文件
现在需要建立一些基本的设备文件,我们使用/dev/MAKEDEV来完成这些操作:

bsd# cd /mnt/dev
bsd# cp /dev/MAKEDEV .
bsd#./MAKEDEV std # 建立标准设备
bsd# rm MAKEDEV

8、最后工作
到目前为止,我们的启动部分,Kernel和内存磁盘都已经准备好了,下面就开始整合它们了。
因为init启动的时候会查找login class中的daemon这个类别,如果没有则会出现错误提示,为了使init不报错,我们还需要复制/etc/login.conf到/mnt/etc中:

bsd# cp /etc/login.conf /mnt/etc/login.conf
因为loader支持直接加载gzip压缩格式的文件,这为我们节约磁空提供了方便,同时也解决了我们空间不够的问题,现在压缩kernel和内存磁盘bsd:
bsd# cd /root
bsd# cp /sys/compile/MINI/kernel .
bsd# gzip -9 kernel                                                # 使用最大压缩率,将生成文件kernel.gz
bsd# umount /mnt
bsd# gzip -9 bsd                                                    # 使用最大压缩率,将生成文件bsd.gz
然后编辑loader的配制文件:
bsd# cd /fd/boot
bsd# vi loader.rc
输入:
load kernel
load -t mfs_root bsd                                    # 表示将bsd.gz以md的方式加载,并且成为root device
存盘退出,将kernel.gz和bsd.gz复制到软盘中:
bsd# cd /root
bsd# cp kernel.gz /fd
bsd# cp bsd.gz /fd
bsd# umount /fd

现在用你的这张软盘就可以启动你的机器,如果一切正常的话,你将看到"Hello, it's my Floppy BSD"的提示,并且看到可爱的shell符"#"了,是不是很有满足感呢?:)
到此为止一个基本的BSD系统已经完成了,如果你想继续扩展Floppy BSD的功能,那就按照上面的方法自己做吧!
同时我在CNFUG(China FreeBSD User Group, http://www.cnfug.org)维护着一个Floppy Firewall(http://www.cnfug.org/project/ffw/)的Project,就是利用这种方法制作的一个在软盘上运行的防火墙系统,你可以用来做参考。

按照本文的步骤,我制作了一个例子,大家可以到这里下载:http://www.cnfug.org/tmp/flp-bsd.bin 使用方法请参照Floppy Firewall的使用方法

这几天太累了,我现在得去睡觉了。

原文链接:http://cnfug.org/journal/systems/2004/000010.html



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



上一篇:FreeBSD光盘运行版的制作过程   下一篇:在FreeBSD4.x中制作启动菜单

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