A multiboot Dreamplug and SD images will be available from the NewIT shop very shortly.
The configuration will attempt to boot from the SD card slot first and then the internal Micro SD.
We are planning to sell Debian Squeeze, GuiPlug and Ubuntu images on SD card (4Gb,8Gb,16Gb), images will also be available for free download.
The format of the SD card should be the same as the the internal microSD with a small FAT partition containing the 'uImage' and the rootfs on a second ext3 partition.
For those who have a jtag and wish to try it here's how.
Standard Factory Uboot configuration.
Marvell>> printenv
bootcmd=setenv ethact egiga0; ${x_bootcmd_ethernet}; setenv ethact egiga1; ${x_bootcmd_ethernet}; ${x_bootcmd_usb}; ${x_bootcmd_kernel}; setenv bootargs ${x_bootargs} ${x_bootargs_root}; bootm 0x6400000;
bootdelay=3
baudrate=115200
x_bootcmd_ethernet=ping 192.168.2.1
x_bootcmd_usb=usb start
x_bootcmd_kernel=fatload usb 0 0x6400000 uImage
x_bootargs=console=ttyS0,115200
x_bootargs_root=root=/dev/sda2 rootdelay=10
ethact=egiga0
ethaddr=F0:AD:4E:00:7C:xx
eth1addr=F0:AD:4E:00:7C:xx
stdin=serial
stdout=serial
stderr=serial
Environment size: 524/4092 bytes
*EDIT* I recommend the following commands are cut & paste a line at a time and you do a 'printenv' before the 'savenv' to make sure all look's ok
Commands to convert a standard Dreamplug to a multiboot
setenv bootcmd_sdb 'setenv bootargs console=ttyS0,115200 root=/dev/sdb2 panic=10 rootwait; usb start; run boot_sdb;'
setenv boot_sdb 'fatload usb 1 0x6400000 uImage; bootm 0x6400000;'
setenv bootcmd_sda '${bootcmd_eth}; ${x_bootcmd_usb}; ${x_bootcmd_kernel}; setenv bootargs ${x_bootargs} ${x_bootargs_root}; bootm 0x6400000;'
setenv bootcmd_eth 'setenv ethact egiga0; ${x_bootcmd_ethernet}; setenv ethact egiga1; ${x_bootcmd_ethernet}'
setenv clear_kernel_in_mem 'echo Purging kernel in memory; mw 0x6400000 0x0 0x300000'
setenv bootcmd 'run clear_kernel_in_mem; run bootcmd_sdb; run bootcmd_sda'
saveenv
Multibooted Uboot variables
Marvell>> printenv
bootdelay=3
baudrate=115200
x_bootcmd_ethernet=ping 192.168.2.1
x_bootcmd_usb=usb start
x_bootcmd_kernel=fatload usb 0 0x6400000 uImage
x_bootargs=console=ttyS0,115200
x_bootargs_root=root=/dev/sda2 rootdelay=10
ethact=egiga0
ethaddr=F0:AD:4E:00:7C:xx
eth1addr=F0:AD:4E:00:7C:xx
stdin=serial
stdout=serial
stderr=serial
bootcmd_sdb=setenv bootargs console=ttyS0,115200 root=/dev/sdb2 panic=10 rootwait; usb start; run boot_sdb;
boot_sdb=fatload usb 1 0x6400000 uImage; bootm 0x6400000;
bootcmd_sda=${bootcmd_eth}; ${x_bootcmd_usb}; ${x_bootcmd_kernel}; setenv bootargs ${x_bootargs} ${x_bootargs_root}; bootm 0x6400000;
bootcmd_eth=setenv ethact egiga0; ${x_bootcmd_ethernet}; setenv ethact egiga1; ${x_bootcmd_ethernet}
clear_kernel_in_mem=echo Purging kernel in memory; mw 0x6400000 0x0 0x300000
bootcmd=run clear_kernel_in_mem; run bootcmd_sdb; run bootcmd_sda
Environment size: 864/4092 bytes
Booting from internal MicroSD (sda)
U-Boot 2011.06-02334-g8f495d9-dirty (Mar 28 2011 - 05:21:06)
Marvell-DreamPlug
SoC: Kirkwood 88F6281_A0
DRAM: 512 MiB
SF: Detected MX25L1606 with page size 256, total 1 MiB
In: serial
Out: serial
Err: serial
Net: egiga0, egiga1
88E1121 Initialized on egiga0
88E1121 Initialized on egiga1
Hit any key to stop autoboot: 3 \0x08\0x08\0x08 2 \0x08\0x08\0x08 1 \0x08\0x08\0x08 0
Purging kernel im memory
(Re)start USB...
USB: Register 10011 NbrPorts 1
USB EHCI 1.00
scanning bus for devices... 4 USB Device(s) found
scanning bus for storage devices... Device NOT ready
Request Sense returned 02 3A 00
2 Storage Device(s) found
Device NOT ready
Request Sense returned 02 3A 00
** Can't read from device 1 **
** Unable to use usb 1:1 for fatload **
Wrong Image Format for bootm command
ERROR: can't get kernel image!
(Re)start USB...
USB: Register 10011 NbrPorts 1
USB EHCI 1.00
scanning bus for devices... 4 USB Device(s) found
scanning bus for storage devices... Device NOT ready
Request Sense returned 02 3A 00
2 Storage Device(s) found
reading uImage
2712400 bytes read
## Booting kernel from Legacy Image at 06400000 ...
Image Name: Linux-2.6.33.6
Created: 2011-02-08 8:18:48 UTC
Image Type: ARM Linux Kernel Image (uncompressed)
Data Size: 2712336 Bytes = 2.6 MiB
Load Address: 00008000
Entry Point: 00008000
Verifying Checksum ... OK
Loading Kernel Image ... OK
OK
Starting kernel ...
Booting from SD card boot (sdb)
U-Boot 2011.06-02334-g8f495d9-dirty (Mar 28 2011 - 05:21:06)
Marvell-DreamPlug
SoC: Kirkwood 88F6281_A0
DRAM: 512 MiB
SF: Detected MX25L1606 with page size 256, total 1 MiB
In: serial
Out: serial
Err: serial
Net: egiga0, egiga1
88E1121 Initialized on egiga0
88E1121 Initialized on egiga1
Hit any key to stop autoboot: 3 \0x08\0x08\0x08 2 \0x08\0x08\0x08 1 \0x08\0x08\0x08 0
Purging kernel in memory
(Re)start USB...
USB: Register 10011 NbrPorts 1
USB EHCI 1.00
scanning bus for devices... 4 USB Device(s) found
scanning bus for storage devices... 2 Storage Device(s) found
reading uImage
2584076 bytes read
## Booting kernel from Legacy Image at 06400000 ...
Image Name: Linux-2.6.38.8
Created: 2011-06-14 7:43:29 UTC
Image Type: ARM Linux Kernel Image (uncompressed)
Data Size: 2584012 Bytes = 2.5 MiB
Load Address: 00008000
Entry Point: 00008000
Verifying Checksum ... OK
Loading Kernel Image ... OK
OK
Starting kernel ...