Debian Bug report logs - #557439
modules in /etc/initramfs-tools/modules cannot load firmware

version graph

Package: initramfs-tools; Maintainer for initramfs-tools is Debian kernel team <debian-kernel@lists.debian.org>; Source for initramfs-tools is src:initramfs-tools (PTS, buildd, popcon).

Reported by: Paul TBBle Hampson <Paul.Hampson@Pobox.com>

Date: Sun, 22 Nov 2009 05:42:01 UTC

Severity: normal

Found in version initramfs-tools/0.93.4

Done: maximilian attems <max@stro.at>

Bug is archived. No further changes may be made.

Toggle useless messages

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to debian-bugs-dist@lists.debian.org, Debian kernel team <debian-kernel@lists.debian.org>:
Bug#557439; Package initramfs-tools. (Sun, 22 Nov 2009 05:42:04 GMT) (full text, mbox, link).


Acknowledgement sent to Paul TBBle Hampson <Paul.Hampson@Pobox.com>:
New Bug report received and forwarded. Copy sent to Debian kernel team <debian-kernel@lists.debian.org>. (Sun, 22 Nov 2009 05:42:04 GMT) (full text, mbox, link).


Message #5 received at submit@bugs.debian.org (full text, mbox, reply):

From: Paul TBBle Hampson <Paul.Hampson@Pobox.com>
To: Debian Bug Tracking System <submit@bugs.debian.org>
Subject: modules in /etc/initramfs-tools/modules cannot load firmware
Date: Sun, 22 Nov 2009 16:12:29 +1100
Package: initramfs-tools
Version: 0.93.4
Severity: normal

Modules added to /etc/initramfs-tools/modules are loaded by load_modules call
in init. However, udevd is not started until "run_scripts /scripts/init-premount"
further down.

This means that any module which requests firmware (in this case, the kms-enabled
radeon.ko driver) will simply stop waiting for the firmware request to be fufilled,
leaving the boot process effectively hung.

In my case, I simply added a hook script to include the radeon driver, and a
zz_radeon script in premount to modprobe radeon right after udev was started. So not
much more effort, but certianly more than I expected.

I imagine this would be more of a problem for users whose root disks are on a controller
which needs firmware to run, but haven't really tested that.

