USBBoot
Revision 1 as of 2011-05-24 21:50:24
Clear message
Table of Contents |
Booting Omap3/Omap4 via OTG
Requirements
- Beagle/BeagleXM/Panda development platform
- USB Mini Cable
- abootimg (from universe)
gcc & gcc-arm-linux-gnueabi (if building on non-armel platform)
- omap4boot
Original code: https://github.com/swetland/omap4boot
Fix for USB support: https://github.com/rsalveti/omap4boot
- package coming to universe soon - Oneiric?
- kernel
- ramdisk image
Setup
- 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 EOF
- 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)
- 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).
- above process doesn't fully work (more steps needed to get headless working from USB).