Difference between revisions of "USB Boot"

From ArmadeusWiki
Jump to: navigation, search
(rootwait instead of rootdelay)
Line 1: Line 1:
 
+
{{Note|Only possible if your docking board has an USB Host controller ;-) (ex: [[APF9328DevFull]], [[APF27Dev]], [[APF27_PPS]] or [[APF51Dev]].)}}
{{Note|Only possible with the [[APF9328DevFull]] and the [[APF27]] boards.}}
+
  
 
===Prepare your key===
 
===Prepare your key===
Line 44: Line 43:
 
BIOS> setenv usbroot /dev/sda1
 
BIOS> setenv usbroot /dev/sda1
 
BIOS> setenv usbrootfstype ext2
 
BIOS> setenv usbrootfstype ext2
BIOS> setenv addusbargs setenv bootargs \${bootargs} root=\${usbroot} rootfstype=\${usbrootfstype} rootdelay=5
+
BIOS> setenv addusbargs setenv bootargs \${bootargs} root=\${usbroot} rootfstype=\${usbrootfstype} rootwait
 
BIOS> setenv usbboot setenv bootargs \${console}\;run addusbargs addipargs\; bootm \${kernel_addr}
 
BIOS> setenv usbboot setenv bootargs \${console}\;run addusbargs addipargs\; bootm \${kernel_addr}
 
...
 
...

Revision as of 13:57, 31 March 2011

Note 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 linux26-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