[Pkg-cryptsetup-devel] Bug#465812: linux-image-2.6.22-3-686: [Regression] LuKS passphrase not accepted anymore

Martin Ammermüller tenco at gmx.de
Fri Feb 15 19:14:54 UTC 2008


On Friday 15 February 2008 17:23:39 maximilian attems wrote:
> On Fri, 15 Feb 2008, Martin Ammermüller wrote:
> > Tried that for 2.6.22-3-686 and 2.6.24 with no effect. And I'm pretty
> > sure that i didn't enter the passphrase wrong :) (works still with
> > 2.6.22-2, did not try my luck with update-initramfs on this kernel-image,
> > though).
>
> well then it can only be a cryptetup bug of newer version.
> as newer cryptsetup land on both of those.

Looks like the keyboard-layout isn't set up correctly. I run etch installer 
with german keyboard layout. If I enter the passphrase like my keyboard had 
an english layout, it works with linux-image 2.6.24. I also did a diff of 
initrd.img from 2.6.22-2 and 2.6.22-3. /bin/kbd_mode as well as /bin/loadkeys 
are missing in initrd.img-2.6.22-3:

---------
Binary files 2.6.22-2/bin/cat and 2.6.22-3/bin/cat differ
Binary files 2.6.22-2/bin/chroot and 2.6.22-3/bin/chroot differ
Binary files 2.6.22-2/bin/cpio and 2.6.22-3/bin/cpio differ
Binary files 2.6.22-2/bin/dd and 2.6.22-3/bin/dd differ
Only in 2.6.22-3/bin: dmesg
Binary files 2.6.22-2/bin/false and 2.6.22-3/bin/false differ
Binary files 2.6.22-2/bin/fstype and 2.6.22-3/bin/fstype differ
Binary files 2.6.22-2/bin/gunzip and 2.6.22-3/bin/gunzip differ
Binary files 2.6.22-2/bin/halt and 2.6.22-3/bin/halt differ
Binary files 2.6.22-2/bin/insmod and 2.6.22-3/bin/insmod differ
Binary files 2.6.22-2/bin/ipconfig and 2.6.22-3/bin/ipconfig differ
Only in 2.6.22-2/bin: kbd_mode
Binary files 2.6.22-2/bin/kill and 2.6.22-3/bin/kill differ
Only in 2.6.22-2/bin: kinit.shared
Binary files 2.6.22-2/bin/ln and 2.6.22-3/bin/ln differ
Only in 2.6.22-2/bin: loadkeys
Binary files 2.6.22-2/bin/minips and 2.6.22-3/bin/minips differ
Binary files 2.6.22-2/bin/mkdir and 2.6.22-3/bin/mkdir differ
Binary files 2.6.22-2/bin/mkfifo and 2.6.22-3/bin/mkfifo differ
Binary files 2.6.22-2/bin/mknod and 2.6.22-3/bin/mknod differ
Binary files 2.6.22-2/bin/mount and 2.6.22-3/bin/mount differ
Binary files 2.6.22-2/bin/nfsmount and 2.6.22-3/bin/nfsmount differ
Binary files 2.6.22-2/bin/nuke and 2.6.22-3/bin/nuke differ
Binary files 2.6.22-2/bin/pivot_root and 2.6.22-3/bin/pivot_root differ
Binary files 2.6.22-2/bin/poweroff and 2.6.22-3/bin/poweroff differ
Binary files 2.6.22-2/bin/readlink and 2.6.22-3/bin/readlink differ
Binary files 2.6.22-2/bin/reboot and 2.6.22-3/bin/reboot differ
Binary files 2.6.22-2/bin/resume and 2.6.22-3/bin/resume differ
Binary files 2.6.22-2/bin/run-init and 2.6.22-3/bin/run-init differ
Binary files 2.6.22-2/bin/sh.shared and 2.6.22-3/bin/sh.shared differ
Binary files 2.6.22-2/bin/sleep and 2.6.22-3/bin/sleep differ
Only in 2.6.22-3/bin: sync
Binary files 2.6.22-2/bin/true and 2.6.22-3/bin/true differ
Binary files 2.6.22-2/bin/umount and 2.6.22-3/bin/umount differ
Binary files 2.6.22-2/bin/uname and 2.6.22-3/bin/uname differ
Binary files 2.6.22-2/bin/zcat and 2.6.22-3/bin/zcat differ
Only in 2.6.22-2/conf/conf.d: cryptsetup
Only in 2.6.22-2/etc: boottime.kmap.gz
diff -u -r 2.6.22-2/etc/modprobe.d/alsa-base 2.6.22-3/etc/modprobe.d/alsa-base
--- 2.6.22-2/etc/modprobe.d/alsa-base	2008-02-15 18:30:51.000000000 +0100
+++ 2.6.22-3/etc/modprobe.d/alsa-base	2008-02-15 18:31:09.000000000 +0100
@@ -167,8 +167,8 @@
 install snd-wavefront /sbin/modprobe --ignore-install snd-wavefront 
