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的使用方法。
共5页: 上一页 [1] [2] [3] [4] 5 下一页
|