Bug#357332: initramfs-tools: Doesn't boot from /dev/hdb1 (minor >= 0x10) (patch)
Package: initramfs-tools
Version: 0.55b
Severity: important
Tags: patch
Symptoms:
---------
- System doesn't boot, complaining
Target filesystem doesn't have /sbin/init
(or wherever you init is supposed to be)
- / (the root-fs) is on e.g. /dev/hdb1
or any other partition where the minor is >= 0x10
Reason:
-------
Bug in parse_numeric() in
/usr/share/initramfs-tools/scripts/functions
when matching the last option, "*)".
The code in question is:
minor=$((0x${1#??}))
major=$((0x${1%??}))
If given 301 (/dev/hda1), the bug doen't manifest, but on 341
(/dev/hdb1) $minor will mistakenly return 1 instead of 65 ---
there's just one '?' too many there.
Probable patch:
---------------
diff -Nur initramfs-tools-0.55b.old/scripts/functions initramfs-tools-0.55b/scripts/functions
--- initramfs-tools-0.55b/scripts/functions 2006-02-20 23:40:01.000000000 +0100
+++ initramfs-tools-0.55b/scripts/functions 2006-03-16 20:00:16.000000000 +0100
@@ -202,7 +202,7 @@
major=${1%:*}
;;
*)
- minor=$((0x${1#??}))
+ minor=$((0x${1#?}))
major=$((0x${1%??}))
;;
esac
-- System Information:
Debian Release: testing/unstable
APT prefers unstable
APT policy: (990, 'unstable'), (101, 'testing'), (99, 'stable')
Architecture: i386 (i686)
Shell: /bin/sh linked to /bin/bash
Kernel: Linux 2.4.28-lvm
Locale: LANG=de_DE@euro, LC_CTYPE=de_DE@euro (charmap=ISO-8859-15)
Versions of packages initramfs-tools depends on:
ii busybox 1:1.01-4 Tiny utilities for small and embed
ii cpio 2.6-11 GNU cpio -- a program to manage ar
ii klibc-utils 1.2.4-1 small statically-linked utilities
ii udev 0.087-2 /dev/ and hotplug management daemo
initramfs-tools recommends no packages.
-- no debconf information
Reply to: