Hey all,<br> I worked through this issue over the weekend (as fate would have it) <br>though I was using an armedslack-current version from December. I <br>don't see enough in the Changelogs to cover everything I hit, so here <br>
are the main problems I had. Hopefully this will be useful to someone.<br><br>I'm using a sheevaplug, my aim was to leave the builtin ubuntu/flash <br>alone, install just an updated Das u-boot (easy, v1.1.4), and then <br>
armedslack on a 4GB SDHC with a kernel image and initrd that can <br>be loaded directly from SDHC with u-boot. I have a USB disk also, <br>though I'm not booting from it right now.<br><br>I used uinitrd-kirkwood-2.6.31.6 uImage-kirkword-2.6.31.6, also<br>
from December -current (files dated 2009-11-16).<br><br>- mvsdio is omitted from initrd (tftp-ed it as a workaround)<br>- "mdev -s" works just fine after that's added<br>- the busybox (1.12.1) insmod doesn't support compressed modules<br>
gunzip works, so this fixes it when the initrd bails:<br> find . -name ".ko.gz" -exec gunzip {} \;<br> (AFAICT .ko.gz support was added in busybox 1.13.4)<br>- the armedslack kernel modules binary package uses compressed<br>
modules, so you still hit this problem when you (re)build your own <br> initrd image<br>- for a sheevaplug I suspect udev in initrd is overkill, you only need a <br> handful of modules and devices to make USB, network and <br>
SD/MMC available<br><br>I scripted a wrapper for mkinitrd which re-makes the initrd with<br>uncompressed modules, and re-writes load_kernel_modules <br>accordingly. When I get around to rebuilding the kernel and <br>modules myself, I'll probably just stick to uncompressed modules,<br>
since it's no hit for a compressed initrd image.<br><br>The mkinitrd script will need some work to fully support <br>compressed modules, or support decompressing them for initrd <br>when the installed/live ones are compressed.<br>
<br>I boot with something like:<br> setenv bootargs_root root=/dev/mmcblk0p2 ro<br> setenv bootcmd_mmc 'mmcinit; ext2load mmc 0 0x00800000 /uinitrd-kirkwood; ext2load mmc 0 0x00400000 /uImage-kirkwood'<br> bootcmd_new=setenv bootargs $(bootargs_console) $(bootargs_root); run bootcmd_mmc; bootm 0x400000 0x800000<br>
<br>mmc0:1 is a small ext3 partition, later mounted as /boot<br>mmc0:2 is /<br>uinitrd-kirkwood and uImage-kirkwood are symlinks to the relevant <br>initrd/kernel with version suffixes.<br><br>I hope I've explained everything clearly.<br>
<br>Regards, <br> Conor.<br><br>