$CMDLINE_OPTS && /lib/alsa/modprobe-post-install snd-wavefront
 install snd-ymfpci /sbin/modprobe --ignore-install snd-ymfpci $CMDLINE_OPTS 
&& /lib/alsa/modprobe-post-install snd-ymfpci
 # Prevent abnormal drivers from grabbing index 0
-options snd-bt87x index=-2
-options snd-cx88_alsa index=-2
+options bt87x index=-2
+options cx88_alsa index=-2
 options snd-atiixp-modem index=-2
 options snd-intel8x0m index=-2
 options snd-via82xx-modem index=-2
Only in 2.6.22-3/etc/modprobe.d: options
diff -u -r 2.6.22-2/etc/modprobe.d/thinkpad_acpi.modprobe 
2.6.22-3/etc/modprobe.d/thinkpad_acpi.modprobe
--- 2.6.22-2/etc/modprobe.d/thinkpad_acpi.modprobe	2008-02-15 
18:30:51.000000000 +0100
+++ 2.6.22-3/etc/modprobe.d/thinkpad_acpi.modprobe	2008-02-15 
18:31:09.000000000 +0100
@@ -30,5 +30,5 @@
 
 # We pass a bit more in case there are more buttons. :-)
 
-options thinkpad_acpi hotkey=enable,0xffff8f experimental=1
+options thinkpad_acpi hotkey=enable,0xffffbf experimental=1
 
Only in 2.6.22-3/etc/udev: hal.rules
Only in 2.6.22-2/etc/udev: hal.rules.dpkg-new
Only in 2.6.22-3/etc/udev: libmtp7.rules
Only in 2.6.22-2/etc/udev: libsane.rules
Only in 2.6.22-2/etc/udev: logitechmouse.rules
Only in 2.6.22-2/etc/udev/rules.d: 025_libsane.rules
Only in 2.6.22-2/etc/udev/rules.d: 025_logitechmouse.rules
Only in 2.6.22-3/etc/udev/rules.d: 45-hplip.rules
Only in 2.6.22-3/etc/udev/rules.d: 55-hpmud.rules
Only in 2.6.22-3/etc/udev/rules.d: libmtp7.rules
diff -u -r 2.6.22-2/etc/udev/rules.d/z25_persistent-net.rules 
2.6.22-3/etc/udev/rules.d/z25_persistent-net.rules
--- 2.6.22-2/etc/udev/rules.d/z25_persistent-net.rules	2008-02-15 
18:30:51.000000000 +0100
+++ 2.6.22-3/etc/udev/rules.d/z25_persistent-net.rules	2008-02-15 
18:31:09.000000000 +0100
@@ -12,3 +12,6 @@
 
 # PCI device 0x1524:0x1410 (pcnet_cs)
 SUBSYSTEM=="net", DRIVERS=="?*", ATTRS{address}=="00:e0:98:9e:a7:16", 
