[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#491692: initramfs-tools: udev not copied to ramdisk as hookscript is skipped



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



Reply to: