Add Packages To Ubuntu Preinstalled Images
Ubuntu delivers pre-installed images for OMAP3 and OMAP4, in particular on http://cdimage.ubuntu.com/ubuntu-netbook/ports/releases/.
Here are instructions to add your own packages to the pre-installed images. They assume that sufficient space is available. At the moment, the pre-installed root partition has 200-300 MB of free space.
You need to run the below manipulations on an
armv7 board (like OMAP3 and OMAP4 ones) running a GNU/Linux distribution. That's because
we are going to
chroot to an
Mounting the pre-installed rootfs
fdisk -lu maverick-preinstalled-netbook-armel+omap4.img and read the starting block for the rootfs partition:
You must set cylinders. You can do this from the extra functions menu.
Disk maverick-preinstalled-netbook-armel+omap4.img: 0 MB, 0 bytes 255 heads, 63 sectors/track, 0 cylinders, total 0 sectors Units = sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk identifier: 0x00000000 Device Boot Start End Blocks Id System maverick-preinstalled-netbook-armel+omap4.img1 * 63 144584 72261 c W95 FAT32 (LBA) maverick-preinstalled-netbook-armel+omap4.img2 144585 4401809 2128612+ 83 Linux
Now, mount this partition:
mount -o loop,offset=$((144585*512)) ubuntu.img /mnt/rootfs
Modifying the pre-installed partition
chroot, replicate the basic filesystems that Ubuntu mounts:
for f in /proc /sys /dev /dev/pts /dev/shm /var/run /var/lock do sudo mount -o bind $f /mnt/rootfs/$f done
Without the above, some commands may not work properly, being unable to find data in
/sys in particular.
If you are behind a proxy, copy your files defining your proxy settings (typically
/etc/environment) under the same path
Also copy your name resolution settings to the rootfs:
sudo cp /etc/resolv.conf /mnt/rootfs/etc/resolv.conf
Modify the rootfs
sudo chroot /mnt/rootfs/
If you are using a special package source, you can add it to
Now, update your package list and install extra packages. For example:
apt-get update apt-get install openssh-server
Once you are done, exit the chroot:
sudo rm /mnt/rootfs/etc/resolv.conf
You may also undo your proxy setting changes (typically
Then, unmount the filesystems replicated in the chroot:
for f in /var/lock /var/run /dev/shm /dev/pts /dev /sys /proc do sudo umount /mnt/rootfs/$f done
You are done!