--- Begin Message ---
- To: Debian Bug Tracking System <submit@bugs.debian.org>
- Subject: initramfs-tools: udev not copied to ramdisk as hookscript is skipped
- From: Philipp Sternberg <philipp.sternberg@gmx.de>
- Date: Mon, 21 Jul 2008 14:03:23 +0200
- Message-id: <20080721120323.8173.26293.reportbug@localhost>
Package: initramfs-tools
Version: 0.92e
Severity: important
Hi folks,
i ran into this after trying to install a 2.6.25.10-vanilla using make-kpkg. When I tried to boot the new kernel,
the system hung. It said /scripts/init-premount/udev : 17 : udevd : not found. Well the reason for that was very
simple: udevd was not copied into the kernel image:
Allright here is how one might reprduce it (at least that was how I ran into it):
1. unpack the kernel sources and configure the kernel.
--> After unpacking I did
cd /usr/src/linux-2.6.25.10
zcat /proc/config.gz > .config
make oldeconfig
make menuconfig
2. Create the kernelimage
make-kpkg clean && make-kpkg --initrd --append-to-version=-custom --rootcmd fakeroot \
kernel_image kernel_headers
3. Install the Kernel
dpkg -i /usr/src/linux-image-2.6.25.10-customy_2.6.25.10-customy-10.00.Custom_i386.deb
--> dpkg told me that the ramdisk was created
4.If I reboot now the above described problem happens.
5. To check if udevd was included in the image i unpacked the kernelimage into a directory and tried to find the
udevd binary:
mkdir /home/philipp/Desktop/initrd
cd /home/philipp/Desktop/initrd
zcat /boot/initrd.img-2.6.25.10-customy | cpio -i
find -name '*udev*'
--> which gave me just
./scripts/init-premount/udev
./scripts/init-bottom/udev
Unfortunately i was not able to see what really happend during the creation of the image so i ran:
update-initramfs -utv
which revealed that all the hook scripts were skipped with the message
/usr/share/initramfs-tools/hooks/whatever ignored: not alphanumeric or '_' file
Thus the udev hook script was skipped as well and no udevd-binary was copied.
I worked around this by temporarily changing line 77 of /usr/share/initramfs-tools/scripts/functions
from
*[![:alnum:]_]*
to ___
very very ugly, but however the line, which is in a section which figures out which scripts to exclude from
participation in the ramdisk-image creation process, more or less tells to exclude everything as far as i
interpreted the
glob expression (this *[![:alnum:]_]* string) correctly. Why is that so?
I'd guess it is a bug. Anyhow even if it isn't I would expect the freshly installed initramfs-tools scripts to
create a consistent ramdisk image.
Well that's it basically
Regards
Phil
-- Package-specific info:
-- /proc/cmdline
root=/dev/hda1 ro
-- /proc/filesystems
ext3
iso9660
udf
-- lsmod
Module Size Used by
ipv6 188264 8
cpufreq_powersave 1344 0
cpufreq_performance 1536 0
lp 7724 0
af_packet 13568 4
sbp2 16780 0
scsi_mod 77220 1 sbp2
arc4 1600 2
ecb 2432 2
crypto_blkcipher 13124 1 ecb
ath5k 81156 0
mac80211 104524 1 ath5k
cfg80211 13832 1 mac80211
joydev 7808 0
pcmcia 21160 0
snd_intel8x0 25180 4
snd_ac97_codec 84512 1 snd_intel8x0
nsc_ircc 16464 0
ac97_bus 1408 1 snd_ac97_codec
snd_pcm 54024 3 snd_intel8x0,snd_ac97_codec
snd_timer 15556 2 snd_pcm
snd 37620 10 snd_intel8x0,snd_ac97_codec,snd_pcm,snd_timer
soundcore 4804 1 snd
asus_laptop 13624 0
irda 144972 1 nsc_ircc
snd_page_alloc 6856 2 snd_intel8x0,snd_pcm
intelfb 29348 0
video 16016 0
backlight 3524 2 asus_laptop,video
yenta_socket 20108 3
rsrc_nonstatic 9024 1 yenta_socket
pcmcia_core 27600 3 pcmcia,yenta_socket,rsrc_nonstatic
i2c_algo_bit 4804 1 intelfb
psmouse 31504 0
battery 9860 0
led_class 2820 1 asus_laptop
ac 3908 0
evdev 7360 6
button 5776 0
parport_pc 30456 1
parport 26696 2 lp,parport_pc
intel_agp 20988 1
i2c_core 16272 2 intelfb,i2c_algo_bit
8139too 17856 0
ohci1394 23856 0
8139cp 15296 0
mii 4032 2 8139too,8139cp
ieee1394 65728 2 sbp2,ohci1394
ehci_hcd 25548 0
uhci_hcd 17484 0
usbcore 100860 3 ehci_hcd,uhci_hcd
thermal 14684 0
processor 26740 2 thermal
fan 2944 0
-- /etc/kernel-img.conf
do_symlinks = yes
relative_links = yes
do_bootloader = no
do_bootfloppy = no
do_initrd = yes
link_in_boot = no
postinst_hook = /sbin/update-grub
postrm_hook = /sbin/update-grub
-- /etc/initramfs-tools/initramfs.conf
MODULES=most
BUSYBOX=y
KEYMAP=n
BOOT=local
DEVICE=eth0
NFSROOT=auto
-- System Information:
Debian Release: testing/unstable
APT prefers unstable
APT policy: (500, 'unstable'), (500, 'stable')
Architecture: i386 (i686)
Kernel: Linux 2.6.25.10-customy
Locale: LANG=de_DE@euro, LC_CTYPE=de_DE@euro (charmap=ISO-8859-15)
Shell: /bin/sh linked to /bin/dash
Versions of packages initramfs-tools depends on:
ii cpio 2.6-17 GNU cpio -- a program to manage ar
ii findutils 4.2.27-3 utilities for finding files--find,
ii klibc-utils 1.5.11-3 small utilities built with klibc f
ii module-init-tools 3.2.2-3 tools for managing Linux kernel mo
ii udev 0.114-2 /dev/ and hotplug management daemo
Versions of packages initramfs-tools recommends:
ii busybox 1:1.10.2-1 Tiny utilities for small and embed
initramfs-tools suggests no packages.
-- no debconf information
--- End Message ---