3 制作根文件系统
建立临时目录,该目录为软盘的文件系统
#mkdir //tmp/floppy-linux
将busybox下的_install目录下的文件复制过来:
#cp ./_install /tmp/floppy-linux –r
#cd /tmp/floppy-linux
# mkdir dev etc etc/init.d proc mnt tmp var
# chmod 755 dev etc etc/init.d bin mnt tmp var
# chmod 555 proc
# cd dev
# mknod tty c 5 0
# mknod console c 5 1
# chmod 666 tty console
# mknod tty0 c 4 0
# chmod 666 tty0
# mknod ram0 b 1 0
# chmod 600 ram0
# mknod fd0 b 2 0
# chmod 600 fd0
# mknod null c 1 3
# chmod 666 null
建启动配置文件:
/etc/inittab,
/etc/init.d/rcS,
/etc/fstab
/boot/grub.conf
/boot/menu.lst
其中
#ln –s grub.conf menu.lst
initab:
::sysinit:/etc/init.d/rcS
::askfirst:/bin/sh
rcS:
#!/bin/sh
mount –a
# chmod 755 rc.sysinit
fstab:
proc /proc proc defaults 0 0
grub.conf:
timeout 10
default 0
title FloppyLinux root (fd0) kernel /boot/bzImage initrd /initrd.img.gz
4 制作Ramdisk的镜像文件:
# dd if=/dev/zero of=/dev/ram1
dd: 正在写入 ‘/dev/ram1’: 设备上没有空间
读入了 8193+0 个块
输出了 8192+0 个块
#mke2fs -m0 /dev/ram1
#mkdir /mnt/ram
#mount /dev/ram1 /mnt/ram
将先前做好的floppylinux根文件系统拷贝到ram1上.
#cp -R /tmp/floppy-linux /* /mnt/ram
#umount /dev/ram1
# dd if=/dev/ram1 of=/tmp/floppy-linux /initrd.img
# file initrd.img
initrd.img: Linux rev 1.0 ext2 filesystem data
用loop设备来把他重新挂装到文件系统里:
# mount -o loop initrd.img /mnt/ram/
查看/mnt/ram下的内容,和/tmp/floppy-linux /下的一模一样
# ls /mnt/ram
bin dev etc lost+found mnt proc sbin tmp var
#umount /mnt/ram
压缩initrd.img印象文件
# gzip -v9 initrd.img
initrd.img: 90.1% -- replaced with initrd.img.gz
查看压缩后的大小:
# ls -lh initrd.img.gz
只有406K