有些問題請指點:
還境RH9
pivot_root /sysroot /sysroot/initrd
執行如上指令後,當下是否就切換到新的root filesystem中了? 若然最後一行的"umount /initrd/proc"就是umount原initrd中的proc了,對吧?
另外/sysroot/initrd中的initrd敍述應該是對應到,真正root filesystem中的/initrd目錄了,對吧?
另外關於mkrootdev的用途,man nash之後了解的是,若沒有指定kernel的root=參數就使用/proc/sys/kernel/real-root-dev的值,這個部份,我在一搬的partition上測試是沒問題的,但在LVM上似乎行不通? 設定如下:
kernel 開機設為root=/dev/vg00/rootreiserfs
linuxrc 內容如下:
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 lvm-mod.o module"
insmod /lib/lvm-mod.o
echo "Loading jbd.o module"
insmod /lib/jbd.o
echo "Loading ext3.o module"
insmod /lib/ext3.o
echo "Loading reiserfs.o module"
insmod /lib/reiserfs.o
echo Mounting /proc filesystem
mount -t proc /proc /proc
echo Creating block devices
mkdevices /dev
echo Scanning logical volumes
vgscan
echo Activating logical volumes
vgchange -ay
echo Creating root device
mkrootdev /dev/root
echo 0x0100 > /proc/sys/kernel/real-root-dev
echo Mounting root filesystem
#mount -o defaults --ro -t reiserfs /dev/vg00/rootreiserfs /sysroot
mount -o defaults --ro -t reiserfs /dev/root /sysroot
pivot_root /sysroot /sysroot/initrd
umount /initrd/proc
不過若將linuxrc中mount rootfilesystem的部份改成如下就可以:
mount -o defaults --ro -t reiserfs /dev/vg00/rootreiserfs /sysroot
但前提不能將echo 0x0100 > /proc/sys/kernel/real-root-dev給註解掉.
這個部份不知是不是我對mkrootdev的理解還有問題?
而我在標準RH9的LVM上,看它的linuxrc也是直接做指定,沒有用mkrootdev所產生的/dev/root,且也是有對/proc/sys/kernel/real-root-dev做指定.
望前輩們指點! ^^