USB Boot
From ArmadeusWiki
| |
Note: Only possible if your docking board has an USB Host controller ;-) (ex: APF9328DevFull, APF27Dev, APF27_PPS or APF51Dev.) |
Prepare your key
- create a partition on your USB key (supposing it is recognized as /dev/sdb)
$ sudo fdisk /dev/sdb n p 1 <ENTER> <ENTER> w
- format it as ext2:
$ sudo mkfs.ext2 /dev/sdb1
- mount it:
$ sudo mount /dev/sdb1 /media/disk/
- copy rootfs on it:
$ make shell_env $ source armadeus_env.sh $ sudo tar xvf $ARMADEUS_ROOTFS_TAR -C /media/disk/ $ sudo umount /media/disk/
Prepare your kernel
- Linux should be compiled with USB Host driver as static (done by default in current Armadeus configuration). For example on the APF9328:
$ make linux-menuconfig
Device Drivers --->
Armadeus specific drivers --->
<*> isp1761 USB 2.0 Host controller
Set environment variables in U-Boot
BIOS> setenv usbroot /dev/sda1
BIOS> setenv usbrootfstype ext2
BIOS> setenv addusbargs setenv bootargs \${bootargs} root=\${usbroot} rootfstype=\${usbrootfstype} rootwait
BIOS> setenv usbboot setenv bootargs \${console}\;run addusbargs addipargs\; bootm \${kernel_addr}
...
BIOS> saveenv
Let's go
BIOS> run usbboot