Dreamplug Tweak UBoot Faster Multi Boot
Introduction
This topic shows how to change the
uboot
environment settings of a
dreamplug to be enabled to boot from several bootable device in addition to the internal SD-card.
All devices are recognized as usb devices which are searched for the file in the first (
FAT16) partition for the file
uimage
.
If the device or the image are not present, the search will continue with the next device in the boot order, given in the
bootcmd
environment.
Solution
How to
Connect via UART connector (115.200 Bit/s) to the dreamplug and enter at system startup the boot prompt
Hit any key to stop autoboot: 1
Marvell>>
and continue by pasting the code lines
Sources
Code:
- uboot-dualboot.txt: u-boot setenv commands for a dual and faster boot
setenv x_bootargs 'console=ttyS0,115200 panic=10 rootwait rootdelay=10'
setenv image_address 0x6400000
setenv bootcmd 'run init; run bootcmd_sdd ;run bootcmd_sdc; run bootcmd_sdb; run bootcmd_sda;'
setenv init 'run clear_kernel_in_mem; run x_bootcmd_usb;'
setenv bootcmd_sda 'setenv root_device /dev/sda2; setenv usb_device_id 0; run boot_common;'
setenv bootcmd_sdb 'setenv root_device /dev/sdb2; setenv usb_device_id 1; run boot_common;'
setenv bootcmd_sdc 'setenv root_device /dev/sdc2; setenv usb_device_id 2; run boot_common;'
setenv bootcmd_sdd 'setenv root_device /dev/sdd2; setenv usb_device_id 3; run boot_common;'
setenv boot_common 'run bootcmd_echo_boot_attempt; run setargs; run x_bootcmd_kernel; bootm ${image_address};'
setenv clear_kernel_in_mem 'echo Purging kernel in memory; mw ${image_address} 0x0 0x300000;'
setenv bootcmd_echo_boot_attempt 'echo attempting to boot from: ${root_device};'
setenv setargs 'setenv bootargs ${x_bootargs} root=${root_device}; echo bootargs="${bootargs}";'
setenv x_bootcmd_kernel 'fatload usb ${usb_device_id} ${image_address} uimage;'
saveenv
--
PeterZumbruch - 21 Oct 2013