1) 需要的工具Redhat9.0、VMware虚拟机,选择用grub作loader
2) 制作ramdisk
A) cd /usr/local && mkdir initrd
B) dd if=/dev/zero of=initrd.img bs=1024 count=4000
C) mke2fs -F -m 0 initrd.img
D) mount -o loop initrd.img initrd
E) cd initrd && mkdir -p bin boot lib/tls dev etc cdrom proc tmp
F) mknod dev/console c 5 1
G) mknod dev/hda b 3 0 && mknod dev/hdc b 22 0
Hi) vi linuxrc
#!/bin/bash
sh
vv) chmod 777 linuxrc
vvv) cp mkdir rm mount chroot bash 等文件拷贝到/bin下,拷贝对应的lib文件
vvvv) cd .. && umount initrd
2) 制作iso光盘
A) cd /var && mkdir iso
B) mkdir -p iso/bin iso/boot iso/boot/grub
C) cp /boot/vmlinuz-2.4.20-8 iso/boot/
D) vi iso/boot/grub/menu.lst
root (cd)
kernel /boot/vmlinuz-2.4.20-8 root=/dev/ram0 rw init=/linuxrc
initrd /boot/initrd.img
4) cp initrd.img iso/boot/
5) mkisofs -R -b stage2-eltrito -no-emul-boot -boot-load-size 4 /
-boot-info-table boot.iso iso
6) 用vmware启动boot.sio
如果想用cdrom作根,
A) 制作ramdisk时,创建cdrom设备(假设cdrom挂在第二个IDE线上) mknod dev/hdc b 22 0
B) 改写linuxrc:
#!/bin/bash
mount -t iso9660 /dev/hdc /cdrom 挂载光驱到/cdrom
cd cdrom && sbin/povid_root . initrd 把当前根放在/cdrom/initrd下,把/cdrom作为根
chroot . sh </dev/console >/dev/console 2<&1
sh