NAME="eth2"
+
+# PCI device 0x168c:0x001a (ath_pci)
+SUBSYSTEM=="net", DRIVERS=="?*", ATTR{address}=="00:11:f5:f6:c5:2c", 
ATTR{type}=="1", NAME="ath0"
diff -u -r 2.6.22-2/etc/udev/rules.d/z60_libpisock9.rules 
2.6.22-3/etc/udev/rules.d/z60_libpisock9.rules
--- 2.6.22-2/etc/udev/rules.d/z60_libpisock9.rules	2008-02-15 
18:30:51.000000000 +0100
+++ 2.6.22-3/etc/udev/rules.d/z60_libpisock9.rules	2008-02-15 
18:31:09.000000000 +0100
@@ -1,3 +1,5 @@
+# $Id: 60-libpisock.rules,v 1.4 2007/02/16 18:26:41 desrod Exp $
+#
 # udev rules file for pilot-link's libpisock library, enabled for libusb
 #
 SUBSYSTEMS!="usb", ACTION!="add", GOTO="libpisock_rules_end"
Only in 2.6.22-3/etc/udev/rules.d: z60_libsane-extras.rules
Only in 2.6.22-3/etc/udev/rules.d: z60_libsane.rules
Only in 2.6.22-3/etc/udev/rules.d: z99_hal.rules
diff -u -r 2.6.22-2/init 2.6.22-3/init
--- 2.6.22-2/init	2008-02-15 18:30:51.000000000 +0100
+++ 2.6.22-3/init	2008-02-15 18:31:09.000000000 +0100
@@ -32,8 +32,8 @@
 
 # Bring in the main config
 . /conf/initramfs.conf
