信息化
新闻日历
图片新闻
Meat Card:饿了就吃点你的名片吧(图)
你的名片够特别吗?可以吃吗?Meat Cards是100%的牛肉...
2009/05/31
Q-Sound太阳能蓝牙耳机 你准备好迎接了吗(图)
所有为了环保节能尽份心力的产品都都值得嘉许,更何况...
2009/05/31
科学家将公布证明黑洞存在照片 揭秘神秘阴影(图)
美国一个研究小组日前表示,他们有望在未来几个月公布...
2009/05/31
地球磁气圈是"汪洋大盗" 偷走大气层气体
科学家通常认为对地球具有防护屏作用的磁气圈能够保护...
2009/05/31
分析评论
惠普让计算器在iPhone、Windows重生(图)
这项要价14.99美元的应用程序还可搭配一个29.99美元的...
2009/06/30
投资者看好没有乔布斯的苹果
自苹果CEO史蒂夫-乔布斯休病假以来,苹果股价已经上涨...
2009/06/22

教你制作软盘上运行的FreeBSD系统 (4)




作者: 赛迪网技术社区 赛迪网技术社区
CNETNews.com.cn
2008-05-05 20:38:17
关键词: 制作 FreeBSD 软盘 Linux

5、建立内存磁盘

大家可以看到crunch1加上我们刚才编译的内核和loader程序,已经超出了软盘的容量,同时为了加速程序的运行我们需要使用MD(内存磁盘)来解决这个问题,MD将作为系统的根文件系统和用来存放系统程序。对于内存磁盘的大小一般不易太大,因为这样会占用过多的内存,下面我们就以建立一个3M的内存磁盘为例说明如何建立内存磁盘:

bsd# cd /root
bsd# dd if=/dev/zero of=bsd bs=1k count=3072        # 生成一个3M的文件,用来做MD
bsd# vnconfig -c -s labels vn0c bsd                    
 # 使用bsd来创建一个vn设置,以便在其中存放程序
bsd# disklabel -w -r vn0c auto                     # 建立disklabel
bsd# disklabel -B vn0c                            # 安装启动代码
bsd# newfs vn0c # 创建UFS文件系统
bsd# mount /dev/vn0c /mnt # 将vn0c即bsd mount到/mnt

接下来要做的就是建立目录结构,具体建立哪些目录这要视需要决定,本例中需要建立如下目录:

bsd# mkdir /mnt/etc
bsd# mkdir /mnt/sbin
bsd# mkdir /mnt/bin
bsd# mkdir /mnt/dev

然后将crunch1复制到/mnt/sbin中,再将刚才编译进crunch1中的那些命令分别做上symbol link:

bsd# cp /usr/src/release/picobsd/custom/crunch1/crunch1 /mnt/sbin
bsd# cd /mnt/sbin
bsd# ln -s ./crunch1 init                      # init必须在/mnt/sbin目录中
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

用户评论

  • 用户名
  • 评论内容