[linux-lvm] booting with lvm
Rolf Jakob
rjakob at duffy1.franken.de
Sat Feb 27 19:45:53 UTC 1999
Hello,
In this mailing list I've read, it should be possible to boot
linux with an initrd off a lv, but it failed here. What is wrong ?
I try to boot Linux 2.2.1 with lvm and devfs patch using initrd
(LVM 0.5alpha).
The PC is a 486/100 VLB with two SCSI adapters (aic7xxx) and 5 disks.
What I have done :
I installed SuSE Linux 6.0 on the first SCSI disk and installed lilo
in the MBR (see below). This one is bootable and serves as a rescue system.
Disk 3 and 4 are part of the volume group "rootvg" with the lv "lvol2".
This lv contains a copy of the SuSE installation. (There is another lv
"bootlv" I tried to use for the kernel image and the initrd, but lilo
does not accept ramdisk images on a lv.)
Another normal partition on disk 1 contains the kernel and a ramdisk
image for initrd.
This looks like :
empty directories "dev", "etc" and "mnt"
a "lib" with all needed modules
a "bin" and "sbin" with statically linked binaries (cp,ls,rm,sh,insmod,
rmmod,modprobe,mount,umount,vgscan,vgchange)
a linuxrc script :
#!/bin/sh
#/sbin/mount -t devfs none /dev
/sbin/modprobe lvm
#/sbin/modprobe ide-disk
#/sbin/modprobe sd
/sbin/vgscan
/sbin/vgchange -a y
echo "Content of rootvg :"
/bin/ls -l /dev/rootvg
echo "Copy LVM data to root volume"
/sbin/mount /dev/rootvg/lvol2 /mnt && \
/bin/cp -a /etc/lvm* /mnt/etc/
/sbin/umount /mnt
The ramdisk image is created using a file and the loop mount command,
compressed with gzip and named ramdisk.image.gz.
The file systems plus a devfs are mounted on the rescue file system under
/ro, so that it looks like :
/dev/sd/c1b0t0u0p1 on / type ext2 (rw)
proc on /proc type proc (rw)
/dev/rootvg/lvol2 on /ro type ext2 (rw)
/dev/sd/c1b0t0u0p2 on /ro/boot type ext2 (rw)
none on /ro/dev type devfs (rw)
On the root file system I want to use (/dev/rootvg/lvol2, currently
under /ro) I created the following /etc/lilo.conf :
# LILO Konfigurations-Datei
boot=/dev/sd/c1b0t0u0
compact # faster, but won't work on all systems.
read-only
prompt
timeout=100
vga = normal # force sane state
#
# Linux on lv
image=/boot/zImage.i
initrd=/boot/ramdisk.image.gz
append="devfs=nocompat root=/dev/rootvg/lvol2"
root = /dev/rootvg/lvol2
label = i
#
# rescue system
image = /boot/zImage
append="devfs=nocompat root=/dev/sd/c1b0t0u0p1"
root = /dev/sd/c1b0t0u0p1
label = l
#
I installed lilo using lilo -r /ro and rebooted.
The script linuxrc is working fine, but as soon as the kernel tries to
mount the root file system after linuxrc exits, the following error is
displayed :
VFS: Cannot open root device "/dev/rootvg/lvol2" or 00:00
Please append a correct "root=" boot option.
Kernel Panic: VFS: Unable to mount root fs on 00:00
It seems the kernel cannot handle a lv as a root filesystem. Is there a
way to do that (yet) ?
Many thanks in advance,
Rolf
--
Rolf Jakob at home (rjakob at duffy1.franken.de)
WWW : http://www.franken.de/users/duffy1/rjakob
More information about the linux-lvm
mailing list