Bugzilla – Bug 145928
Installation with root filesystem on LVM fails
Last modified: 2006-04-06 22:01:21 UTC
I have an existing installation with everything except /boot on LVM. When I tried to install Beta 2 over the existing system (format existing root filesystem, leave everything else as-is), installation failed in the "preparing harddisk" stage. (rough translation from german) "Error: The following action resulted in error: Formatting logical volume /dev/system/slash (8,0 GB) with reiserfs. System error code: -3030" Y2logs say the following: "INFO libstorage - Volume.cc(checkDevice): 868 checkDevice:/dev/system/slash ret:-3030" Will attach y2logs in a second.
Interesting thing: /dev/system/slash indeed doesn't exist at that stage.
Created attachment 65290 [details] y2logs
It seems the installer forgets to run "vgchange -a y" before foratting the disk. When I run "vgchange -a y" manually, I can install perfectly, until the bootloader is about to be installed. Then another bug bites: /boot is mounted before / and is invisible because of that.
After working around the problems mentioned above, the installer does install the bootloader correctly, but doesn't unmount all partitions/volumes (notably, it forgets to umount /mnt/sys ) and thus deactivating the logical volumes fails. After working around that bug, the first stage of the installation is ok. After reboot, I'm faced with the error message "not found -- exiting to /bin/sh". The kernel can't find its root filesystem because the vgchange binary isn't in the initrd. Not sure how to work around that problem.
And mkinitrd has a VERY subtle bug where a file from /proc is read in the following way: while read a b; do // something done </proc/devices That fails (actually, only the first ew bytes will be read) because the file is on /proc! Never assume files in /proc can be handled the normal way. You need cat ro read them completely. After fixing that bug in my local sources, at least mkinitrd recognized it had a root filesystem on LVM. However, it included everything ecxept dmsetup in the initrd, so the boot failed again.
Hannes: Please see comment #5 for a small mkinitrd bug.
To reproduce the mkinitrd problem, try this script. It will only show you the first 2 lines of /proc/devices. Since /proc/devices is has listed 0 bytes as size, it is debatable whether that is an ash bug. #!/bin/ash while read a; do echo $a done </proc/devices
Sorry for mixing 2 bugs in one. The mkinitrd story is now in bug #146095.
Fixed up mkinitrd to use 'cat ... | sed ... | tail' instead of the while read shell construct.
The funcion "import existing fstab" had the side effect of disabling active LVM LVs. This should be fixed in beta#3. If possible it would be helpful if you could retry the exact same installation with beta#3.
Thanks, will try the exact same installation once Beta3 is available.
*** Bug 163951 has been marked as a duplicate of this bug. ***
The problem has reoccured, reopening, look at bug #163951.
I strongly doubt #163951 is a duplicate of this one.