In this topic : http://www.newit.co.uk/forum/index.php?topic=3880.0
, there is an 3.4.2 kernel and a rootfs that can boot on SD card or nand without any problem.
Linux dreamplug-debian 3.4.2 #6 Wed Nov 14 09:11:34 EST 2012 armv7l GNU/Linux
But it doesn't solve our question : how build a "good" kernel for the mirabox
For the moment, I build a kernel with :
# Cross-compiling env
# Get default configuration for mvebu boards
# Can edit the configuration, in a first time I disable wireless marvell module : wifi & bluetooth and kernel module system
# Don't forget to enable usb-storage module (compiled in kernel "*")
# Compile the kernel
time make -j2
# Create the uImage that the board can boot
cat arch/arm/boot/dts/armada-370-mirabox.dtb >> arch/arm/boot/zImage
./scripts/mkuboot.sh -A arm -O linux -T kernel -C none -a 0x00008000 -e 0x00008000 -n 'Linux-marvell' -d arch/arm/boot/zImage arch/arm/boot/uImage
After all this step, your uImage is there : arch/arm/boot/uImage
You can boot it from tftp with :
set serverip '192.168.1.1'
set ipaddr '192.168.1.2'
set bootcmd 'tftpboot 0x6400000 uImage; bootm 0x6400000'
set bootargs 'console=ttyS0,115200 root=/dev/sdb2 rootwait'
The kernel will be loaded by tftp and use the sdb2 partition to load the root directory (so the 2nd partition on sd card).
To load on the nand, it will need all ubi & ubifs features compiled but I want to have a kernel bootable on sdcard before make any other tests.
It boots but I haven't get a terminal for the moment, if you have any idea... :-)