一:制作可以啟動的映象文件
1:dd if=/dev/zero of=/mnt/image bs=1k count=50k
用dd命令生成一個文件,名為image,大小為5M。
2:mdconfig -a -t vnode -f image -u 0
建立一個用image為映象的ramdisk,設備為/dev/md0
-a 增加一個ramdisk
-t 代表ramdisk的類型
-f 代表用來作ramdisk的映象文件
-u 為ramdisk的設備號
3:disklabel -Bw /dev/md0
B 安裝啟動程序到ramdisk的啟動標簽。
w 用已有的啟動程序寫標簽。(bsd分區)
4:newfs /dev/md0a
為a分區建立UFS文件系統。
5:mount /dev/md0a /mnt/ram
將md0a設備裝載到/mnt/ram目錄
6:拷貝啟動一個bsd系統需要的文件到/mnt/ram:
包括/boot /etc /bin /sbin /dev /lib /libexec /root 等等。
為了方便檢查可
ln -s bin sbin
ln -s bin usr/bin
ln -s bin usr/sbin
ln -s lib usr/lib
ln -s libexec usr/libexec
等等。
為了節約磁盤空間。/usr/lib可根據需要的程序拷貝。例如:sshd
ldd /usr/sbin/sshd命令可以列出sshd需要的lib文件,只拷貝需要的文件。
內核最好從新編譯,只保留需要的設備。
然後用kgzip /boot/kernel/kernel壓縮。
mv /boot/kernel/kernel.kgz /boot/kernel/kernel
修改/etc/fstab
刪除不需要的部分(基本上都不需要)
加入
/dev/md0a / ufs rw 0 0
注意後面一定用0 0.否則rc過不了。因為fsck -p不能用到ramdsk上面。
7:cd /mnt
umount ram
卸載ramdisk
壓縮image
gzip -9 image