制作LiveCD

时间:2021-04-03 02:32:53

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