FAQ Search Today's Posts Mark Forums Read
» Video Reviews

» Linux Archive

Linux-archive is a website aiming to archive linux email lists and to make them easily accessible for linux users/developers.


» Sponsor

» Partners

» Sponsor

Go Back   Linux Archive > Debian > Debian Kernel

 
 
LinkBack Thread Tools
 
Old 11-22-2009, 04:12 AM
Paul TBBle Hampson
 
Default Bug#557439: modules in /etc/initramfs-tools/modules cannot load firmware

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_hd a_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_ra wmidi,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



--
To UNSUBSCRIBE, email to debian-kernel-REQUEST@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmaster@lists.debian.org
 
Old 02-28-2010, 09:04 PM
Craig Sanders
 
Default Bug#557439: modules in /etc/initramfs-tools/modules cannot load firmware

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>
 

Thread Tools




All times are GMT. The time now is 03:57 AM.

VBulletin, Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.
Content Relevant URLs by vBSEO ©2007, Crawlability, Inc.
Copyright 2007 - 2008, www.linux-archive.org