Created attachment 319046 [details] patch for defaults/initrd.scripts In an initramfs built with genkernel-3.4.39, init doesn't mount devtmpfs even though it's enabled in the kernel and hasn't been mounted before. This becomes obvious when init tries to to move /dev to the real root. Since nothing is mounted on /dev, first mount --move $fs "${CHROOT}"$fs and then umount $fs || echo '*: Failed to move and unmount the ramdisk $fs!' fail: mount: mounting /dev on /newroot/dev failed: Invalid argument umount: can't umount /dev: Invalid argument *: Failed to move and unmount the ramdisk $fs! The attached patch solves the problem for me.
why should it have to be "confirmed" ? the patch shows it, the code in 3.4.39 initrd scripts can't work if one messes up grep return codes.
Same thing here with any kernel/initramfs built with this version of genkernel.
Maybe I have the same issue. I can't boot with the initramfs created by genkernel-3.4.39, because my logical volumes are not recognized. The screen shot on the left side of the attached picture (linux-3.5.0) shows that the volume groups are not found. The screen shot on the right (linux-3.4.4) shows the expected behaviour 11 logical volumes are found. With linux-3.4.5 I have the problem as with linux-3.5.0. I have the same grub options for all kernels: root@moose:/root(8)# grep -C2 genkernel-x86_64-3.[45] /boot/grub/grub.conf title genkernel-x86_64-3.4.3-gentoo with initrd domdadm dolvm #root (hd0,2) kernel (hd0,0)/kernel-genkernel-x86_64-3.4.3-gentoo real_root=/dev/md126 domdadm dolvm initrd (hd0,0)/initramfs-genkernel-x86_64-3.4.3-gentoo rd.info title genkernel-x86_64-3.4.4-gentoo with initrd domdadm dolvm #root (hd0,2) kernel (hd0,0)/kernel-genkernel-x86_64-3.4.4-gentoo real_root=/dev/md126 domdadm dolvm initrd (hd0,0)/initramfs-genkernel-x86_64-3.4.4-gentoo rd.info title genkernel-x86_64-3.4.5-gentoo with initrd domdadm dolvm #root (hd0,2) kernel (hd0,0)/kernel-genkernel-x86_64-3.4.5-gentoo real_root=/dev/md126 domdadm dolvm initrd (hd0,0)/initramfs-genkernel-x86_64-3.4.5-gentoo rd.info title genkernel-x86_64-3.5.0-gentoo with initrd domdadm dolvm #root (hd0,2) kernel (hd0,0)/kernel-genkernel-x86_64-3.5.0-gentoo real_root=/dev/md126 domdadm dolvm initrd (hd0,0)/initramfs-genkernel-x86_64-3.5.0-gentoo rd.info genkernel.conf was not changed longer than one month: root@moose:/root(9)# genlop -t genkernel | tail Mon Jul 9 11:53:05 2012 >>> sys-kernel/genkernel-3.4.37 merge time: 10 seconds. Tue Jul 10 15:28:31 2012 >>> sys-kernel/genkernel-3.4.38 merge time: 10 seconds. Wed Jul 25 14:14:19 2012 >>> sys-kernel/genkernel-3.4.39 merge time: 40 seconds. root@moose:/root(10)# ll /etc/genkernel.conf -rw-r--r-- 1 root root 8972 Jun 14 12:11 /etc/genkernel.conf
Created attachment 319402 [details] Screenshots of boot messages
The patch worked for me. After reemerging genkernel-3.4.39 with the patch I installed linux-3.4.5 and linux-3.5.0 again. And I am now able to boot with both linux versions. Thanks Dirk.
We rushed the 3.4.39 release process after I identified a Linux 3.5 change that would have broken the debug shell. During that time, a fix for an issue another developer reported to me slipped into the release, but it had some logical errors in it. I apologize for the inconvenience that this caused people. A new release will be done within 24 hours to resolve this issue.
Thanks for reporting and for sharing the patch! 3.4.40 is expect to fix the problem and it has just entered the Gentoo main tree. Please update to 3.4.40 and re-open the bug if necessary.