Android on your IGEPv2 in 14 steps

Some of you might remember the IGEPv2, the board displayed in one of our first posts. I am using this board for various projects and one of them is Android software development. Since I don’t have much spare time, I decided to install the kernel and root filesystem provided by ISEE (http://labs.igep.es/index.php/How_to_get_the_Android_distribution). The “howto” only explains how to copy these files to a NFS server and run them using nfsboot, it doesn’t explain how to install these files to SD card. This post explains the 14 steps required to install Android on an SD card.

  1. Downloaded the kernel and root file system from : http://labs.igep.es/index.php/How_to_get_the_Android_distribution
  2. Initialize the SD card (in my case ‘/dev/sdd’, yours might be different.):
    dd if=/dev/zero of=/dev/sdd bs=1024 count=2048
  3. create 2 partitions. First partition is a MSDOS partition, the second one is a EXT2 partition, make sure that the MSDOS partition is big enough to hold the kernel and boot.ini file.
  4. Create MSDOS partition:
    mkfs.vfat -F 32 -n boot /dev/sdd1
  5. Create Linux partition:
    mke2fs -j -L rootfs /dev/sdd2
  6. mount boot partition:
    sudo mkdir /mnt/sd.android.boot; sudo mount -tvfat /dev/sdd1 /mnt/sd.android.boot
  7. mount rootfs partition:
    sudo mkdir /mnt/sd.android.rootfs; sudo mount /dev/sdd2 /mnt/sd.android.rootfs
  8. Created a boot.ini containing:
    # Set bootargs for ubuntu MMC boot
    setenv bootargs 'mem=512M androidboot.console=ttyS2 console=tty0 console=ttyS2,115200n8 root=/dev/mmcblk0p2 rw rootdelay=3 init=/init rootwait omap-dss.def_disp=dvi         omapfb.video_mode=800x600MR-16@60'
    # Read kernel from FAT partition
    fatload mmc 0:1 80100000 uImage
    # and boot ...
    bootm 80100000
    # Save this file as boot.ini.android and convert it using:
    # mkimage -A arm -O linux -T script -C none -a 0 -e 0 -n 'Boot setup script' -d boot.ini.android boot.ini
  9. converted the boot.ini.android file so that it can be read by uboot:
    mkimage -A arm -O linux -T script -C none -a 0 -e 0 -n 'Boot setup script' -d boot.ini.android boot.ini
  10. copy boot.ini to SD card:
    cp boot.ini /mnt/sd.android.boot
  11. copy kernel to SD card:
    cp uImage-2.6.29-igep0020-20100407145010.bin /mnt/sd.android.boot/uImage
  12. Extract rootfs to /mnt/sd.android.rootfs:
    tar -xvf android-image-eclair-2.1-update1-20100407145010.tar.bz2 -C /mnt/sd.android.rootfs
  13. Run the sync command
  14. Unmount the sd card:
    sudo umount /mnt/sd.android.boot /mnt/sd.android.rootfs

Following the steps above should give you a bootable Android SD card for your IGEPv2.

It looks like WIFI is not working, but it seems that folks are working on it. See the following posts:

http://groups.google.com/group/rowboat/browse_thread/thread/3e7d82394f31c37a

http://groups.google.com/group/rowboat/browse_thread/thread/89d2df0383a3a804

More information:

A special thank you goes to Manel Caro (ISEE) for providing a few pointers.

This entry was posted in Post Android, Uncategorized and tagged , , , , , , , . Bookmark the permalink.

5 Responses to Android on your IGEPv2 in 14 steps

  1. Peter says:

    Hi

    thanks for this tutorial.I

    I have got a problem at step 9. What’s the correct syntax? With or without a “-” between “boot” an “ini? And what does this “bo” at the line end mean?

    Peter

  2. Tom says:

    Thanks – This is just what i’ve been looking for – cant wait to try this tonight.

  3. Rob says:

    Hi,

    I’m new to Linux and would appreciate any help – thanks in advance….
    Ive have followed the steps but at step 8 I get the following message;

    No command ‘setenv’ found, did you mean:
    Command ‘netenv’ from package ‘netenv’ (universe)
    setenv: command not found

    Any ideas?

Leave a comment