Restoring GuruPlugs

I’ve recently taken ownership of a GuruPlug, and naturally the first thing I tried to do when I got it was to install Gentoo on it.  I first went to build a kernel using the GuruPlug patches on a vanilla 2.6.34 kernel, which ended up disasterous.  I applied the patches, however the kernel ended up not booting.

At which point I decided I wanted to try to restore the original kernel, so that I would at least have a working system with which to test.  Therein lied the rub.  The files posted here are completely broken.

Thankfully, a friend of mine also ordered a GuruPlug.  So I grabbed his images. Here’s how to ACTUALLY restore your GuruPlug if you flash a bad kernel to it.

Download the extracted uImage.  This was created by the command ‘dd if=/dev/mtdblock1 of=uImage’.

Download the rootfs from the PlugComputer wiki.

Download the kernel 2.6.32 modules.

Boot your GuruPlug with serial attached and enter the u-boot interface by interrupting it with a keyboard press.

Make sure that you’re running a tftp server. Inside your tftp root, gunzip the uImage.

bkero@ponderosa ~ $ gunzip uImage.gz
bkero@ponderosa ~ $ sudo mv uImage /var/tftp/
bkero@ponderosa ~ $ mv rootfs.ubi.img /var/tftp/

Ensure that an ethernet interface is run between your server and your GuruPlug.  Set your server’s IP to 192.168.2.1.


Marvell>> setenv ipaddr 192.168.2.2
Marvell>> setenv serverip 192.168.2.1
Marvell>> tftp 0x6400000 uImage
Marvell>> nand erase 0x100000 0x400000
Marvell>> nand write.e 0x6400000 0x100000 0x400000

Now your kernel should be flashed to the GuruPlug.  Time to upload the rootfs.


Marvell>> tftp 0x6400000 rootfs.ubi.img
# This will take a few minutes. Get a beer.
Marvell>> nand erase 0x500000 0x1fb00000
Marvell>> nand write.e 0x6400000 0x500000 0x(number of hex bytes flashed)
Marvell>> setenv filesize B940000
Marvell>> setenv fileaddr 6400000
Marvell>> saveenv
Marvell>> reset

At this point your useless GuruBrick should reboot and become a useful GuruPlug again!  You’re almost out of the woods.  Once you boot up you’ll notice that you’re missing a lot of modules, causing a lot of errors on bootup.  We’ll need to reinstall the /lib/modules/2.6.32-stuff directory.  Luckily, we have that packaged.


guruplug-debian:~# apt-get install bzip2
guruplug-debian:~# wget http://code.corbinsimpson.com/modules.tar.bz2
guruplug-debian:~# cd /
guruplug-debian:/# tar xvjpf /root/modules.tar.bz2
guruplug-debian:/# reboot

This should restore your GuruPlug to it’s original functionality!

This entry was posted in ARM, Linux, hack, hardware, u-boot. Bookmark the permalink.

2 Responses to Restoring GuruPlugs

  1. Karl says:

    Hi, the website http://code.corbinsimpson.com/ is no longer available and i can no longer download the uimage and the modules, can you possible reupload somewhere or email them to please?

    Im desperate to get my guruserver working again.

    thanks

  2. bkero says:

    @Karl I’ve fixed the links. Corbin assured me they’ll live on in this static place. Thanks for letting me know the links were broken.

Leave a Reply

Your email address will not be published. Required fields are marked *

*

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Please leave these two fields as-is:

Protected by Invisible Defender. Showed 403 to 646 bad guys.