-for i in conf/conf.d/*; do
-	[ -f ${i} ] && . ${i}
+for conf in conf/conf.d/*; do
+	[ -f ${conf} ] && . ${conf}
 done
 . /scripts/functions
 
@@ -67,7 +67,7 @@
 			ROOT="/dev/disk/by-uuid/${ROOT#UUID=}"
 			;;
 		/dev/nfs)
-			BOOT=nfs
+			[ -z "${BOOT}" ] && BOOT=nfs
 			;;
 		esac
 		;;
@@ -98,7 +98,7 @@
 		RESUME="${x#resume=}"
 		;;
 	noresume)
-		NORESUME=y
+		noresume=y
 		;;
 	panic=*)
 		panic="${x#panic=}"
@@ -119,11 +119,13 @@
 		;;
 	debug)
 		debug=y
+		quiet=n
 		exec >/tmp/initramfs.debug 2>&1
 		set -x
 		;;
 	debug=*)
 		debug=y
+		quiet=n
 		set -x
 		;;
 	break=*)
@@ -138,8 +140,10 @@
 	esac
 done
 
-if [ -z "${NORESUME}" ]; then
+if [ -z "${noresume}" ]; then
 	export resume=${RESUME}
+else
+	export noresume
 fi
 
 depmod -a
@@ -174,9 +178,26 @@
 mount -n -o move /sys ${rootmnt}/sys
 mount -n -o move /proc ${rootmnt}/proc
 
-while [ ! -x ${rootmnt}${init} ]; do
-	panic "Target filesystem doesn't have ${init}"
-done
+# Check init bootarg
+if [ -n "${init}" ] && [ ! -x "${rootmnt}${init}" ]; then
+	echo "Target filesystem doesn't have ${init}."
+	init=
+fi
+
+# Search for valid init
+if [ -z "${init}" ] ; then
+	for init in /sbin/init /etc/init /bin/init /bin/sh; do
+		if [ ! -x "${rootmnt}${init}" ]; then
+			continue
+		fi
+		break
+	done
+fi
+
+# No init on rootmount
+if [ ! -x "${rootmnt}${init}" ]; then
+	panic "No init found. Try passing init= bootarg."
+fi
 
 # Confuses /etc/init.d/rc
 if [ -n ${debug} ]; then
@@ -186,3 +207,4 @@
 # Chain to real filesystem
 maybe_break init
 exec run-init ${rootmnt} ${init} "$@" <${rootmnt}/dev/console 
>${rootmnt}/dev/console
+panic "Could not execute run-init."
Only in 2.6.22-3/lib: klibc-B9LS-Gjx2D7BYcbQig0RlgHKO9Y.so
Only in 2.6.22-2/lib: klibc-lASvnk07aNkfPyCauZ-jxAx49Jk.so
Binary files 2.6.22-2/lib/ld-linux.so.2 and 2.6.22-3/lib/ld-linux.so.2 differ
Binary files 2.6.22-2/lib/libc.so.6 and 2.6.22-3/lib/libc.so.6 differ
Only in 2.6.22-2/lib: libcfont.so.0
Only in 2.6.22-2/lib: libconsole.so.0
Binary files 2.6.22-2/lib/libcrypt.so.1 and 2.6.22-3/lib/libcrypt.so.1 differ
Only in 2.6.22-2/lib: libctutils.so.0
Binary files 2.6.22-2/lib/libdevmapper.so.1.02.1 and 
2.6.22-3/lib/libdevmapper.so.1.02.1 differ
Binary files 2.6.22-2/lib/libdl.so.2 and 2.6.22-3/lib/libdl.so.2 differ
Binary files 2.6.22-2/lib/libm.so.6 and 2.6.22-3/lib/libm.so.6 differ
Binary files 2.6.22-2/lib/libncurses.so.5 and 2.6.22-3/lib/libncurses.so.5 
differ
Only in 2.6.22-2/lib: libpthread.so.0
Only in 2.6.22-2/lib: librt.so.1
Binary files 2.6.22-2/lib/libuuid.so.1 and 2.6.22-3/lib/libuuid.so.1 differ
Only in 2.6.22-2/lib/modules: 2.6.22-2-686
Only in 2.6.22-3/lib/modules: 2.6.22-3-686
Binary files 2.6.22-2/sbin/cryptsetup and 2.6.22-3/sbin/cryptsetup differ
Binary files 2.6.22-2/sbin/dmsetup and 2.6.22-3/sbin/dmsetup differ
Binary files 2.6.22-2/sbin/vgchange and 2.6.22-3/sbin/vgchange differ
diff -u -r 2.6.22-2/scripts/functions 2.6.22-3/scripts/functions
--- 2.6.22-2/scripts/functions	2008-02-15 18:30:51.000000000 +0100
+++ 2.6.22-3/scripts/functions	2008-02-15 18:31:09.000000000 +0100
@@ -270,3 +270,38 @@
 	chmod 600 /dev/root
 	ROOT=/dev/root
 }
+
+configure_networking()
+{
+	# support ip options see linux sources Documentation/nfsroot.txt
+	case ${IPOPTS} in
+	none|off)
+		# Do nothing
+		;;
+	""|on|any)
+		# Bring up device
+		ipconfig ${DEVICE}
+		;;
+	dhcp|bootp|rarp|both)
+		ipconfig -c ${IPOPTS} -d ${DEVICE}
+		;;
+	*)
+		ipconfig -d $IPOPTS
+
+		# grab device entry from ip option
+		NEW_DEVICE=${IPOPTS#*:*:*:*:*:*}
+		if [ "${NEW_DEVICE}" != "${IPOPTS}" ]; then
+			NEW_DEVICE=${NEW_DEVICE%:*}
+		else
+			# wrong parse, possibly only a partial string
+			NEW_DEVICE=
+		fi
+		if [ -n "${NEW_DEVICE}" ]; then
+			DEVICE="${NEW_DEVICE}"
+		fi
+		;;
+	esac
+
+	# source relevant ipconfig output
+	. /tmp/net-${DEVICE}.conf
+}
diff -u -r 2.6.22-2/scripts/init-top/framebuffer 
2.6.22-3/scripts/init-top/framebuffer
--- 2.6.22-2/scripts/init-top/framebuffer	2008-02-15 18:30:51.000000000 +0100
+++ 2.6.22-3/scripts/init-top/framebuffer	2008-02-15 18:31:09.000000000 +0100
@@ -88,7 +88,9 @@
 
 if [ -e /proc/fb ]; then
 	while read fbno desc; do
-		mknod /dev/fb${fbno} c 29 ${fbno}
+		if [ $(($fbno < 32)) ]; then
+			mknod /dev/fb${fbno} c 29 ${fbno}
+		fi
 	done < /proc/fb
 else
 	mknod /dev/fb0 c 29 0
diff -u -r 2.6.22-2/scripts/local 2.6.22-3/scripts/local
--- 2.6.22-2/scripts/local	2008-02-15 18:30:51.000000000 +0100
+++ 2.6.22-3/scripts/local	2008-02-15 18:31:09.000000000 +0100
@@ -101,7 +101,7 @@
 	run_scripts /scripts/local-premount
 	[ "$quiet" != "y" ] && log_end_msg
 
-	if [ ${readonly} = y ]; then
+	if [ "${readonly}" = "y" ]; then
 		roflag=-r
 	else
 		roflag=-w
diff -u -r 2.6.22-2/scripts/local-premount/resume 
2.6.22-3/scripts/local-premount/resume
--- 2.6.22-2/scripts/local-premount/resume	2008-02-15 18:30:51.000000000 +0100
+++ 2.6.22-3/scripts/local-premount/resume	2008-02-15 18:31:09.000000000 +0100
@@ -15,8 +15,8 @@
 	;;
 esac
 
-if [ "x${resume}" = "x" ]; then
-	exit
+if [ -z "${resume}" ]; then
+	exit 0
 fi
 
 case $resume in
@@ -29,7 +29,7 @@
 esac
 
 if [ ! -e "${resume}" ]; then
-	exit
+	exit 0
 fi
 
 if [ -e /sys/power/resume ]; then
Only in 2.6.22-2/scripts/local-top: udev_helper
diff -u -r 2.6.22-2/scripts/nfs 2.6.22-3/scripts/nfs
--- 2.6.22-2/scripts/nfs	2008-02-15 18:30:51.000000000 +0100
+++ 2.6.22-3/scripts/nfs	2008-02-15 18:31:09.000000000 +0100
@@ -4,40 +4,11 @@
 
 retry_nr=0
 
-# parse nfs bootargs + launch ipconfig and nfsmount
+# parse nfs bootargs and mount nfs 
 do_nfsmount()
 {
-	# support ip options see linux sources Documentation/nfsroot.txt
-	case ${IPOPTS} in
-		none|off)
-			# Do nothing
-			;;
-		""|on|any)
-			# Bring up device
-			ipconfig ${DEVICE}
-			;;
-		dhcp|bootp|rarp|both)
-			ipconfig -c ${IPOPTS} -d ${DEVICE}
-			;;
-		*)
-			ipconfig -d $IPOPTS
-
-			# grab device entry from ip option
-			NEW_DEVICE=${IPOPTS#*:*:*:*:*:*}
-			if [ "${NEW_DEVICE}" != "${IPOPTS}" ]; then
-				NEW_DEVICE=${NEW_DEVICE%:*}
-			else
-				# wrong parse, possibly only a partial string
-				NEW_DEVICE=
-			fi
-			if [ -n "${NEW_DEVICE}" ]; then
-				DEVICE="${NEW_DEVICE}"
-			fi
-			;;
-	esac
 
-	# source relevant ipconfig output
-	. /tmp/net-${DEVICE}.conf
+	configure_networking
 
 	# get nfs root from dhcp
 	if [ "x${NFSROOT}" = "xauto" ]; then
----------

HTH,
Martin





More information about the Pkg-cryptsetup-devel mailing list