27 Dec 2013

SmilePlug - alive at last

So ... sometime last year I ordered a SmilePlug from http://globalscaletechnologies.com/, and it arrived at some point early this year. Hardware-wise, it is a really neat piece of kit that I was intending to put to use as a very configurable home router/firewall; it has 2x1GBE and an ARMv7-A processor + 512MB of RAM.

Of course, being Marvell-based, source-code availability and system documentation was a few miles south of sufficient, and unfortunately, it ended up lying in a corner for the greater part of the year. However, the guys at Free-Electrons have managed to get to main parts of the Armada 370 support (including the smileplug's sister-platform 'mirabox') into mainline Linux, so I decided to have another go.

Since the U-Boot on the platform is outdated, and sources are not available for me to recompile it with CONFIG_API and be able to use GRUB, it requires the DTB to be appended to the kernel image - and then the whole thing needs to be wrapped as a uImage. I found simple instructions to do that, but include instructions below so I don't need to go looking for it next time : )

Using 3.13-rc5+,

$ make mvebu_defconfig
# *fiddle*
$ cp arch/arm/boot/zImage zImage-with-dtb
$ cat arch/arm/boot/dts/armada-370-mirabox.dtb >> zImage-with-dtb
$ ./scripts/mkuboot.sh -A arm -O linux -T kernel -C none -a 0x00008000 \
	-e 0x00008000 -n 'Linux-marvell' -d zImage-with-dtb uImage

What I haven't managed to do yet is read the kernel off uSD, so for now, I boot it via TFTP.

posted at: 13:37 | path: /linux | permanent link to this entry