Booting Omap3/Omap4 via OTG



  • Download the headless image for omap/omap4 and gunzip it.
  • loop mount the image to a local directory to pull the kernel, ramdisk, and boot script
    • mkdir mnt; sudo mount ubuntu-11.04-preinstalled-headless-armel+omap4.img mnt -o loop,offset=$((512*63))
    • cp mnt/uI* mnt/boot.scr .
    • sudo umount mnt
  • Install abootimg
  • Strip the u-boot header from the kernel, initrd, and boot script.
    • dd bs=1 skip=64 if=uImage of=vmlinuz # Do the same for uInitrd & boot.scr, using initrd.img and boot.script for outfile

  • Create an abootimg config file

     echo > boot.cfg <EOF
     bootsize    = 0x8e1000
     pagesize    = 0x800
     kerneladdr  = 0x80008000
     ramdiskaddr = 0x81000000 
     tagsaddr    = 0x80000100
     name        = Ubuntu Boot Img
     cmdline = vram=32M mem=456M@0x80000000 mem=512M@0xA0000000 root=/dev/sda1 fixrtc quiet splash \
               debian-installer/framebuffer=false console=ttyO2,115200n8
  • note: Use the cmdline from the boot.script and change the location of the root file system
  • Create a boot image.
    • abootimg --create boot.img -f boot.cfg -k vmlinuz -r initrd.img
  • Build omap4boot
    • cd omap4boot
    • make TOOLCHAIN=arm-linux-gnueabi-
  • Start usbboot on host pc
    • ./omap4boot/out/panda/usbboot boot.img
  • Power on platform with serial cable attached and mini-USB cable attached to host. platform should pull from usb and start booting.

Known Issues

  • abootimg broken on amd64 platform (lp:784336) - fixed upstream
  • usbboot exits after downloading image
    • work is being done to enable daemon mode
  • doesn't support omap3 - WIP
  • usb ports and network port not enabled on panda - fixed in rsalveti's source tree above.
  • mmc not enabled on panda.
  • software reset doesn't work (sudo reboot) - kernel hang.
  • above process doesn't fully work (more steps needed to get headless working from USB).

ARM/USBBoot (last edited 2011-05-25 22:03:41 by 076-076-148-180)