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 <c...@taz.net.au>
--- init.orig	2009-04-03 23:30:54.000000000 +1100
+++ init	2010-02-28 00:24:48.643737061 +1100
@@ -180,16 +180,16 @@
 # Don't do log messages here to avoid confusing usplash
 run_scripts /scripts/init-top
 
-maybe_break modules
-log_begin_msg "Loading essential drivers"
-load_modules
-log_end_msg
-
 maybe_break premount
 [ "$quiet" != "y" ] && log_begin_msg "Running /scripts/init-premount"
 run_scripts /scripts/init-premount
 [ "$quiet" != "y" ] && log_end_msg
 
+maybe_break modules
+log_begin_msg "Loading essential drivers"
+load_modules
+log_end_msg
+
 maybe_break mount
 log_begin_msg "Mounting root file system"
 . /scripts/${BOOT}

Reply via email to