Quantcast
Channel: Linux Device Hacking - uBoot
Viewing all articles
Browse latest Browse all 923

[Pogoplug Series 4] Booting Debian with Arch Linux ARM uBoot (15 replies)

$
0
0
Here I want to describe how I modified uBoot envs in the Pogoplug V4 to boot Debian. This is done for booting with SATA or USB drive. To boot with SD card or USB, see Davygravy's instruction at http://forum.doozan.com/read.php?3,7477 (Davygravy's uBoot is of newer version and much more flexible in that we can use netconsole and other newer uBoot features, however it does not boot with SATA).

As usual, the warning: if you don't have serial console, and have no mean of installing serial console in the future, to recover from potential problems in messing with uBoot envs, then perhaps you should not do it. Arch uBoot does not have netconsole capability, so serial console is needed to recover from bad uBoot envs.

These steps were copied from my installation log. Again, please study the uBoot envs below and make sure that it makes sense to you before modifying them.

This procedure will allow for SATA drive booting first and then USB drive booting.

- Boot into Pogo OS, and save CloudEngines (CE) bin directory /usr/local/cloudengines/bin to a USB drive. We need blparam in this direcotry to change uBoot envs later 
- Install Arch Linux ARM on USB. See instruction at http://archlinuxarm.org/platforms/armv5/pogoplug-series-4
- Boot into Arch, copy saved CE bin directory to /usr/local/bin/cloudengines/bin/

- To list uBoot envs
/usr/local/bin/cloudengines/bin/blparam

- Add uBoot envs to boot Debian

cd /usr/local/bin/cloudengines/bin/

./blparam debian_usb='if ext2load usb 0:1 0x800000 /boot/uImage; then run alarm_which; run alarm_args; fi; if ext2load usb 0:1 0x1100000 /boot/uInitrd; then bootm 0x800000 0x1100000; else bootm 0x800000; fi'

./blparam isDisk='no'

./blparam debian_ide='if ext2load ide 0:1 0x800000 /boot/uImage; then setenv device /dev/sda1; run alarm_args; if ext2load ide 0:1 0x1100000 /boot/uInitrd; then bootm 0x800000 0x1100000; else bootm 0x800000; fi; else setenv isDisk yes; fi'

./blparam debian_boot='ide reset; run alarm_revert; if ide part 0; then run debian_ide; else setenv isDisk no; fi; run debian_usb'

- Modify bootcmd env 

./blparam bootcmd='if usb start; then run debian_boot; else nand read 0x800000 0x100000 0x73d0c; go 0x800000; fi'

- Shutdown and cold start with you Debian SATA or USB drive.

Viewing all articles
Browse latest Browse all 923

Latest Images

Trending Articles



Latest Images