I'm unsure if the solution would be to start udev earlier, provide some kind of stub
firmware loader (if that's even possible without eating all the other udev events) or
if there's some other solution.

-- Package-specific info:
-- /proc/cmdline
BOOT_IMAGE=/boot/vmlinuz-2.6.32-rc8 root=UUID=c7d9b332-dea8-484f-a7da-6494dc5aed31 ro

-- /proc/filesystems
	ext3
	fuseblk
	ext2
	vfat

-- lsmod
Module                  Size  Used by
vfat                    7756  0 
fat                    39606  1 vfat
ext2                   50846  1 
autofs4                20357  3 
ipv6                  230740  24 
acpi_cpufreq            5235  0 
cpufreq_stats           2627  0 
cpufreq_powersave        902  0 
cpufreq_conservative     5114  0 
cpufreq_userspace       1864  0 
uinput                  6344  1 
vboxnetflt             81693  0 
vboxnetadp             75948  0 
vboxdrv              1685578  1 vboxnetflt
binfmt_misc             6319  1 
fuse                   49278  1 
loop                   11591  0 
snd_hda_codec_atihdmi     2235  1 
snd_hda_codec_realtek   235095  1 
snd_hda_intel          17675  3 
snd_hda_codec          52884  3 snd_hda_codec_atihdmi,snd_hda_codec_realtek,snd_hda_intel
snd_hwdep               5364  1 snd_hda_codec
arc4                    1274  2 
ecb                     1841  2 
snd_pcm_oss            32239  0 
snd_mixer_oss          12558  1 snd_pcm_oss
iwlagn                 56482  0 
snd_pcm                59703  4 snd_hda_intel,snd_hda_codec,snd_pcm_oss
iwlcore                76390  1 iwlagn
snd_seq_midi            4192  0 
snd_rawmidi            15019  1 snd_seq_midi
snd_seq_midi_event      4628  1 snd_seq_midi
mac80211              109327  2 iwlagn,iwlcore
snd_seq                42273  2 snd_seq_midi,snd_seq_midi_event
snd_timer              15182  3 snd_pcm,snd_seq
snd_seq_device          4477  3 snd_seq_midi,snd_rawmidi,snd_seq
cfg80211               98261  3 iwlagn,iwlcore,mac80211
snd                    44398  15 snd_hda_codec_realtek,snd_hda_intel,snd_hda_codec,snd_hwdep,snd_pcm_oss,snd_mixer_oss,snd_pcm,snd_rawmidi,snd_seq,snd_timer,snd_seq_device
rfkill                 12724  1 cfg80211
soundcore               4598  1 snd
snd_page_alloc          6025  2 snd_hda_intel,snd_pcm
i2c_i801                7012  0 
processor              28687  5 acpi_cpufreq
battery                 4982  0 
video                  17445  0 
ac                      2176  0 
button                  4618  0 
wmi                     4307  0 
psmouse                41765  0 
output                  1692  1 video
pcspkr                  1699  0 
serio_raw               3752  0 
evdev                   7288  19 
ext3                   99497  1 
jbd                    36333  1 ext3
mbcache                 4954  2 ext2,ext3
dm_mod                 52794  0 
radeon                448193  2 
ttm                    30172  1 radeon
drm_kms_helper         18433  1 radeon
drm                   129345  4 radeon,ttm,drm_kms_helper
i2c_algo_bit            4225  1 radeon
cfbcopyarea             3198  1 radeon
i2c_core               15360  4 i2c_i801,radeon,drm,i2c_algo_bit
cfbimgblt               1881  1 radeon
cfbfillrect             3146  1 radeon
sg                     18552  0 
sr_mod                 12682  0 
sd_mod                 29497  5 
cdrom                  29335  1 sr_mod
crc_t10dif              1276  1 sd_mod
usbhid                 30508  0 
hid                    62537  1 usbhid
uhci_hcd               18073  0 
ahci                   30966  3 
sdhci_pci               5469  0 
sdhci                  13460  1 sdhci_pci
libata                112271  1 ahci
mmc_core               44128  1 sdhci
led_class               2401  2 iwlcore,sdhci
firewire_ohci          19036  0 
firewire_core          35792  1 firewire_ohci
crc_itu_t               1307  1 firewire_core
r8169                  30344  0 
mii                     3210  1 r8169
scsi_mod              121142  4 sg,sr_mod,sd_mod,libata
ehci_hcd               29458  0 
thermal                11674  0 
fan                     3346  0 
thermal_sys            11878  4 processor,video,thermal,fan

-- /etc/kernel-img.conf
# Kernel image management overrides
# See kernel-img.conf(5) for details
do_symlinks = yes
relative_links = yes
do_bootloader = no
do_bootfloppy = no
do_initrd = yes
link_in_boot = no
postinst_hook = update-grub
postrm_hook   = update-grub

-- /etc/initramfs-tools/initramfs.conf
MODULES=most
BUSYBOX=y
KEYMAP=n
BOOT=local
DEVICE=eth0
NFSROOT=auto


-- System Information:
Debian Release: squeeze/sid
  APT prefers unstable
  APT policy: (990, 'unstable'), (950, 'unstable'), (900, 'experimental')
Architecture: amd64 (x86_64)

Kernel: Linux 2.6.32-rc8 (SMP w/4 CPU cores)
Locale: LANG=en_AU.UTF-8, LC_CTYPE=en_AU.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/bash

Versions of packages initramfs-tools depends on:
ii  cpio                          2.10-1     GNU cpio -- a program to manage ar
ii  findutils                     4.4.2-1    utilities for finding files--find,
ii  klibc-utils                   1.5.15-1   small utilities built with klibc f
ii  module-init-tools             3.11-1     tools for managing Linux kernel mo
ii  udev                          147-4      /dev/ and hotplug management daemo

Versions of packages initramfs-tools recommends:
ii  busybox                       1:1.14.2-2 Tiny utilities for small and embed

initramfs-tools suggests no packages.

-- no debconf information




Information forwarded to debian-bugs-dist@lists.debian.org, Debian kernel team <debian-kernel@lists.debian.org>:
Bug#557439; Package initramfs-tools. (Mon, 18 Jan 2010 22:51:09 GMT) (full text, mbox, link).


Acknowledgement sent to Joey Korkames <joey@kidfixit.com>:
Extra info received and forwarded to list. Copy sent to Debian kernel team <debian-kernel@lists.debian.org>. (Mon, 18 Jan 2010 22:51:09 GMT) (full text, mbox, link).


Message #10 received at 557439@bugs.debian.org (full text, mbox, reply):

From: Joey Korkames <joey@kidfixit.com>
To: 557439@bugs.debian.org
Subject: devtmpfs
Date: Mon, 18 Jan 2010 15:28:48 -0700
I think running "mount -t devtmpfs devtmpfs /dev" early on in 
/usr/share/initramfs-tools/init would fix this problem. 

Here's an example boot script:
http://www.mail-archive.com/initramfs@vger.kernel.org/msg00437.html

devtmpfs is a new filesystem in the 2.6.32+ kernels, so it would be only 
do-able with sid's linux-image-* packages for now.




Information forwarded to debian-bugs-dist@lists.debian.org, Debian kernel team <debian-kernel@lists.debian.org>:
Bug#557439; Package initramfs-tools. (Tue, 19 Jan 2010 00:15:08 GMT) (full text, mbox, link).


Acknowledgement sent to Ben Hutchings <ben@decadent.org.uk>:
Extra info received and forwarded to list. Copy sent to Debian kernel team <debian-kernel@lists.debian.org>. (Tue, 19 Jan 2010 00:15:08 GMT) (full text, mbox, link).


Message #15 received at 557439@bugs.debian.org (full text, mbox, reply):

From: Ben Hutchings <ben@decadent.org.uk>
To: Joey Korkames <joey@kidfixit.com>, 557439@bugs.debian.org
Subject: Re: Bug#557439: devtmpfs
Date: Tue, 19 Jan 2010 00:00:58 +0000
[Message part 1 (text/plain, inline)]
On Mon, 2010-01-18 at 15:28 -0700, Joey Korkames wrote:
> I think running "mount -t devtmpfs devtmpfs /dev" early on in 
> /usr/share/initramfs-tools/init would fix this problem. 

Why do you think that?

Ben.

-- 
Ben Hutchings
I'm not a reverse psychological virus.  Please don't copy me into your sig.
[signature.asc (application/pgp-signature, inline)]

Information forwarded to debian-bugs-dist@lists.debian.org, Debian kernel team <debian-kernel@lists.debian.org>:
Bug#557439; Package initramfs-tools. (Tue, 19 Jan 2010 00:48:08 GMT) (full text, mbox, link).


Acknowledgement sent to Joey Korkames <joey@kidfixit.com>:
Extra info received and forwarded to list. Copy sent to Debian kernel team <debian-kernel@lists.debian.org>. (Tue, 19 Jan 2010 00:48:08 GMT) (full text, mbox, link).


Message #20 received at 557439@bugs.debian.org (full text, mbox, reply):

From: Joey Korkames <joey@kidfixit.com>
To: Ben Hutchings <ben@decadent.org.uk>
Cc: 557439@bugs.debian.org
Subject: Re: Bug#557439: devtmpfs
Date: Mon, 18 Jan 2010 17:27:21 -0700
I'm not a Radeon, KMS or external firmware user at all, so I misinterpreted 
the OP's temporary solution. AFAICS, no-one is bundling/modifying udev's 
firmware.c to work against a solely-devtmpfs-populated /dev.

Plus, I think a static module<->firmware list would have to be 
pre-generated and injected into the initramfs (and firmware.c 
be run for each list entry at earlyboot time) to be able to effectively 
ignore starting udev until after radeon/external-firmware-requiring modules 
are modprobed. This is a job that only udevd really does at the moment, so 
maybe it should be run before the manual modprobe list is 
iterated.

http://git.kernel.org/?p=linux/hotplug/udev.git;a=blob;f=extras/firmware/firmware.c;hb=HEAD





Information forwarded to debian-bugs-dist@lists.debian.org, Debian kernel team <debian-kernel@lists.debian.org>:
Bug#557439; Package initramfs-tools. (Tue, 19 Jan 2010 11:51:07 GMT) (full text, mbox, link).


Acknowledgement sent to md@Linux.IT (Marco d'Itri):
Extra info received and forwarded to list. Copy sent to Debian kernel team <debian-kernel@lists.debian.org>. (Tue, 19 Jan 2010 11:51:07 GMT) (full text, mbox, link).


Message #25 received at 557439@bugs.debian.org (full text, mbox, reply):

From: md@Linux.IT (Marco d'Itri)
To: Joey Korkames <joey@kidfixit.com>, 557439@bugs.debian.org
Subject: Re: Bug#557439: devtmpfs
Date: Tue, 19 Jan 2010 12:48:08 +0100
[Message part 1 (text/plain, inline)]
On Jan 19, Joey Korkames <joey@kidfixit.com> wrote:

> modprobed. This is a job that only udevd really does at the moment, so  
> maybe it should be run before the manual modprobe list is iterated.

Yes, see #543717.

-- 
ciao,
Marco
[signature.asc (application/pgp-signature, inline)]

Information forwarded to debian-bugs-dist@lists.debian.org, Debian kernel team <debian-kernel@lists.debian.org>:
Bug#557439; Package initramfs-tools. (Sun, 28 Feb 2010 22:15:03 GMT) (full text, mbox, link).


Acknowledgement sent to Craig Sanders <cas@taz.net.au>:
Extra info received and forwarded to list. Copy sent to Debian kernel team <debian-kernel@lists.debian.org>. (Sun, 28 Feb 2010 22:15:03 GMT) (full text, mbox, link).


Message #30 received at 557439@bugs.debian.org (full text, mbox, reply):

From: Craig Sanders <cas@taz.net.au>
To: 557439@bugs.debian.org
Subject: Re: Bug#557439: modules in /etc/initramfs-tools/modules cannot load firmware
Date: Mon, 1 Mar 2010 09:04:32 +1100
[Message part 1 (text/plain, inline)]
i got the radeon firmware to load by editing /usr/share/initramfs-tools/init and
moving the lines that run the init-premount scripts from just after to
just before the lines that load the modules.  see attached patch.

it's probably not a good generic solution, but as a quick hack to solve
this particular problem it works and doesn't seem to have any negative
side-effects (although it might on machines with unusual hardware with
fussier load-order requirements...i.e. "it works for me, YMMV"). so i'm
posting it here to document a temporary workaround to help anyone else
who just wants it working ASAP until a real fix is released.

after running 'update-initramfs -u -k 2.6.33' and rebooting, it changed
the kernel boot from this:

[    0.732433] [drm] Loading RV730 Microcode
[    0.732463] platform radeon_cp.0: firmware: requesting radeon/RV730_pfp.bin
[   60.732037] r600_cp: Failed to load firmware "radeon/RV730_pfp.bin"
[   60.732066] [drm:rv770_startup] *ERROR* Failed to load firmware!
[   60.732094] radeon 0000:02:00.0: disabling GPU acceleration
[   60.747032] radeon 0000:02:00.0: ffff88007ce80800 unpin not necessary
[   60.747061] radeon 0000:02:00.0: ffff88007ce80800 unpin not necessary

to this:

[    2.850592] [drm] Loading RV730 Microcode
[    2.850621] platform radeon_cp.0: firmware: requesting radeon/RV730_pfp.bin
[    2.854192] platform radeon_cp.0: firmware: requesting radeon/RV730_me.bin
[    2.857795] platform radeon_cp.0: firmware: requesting radeon/R700_rlc.bin
[    2.909077] [drm] ring test succeeded in 1 usecs
[    2.909222] [drm] radeon: ib pool ready.
[    2.909323] [drm] ib test succeeded in 0 usecs

craig

-- 
craig sanders <cas@taz.net.au>
[init.patch (text/x-diff, attachment)]

Reply sent to maximilian attems <max@stro.at>:
You have taken responsibility. (Thu, 08 Apr 2010 01:06:05 GMT) (full text, mbox, link).


Notification sent to Paul TBBle Hampson <Paul.Hampson@Pobox.com>:
Bug acknowledged by developer. (Thu, 08 Apr 2010 01:06:06 GMT) (full text, mbox, link).


Message #35 received at 557439-done@bugs.debian.org (full text, mbox, reply):

From: maximilian attems <max@stro.at>
To: 557439-done@bugs.debian.org, 561476-done@bugs.debian.org
Subject: Re: initramfs-tools: radeon module can't load firmware.
Date: Thu, 8 Apr 2010 03:00:35 +0200
first of all duplicate reports, relevant entry exists against
udev, which will soon load earlier in initramfs and thus
resolve this bug in itselv.

radeon is not by default in initramfs, video drivers got
kicked out for faster boot.

thus closing.




Information forwarded to debian-bugs-dist@lists.debian.org, Debian kernel team <debian-kernel@lists.debian.org>:
Bug#557439; Package initramfs-tools. (Sun, 02 May 2010 04:00:06 GMT) (full text, mbox, link).


Acknowledgement sent to "Paul \"TBBle\" Hampson" <Paul.Hampson@Pobox.com>:
Extra info received and forwarded to list. Copy sent to Debian kernel team <debian-kernel@lists.debian.org>. (Sun, 02 May 2010 04:00:06 GMT) (full text, mbox, link).


Message #40 received at 557439@bugs.debian.org (full text, mbox, reply):

From: "Paul \"TBBle\" Hampson" <Paul.Hampson@Pobox.com>
To: 557439@bugs.debian.org
Subject: Bug is now fixed in udev
Date: Sun, 2 May 2010 13:57:03 +1000
Just a note, the relevant bug in udev was 543717, which was closed by
version 153-1, uploaded 22nd April 2010.

-- 
Paul "TBBle" Hampson, Paul.Hampson@Pobox.com




Bug archived. Request was from Debbugs Internal Request <owner@bugs.debian.org> to internal_control@bugs.debian.org. (Sun, 30 May 2010 07:33:11 GMT) (full text, mbox, link).


Send a report that this bug log contains spam.


Debian bug tracking system administrator <owner@bugs.debian.org>. Last modified: Sun Jul 30 21:13:15 2023; Machine Name: buxtehude

Debian Bug tracking system

Debbugs is free software and licensed under the terms of the GNU Public License version 2. The current version can be obtained from https://bugs.debian.org/debbugs-source/.

Copyright © 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson, 2005-2017 Don Armstrong, and many other contributors.