= Ubuntu Maverick on USB (minimal rootfs) = == Generating the rootfs == At your host (using Maverick) install the rootstock package: $ sudo apt-get install rootstock Then identify the latest kernel image for OMAP 4 at http://ports.ubuntu.com/ubuntu-ports/pool/main/l/linux-ti-omap4/. In my case, http://ports.ubuntu.com/ubuntu-ports/pool/main/l/linux-ti-omap4/linux-image-2.6.35-903-omap4_2.6.35-903.12_armel.deb. Run rootstock, giving the correct paramters to generate a maverick image: $ sudo rootstock --fqdn panda-maverick --login ubuntu --password ubuntu --serial ttyO2 --components "main universe multiverse" --kernel-image http://ports.ubuntu.com/ubuntu-ports/pool/main/l/linux-ti-omap4/linux-image-2.6.35-903-omap4_2.6.35-903.12_armel.deb After running rootstock your rootfs will be at your current directory, called armel-rootfs-.tgz Now just extract the rootfs at your USB disk partition, preferred with an ext3 FS. == Generating the boot partition == To be able to boot your Panda you'll need the X-Loader, U-Boot, Kernel and Initrd and a boot script file. X-Loader: - Download http://ports.ubuntu.com/ubuntu-ports/pool/main/x/x-loader-omap4/x-loader-omap4_L24.9git20100901-0ubuntu1_armel.deb - Extract it with dpkg (dpkg -X x-loader-omap4.deb .) - Copy the MLO file U-Boot: - Download http://ports.ubuntu.com/ubuntu-ports/pool/main/u/u-boot-linaro/u-boot-linaro-omap4-panda_2010.09~rc1.1-0ubuntu3_armel.deb - Extract it with dpkg (dpkg -X u-boot.deb .) - Copy the u-boot.bin file Kernel: - After generating the rootfs with rootstock you'll find a file like vmlinuz-2.6.35-903-omap4 at the same directory you generated the rootfs - Install uboot-mkimage - Generate the uImage: mkimage -A arm -O linux -T kernel -C none -a 0x80008000 -e 0x80008000 -n "Linux" -d vmlinuz-2.6.35-903-omap4 uImage - Copy the uImage file Initrd: - After generating the rootfs with rootstock you'll find a file like initrd.img-2.6.35-903-omap4 at the same directory you generated the rootfs - Generate the uInitrd: mkimage -A arm -O linux -T ramdisk -C none -a 0 -e 0 -n initramfs -d initrd.img-2.6.35-903-omap4 uInitrd - Copy the uInitrd file boot.scr: - Set up a file called boot.script with the following content: """ fatload mmc 0:1 0x80000000 uImage fatload mmc 0:1 0x81600000 uInitrd setenv bootargs ro elevator=noop vram=32M root=/dev/sda1 fixrtc console=ttyO2,115200 mem=460M@0x80000000 mem=256M@0xA0000000 bootm 0x80000000 0x81600000 """ - Change the root paramter if needed - Generate the boot.scr file: mkimage -A arm -T script -C none -n "Ubuntu boot script" -d boot.script boot.scr - Copy the boot.scr file Grab a SD card, create the first partition as a FAT 32 one and copy the files u-boot.bin, MLO, uImage, uInitrd and boot.scr on it.