ITEEDU

RedHat的initrd

下面是镜像中的linuxrc文件。

#!/bin/nash

echo "Loading scsi_mod.o module"
insmod /lib/scsi_mod.o 
echo "Loading sd_mod.o module"
insmod /lib/sd_mod.o 
echo "Loading BusLogic.o module"
insmod /lib/BusLogic.o 
echo "Loading jbd.o module"
insmod /lib/jbd.o 
echo "Loading ext3.o module"
insmod /lib/ext3.o 
echo Mounting /proc filesystem
mount -t proc /proc /proc
echo Creating block devices
mkdevices /dev
echo Creating root device
mkrootdev /dev/root
echo 0x0100 > /proc/sys/kernel/real-root-dev
echo Mounting root filesystem
mount -o defaults --ro -t ext3 /dev/root /sysroot
pivot_root /sysroot /sysroot/initrd
umount /initrd/proc

pivot_root是切换到真实系统的一个命令下面有详细讲述。下面是redhat镜像中的所有文件的结构:

│  linuxrc
│  
├─bin
│      insmod
│      nash
│      
└─lib
        BusLogic.o
        ext3.o
        jbd.o
        scsi_mod.o
        sd_mod.o