title: Boot Linux (arago) from usb instead of sd card on Am-1808
body: <p>I have <a href="http://www.logicpd.com/products/system-on-modules/zoom-am1808/" rel="nofollow">Am-1808</a> board (evm zoom kit), Right now I have ubl and uboot in the spi flash, and file system and kernel(uImage) in the SD card, I followed the steps for running linux on am-1808 board from <a href="http://processors.wiki.ti.com/index.php/GSG%3a_OMAP-L138_DVEVM_Additional_Procedures#Creating_bootable_SD_card_for_OMAP-L138_EVM_board" rel="nofollow">here</a>:</p>
  
  <p>I don't find any official reference/document which can explain booting linux from usb, is it possible that i can place file system + kernel in the usb and then tell the uboot to look for usb to find uImage from usb instead of sd-card. If yes, then can u please explain how?</p>
  
  <p>The portion of u-boot code which looks for uImage from sd card is:</p>
  
  <pre><code>#define CONFIG_BOOTARGS     "mem=32M console=ttyS2,115200n8 root=/dev/mmcblk0p2     rw rootwait ip=off"
  #define CONFIG_BOOTCOMMAND  "if mmc rescan 0; then if fatload mmc 0 0xc0600000 boot.scr; then source 0xc0600000; else fatload mmc 0 0xc0700000 uImage; bootm c0700000; fi; else sf probe 0; sf read 0xc0700000 0x80000 0x220000; bootm 0xc0700000; fi"
  </code></pre>
  
  <p>I need to use usb instead of sd-card for placing filesystem + uImage because i had to use sd card pins (mmc0) for some other purposes.</p>
  
  <p><strong>Update:</strong></p>
  
  <p><a href="http://processors.wiki.ti.com/index.php/Booting_Linux_kernel_using_U-Boot#USB_Storage" rel="nofollow">This</a> explains booting linux from usb, but the problem is that u-boot don't recognize the 'usb' command, when i type: usb reset, it gives me this error:</p>
  
  <pre><code>U-Boot &gt; usb reset
  Unknown command 'usb' - try 'help'
  </code></pre>
  
  <p>The 'usb' command also don't appear in the list of the available commands displayed by the 'help' command.</p>
  
  <pre><code>U-Boot &gt; help
  ?       - alias for 'help'
  askenv  - get environment variables from stdin
  base    - print or set address offset
  bdinfo  - print Board Info structure
  boot    - boot default, i.e., run 'bootcmd'
  bootd   - boot default, i.e., run 'bootcmd'
  bootm   - boot application image from memory
  bootp   - boot image via network using BOOTP/TFTP protocol
  cmp     - memory compare
  coninfo - print console devices and information
  cp      - memory copy
  crc32   - checksum calculation
  dhcp    - boot image via network using DHCP/TFTP protocol
  echo    - echo args to console
  editenv - edit environment variable
  env     - environment handling commands
  exit    - exit script
  ext2load- load binary file from a Ext2 filesystem
  ext2ls  - list files in a directory (default /)
  false   - do nothing, unsuccessfully
  fatinfo - print information about filesystem
  fatload - load binary file from a dos filesystem
  fatls   - list files in a directory (default /)
  go      - start application at address 'addr'
  help    - print command description/usage
  iminfo  - print header information for application image
  imxtract- extract a part of a multi-image
  itest   - return true/false on integer compare
  loadb   - load binary file over serial line (kermit mode)
  loads   - load S-Record file over serial line
  loady   - load binary file over serial line (ymodem mode)
  loop    - infinite loop on address range
  md      - memory display
  mdc     - memory display cyclic
  mii     - MII utility commands
  mm      - memory modify (auto-incrementing address)
  mmc     - MMC sub system
  mmcinfo - display MMC info
  mtest   - simple RAM read/write test
  mw      - memory write (fill)
  mwc     - memory write cyclic
  nfs     - boot image via network using NFS protocol
  nm      - memory modify (constant address)
  ping    - send ICMP ECHO_REQUEST to network host
  printenv- print environment variables
  reset   - Perform RESET of the CPU
  run     - run commands in an environment variable
  saveenv - save environment variables to persistent storage
  saves   - save S-Record file over serial line
  setenv  - set environment variables
  sf      - SPI flash sub-system
  showvar - print local hushshell variables
  sleep   - delay execution for some time    
  source  - run script from memory
  sspi    - SPI utility command
  test    - minimal test like /bin/sh
  tftpboot- boot image via network using TFTP protocol
  true    - do nothing, successfully
  version - print monitor version
  </code></pre>
  
  <p>Any idea how can i specify the 'usb' command in the u-boot ? Do i need to upgrade uboot to a newer version ?</p>
  
  <p>regards</p>
  
  <p>usama</p>