From Variscite Wiki

1 4AI.1.5 VAR-SOM-OM44 ANDROID ICS 4 0 3 Release Notes

2 Introduction

This software release has been developed and verified in the following software and hardware environment.

OS Kernel: Linux® 3.0
Android: Android IcecreamSandwich 4.0.3(MR1)
Toolchain: CodeSourcery compiler version Sourcery G++ Lite 2010q1-202 for ARM GNU/Linux
Build Host OS: Ubuntu

Important notes:
  • Variscite recommends the use of an Ultra (generation 6 and above) microSD for optimial performance
  • New uboot is required (available on FTP) supporting fastboot.

3 Release Notes

  1.  HDMI 1080p/720p support
  • Known issues: None

4 Build instructions

Follow build instructions under:

Kernel patch is available at Variscite FTP.

git clone git:// kernel/android-3.0
cd kernel/android-3.0
git checkout 4efe9994e0731a113b19bf42003ccb8f672e5ccb
git apply 4AI.1.5.VAR.R3.kernel.patch

5 SD-Card Flashing

Example complete package can be found in Variscite FTP under: /Software/Android/4AI.1.5.VAR.R3

In order to put the GUID Partition Table (GPT) on the SD-Card the following prerequisites should be met:

- utility mkbootimg added to PATH environment variable
- Android ICS software compiled
- X-Loader and U-Boot compiled
- VAR-SOM-OM4460 kernel compiled

The SD-Card burning is done by script.

Create configuration file for the script. The configuration file is a simple text file which contains the following fields:

PAR_TABLE -- partition table (this is file GPT_MLO_UBOOT.img)
XLOADER -- binary X-Loader image (MLO)
UBOOT -- binary U-Boot image (u-boot.bin)
ZIMAGE -- compressed kernel image (zImage)
INITRAMFS -- initramfs directory (ICS root directory)
SYSTEMFS -- system FS directory (ICS system directory)
DATAFS -- data FS directory (ICS data directory)
MEDIA -- media files directory (optional)

Example of a real configuration file:

PAR_TABLE = /home/omap4/GPT_MLO_UBOOT.img
XLOADER = /home/omap4/X-Loader/MLO
UBOOT = /home/omap4/u-boot2/u-boot.bin
ZIMAGE = /home/omap4/kernel/arch/arm/boot/zImage
INITRAMFS= /home/omap4/ICS/root
SYSTEMFS = /home/omap4/ICS/system
DATAFS = /home/omap4/ICS/data

Insert an SD-Card into USB adapter and take a look of how the SD-Card is detected by the kernel.

Now run the script as

./ --dev=<SD-Card device> --config=<configuration file>

For example, if SD-Card is detected as /dev/sdb and the configuration file is sd.conf
the the accurate commands is:

./ --dev=/dev/sdb --config=sd.conf

6 Installing a complete pre-built SD-Card image

The below installation steps enable using a complete sd-card image, without using the above steps

Image can be found under : /Software/Android/4AI.1.5.VAR.R4/images

Plug your SD card to your Linux machine, run dmesg and see what device is added (i.e. /dev/sdX)

$ gunzip 4AI.1.5.VAR.R4.HDMI.img.gz
$ dd if=4AI.1.5.VAR.R4.HDMI.img of=/dev/sdX bs=4M

7 U-Boot Args

After completing either of the above sections to create a bootable SD-Card

plug your SD-Card to VAR-SOM-OM44 Micro-SD slot and boot device.

when u-boot prompts in terminal enter the below u-boot args:

set ethaddr F8:DC:7A:11:22:33
set ethaddr_smsc F8:DC:7A:11:22:34
setenv console console=ttyO2,115200n8 androidboot.console=ttyO2
setenv memory mem=448M@0x80000000 mem=512M@0xA0000000
setenv rootfs root=/dev/mmcblk0p2 rw rootdelay=2 init=/init
setenv vmem  vram="48M" omapfb.vram=0:32M
setenv display omapdss.def_disp=lcd consoleblank=0
setenv ethconf ip=off eth.ks8851=${ethaddr}
setenv bootargs ${console} ${memory} ${rootfs} ${vmem} ${display} $(ethconf)
setenv bootcmd booti mmc0