on trying to build a ramdisk with luks support genkernel says that it can not copy /sbin/cryptsetup to the initramfs temp directory. after that you cannot boot from encrypted harddisks solution is that in /usr/share/genkernel/gen_initramfs.sh is a spelling mistake in the function "append_luks()", the scipt trys th copy the cryptsetup binary to ${TEMP}/initramfs-aux-temp it sold be copyed to ${TEMP}/initramfs-luks-temp/ this patch fix the problem, it makes the nedded dirs and replace the spelling mistake. apply it to /usr/share/genkernel/gen_initramfs.sh 289,290d288 < mkdir -p "${TEMP}/initramfs-luks-temp/lib/bin" < mkdir -p "${TEMP}/initramfs-luks-temp/lib/sbin" 297,299c295,297 < rm -f "${TEMP}/initramfs-luks-temp/sbin/cryptsetup" < cp /bin/cryptsetup "${TEMP}/initramfs-luks-temp/sbin/cryptsetup" < chmod +x "${TEMP}/initramfs-luks-temp/sbin/cryptsetup" --- > rm -f ${TEMP}/initramfs-aux-temp/sbin/cryptsetup > cp /bin/cryptsetup ${TEMP}/initramfs-aux-temp/sbin/cryptsetup > chmod +x "${TEMP}/initramfs-aux-temp/sbin/cryptsetup" 303,305c301,303 < rm -f "${TEMP}/initramfs-luks-temp/sbin/cryptsetup" < cp /sbin/cryptsetup "${TEMP}/initramfs-luks-temp/sbin/cryptsetup" < chmod +x "${TEMP}/initramfs-luks-temp/sbin/cryptsetup" --- > rm -f ${TEMP}/initramfs-aux-temp/sbin/cryptsetup > cp /sbin/cryptsetup ${TEMP}/initramfs-aux-temp/sbin/cryptsetup > chmod +x "${TEMP}/initramfs-aux-temp/sbin/cryptsetup" Reproducible: Always Steps to Reproduce: 1.genkernel --luks ramdisk 2. 3. Actual Results: ... * >> Appending luks cpio data... * Including LUKS support cp: reguläre Datei „/var/tmp/genkernel/11374.21685.21961.31900/initramfs-aux-temp/sbin/cryptsetup“ kann nicht angelegt werden: Datei oder Verzeichnis nicht gefunden chmod: Zugriff auf „/var/tmp/genkernel/11374.21685.21961.31900/initramfs-aux-temp/sbin/cryptsetup“ nicht möglich: Datei oder Verzeichnis nicht gefunden * >> Appending modules cpio data... ...
Whoops. Fixed in git.
*** Bug 250825 has been marked as a duplicate of this bug. ***
(In reply to comment #0) > this patch fix the problem, it makes the nedded dirs and replace the spelling > mistake. > apply it to /usr/share/genkernel/gen_initramfs.sh > > 289,290d288 > < mkdir -p "${TEMP}/initramfs-luks-temp/lib/bin" > < mkdir -p "${TEMP}/initramfs-luks-temp/lib/sbin" Actually we need the directory "${TEMP}/initramfs-luks-temp/sbin" to be created here, since we copy the cryptsetup binary into it a few lines below. Just another typo, I guess.
Fixed
How about this version is either removed from portage or masked, since it's pretty obviously broken? Nothing wastes my time like booting to a new kernel only to find the initrd was built with a documented-broken tool and can't decrypt the root filesystem. Yes, ~arch should expect problems, but not persistent, documented brokenness.
I just wanted to try out Linus' Christmas present - but failed :| It would be very nice if a new/working version of genkernel would be present in portage soon, because I think many people will stumble upon this issue the next days when they have free time to compile a new kernel. btw: Happy holidays and merry grinding!
*** Bug 252684 has been marked as a duplicate of this bug. ***
*** Bug 253446 has been marked as a duplicate of this bug. ***
This version's now gone from the tree. If 3.4.10.903 solves this problem, this bug can probably be closed... 5:)
I usually wait until there's an *actual* release version that fixes the issue, but since it was an issue with a pre-release that's fixed in another pre-release, good enough for me...