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}