[ARMedslack] sheevaplug: flashing initrd, consequently no uboot upgrade required

Thierry MERLE thierry.merle at free.fr
Sat Sep 19 15:24:44 UTC 2009


Hello,
OK succeeded in flashing an initrd instead of the rootfs, and obviously booting on it.
After some SP brickings (I even erased uboot by mistake, and I will never ever do that again), I managed to put initrd on flash and boot with it.
In fact you should follow these directives: http://www.openplug.org/plugwiki/index.php/Flashing_an_Operating_System_onto_the_Plug
But with some modifications:
flash_erase /dev/mtdblock1
flash_eraseall /dev/mtd1
flash_erase /dev/mtdblock2
flash_eraseall /dev/mtd2
cat uImage-kirkwood > /dev/mtdblock1
cat uinitrd-kirkwood > /dev/mtdblock2
uImage-kirwood and uinitrd-kirkwood are found in armedslack-12.2 distribution.

Then reboot and stop uboot in its automatic process with [ENTER]
setenv bootcmd 'nand read.e 0x800000 0x100000 0x400000; nand read.e 0x01100000 0x500000 0x500000'
#This will load in RAM the kernel, and the initrd image (5MB)
setenv bootargs 'console=ttyS0,115200 ro root=/dev/sda1'
#My USB disk has a root FS on sda1, in fact this is my NSLU2 installation.
setenv arcNumber 2097
setenv mainlineLinux yes
saveenv
boot

And you are done.
I am not sure the flash_erase* commands are necessary but I experienced so many write errors that using them is the safest way to have something working.

Well, I lied a bit, I did not flash the armedslack kernel but rebuilt a 2.6.31 kernel with the few patches to make it work on the SP (http://sheeva.with-linux.com/sheeva/index.php?dir=2.6.31%2Fpatches%2F)
I had kernel panics with the armedslack kernel, specifically when I
tried to configure Ethernet. I removed the kernel module from the initrd (mv643xx_eth)
so the detection is made after, and no more kernel panic. This is
probably a Thierry's problem.

Cheers,
Thierry


More information about the ARMedslack mailing list