Personal tools

VAR-SOM-AM35 Android GS

From Variscite Wiki

Revision as of 06:14, 22 January 2014 by Admin (Talk | contribs)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

VAR-SOM-AM35 - Android support


Variscite's VAR-SOM-AM35 Android support is based on the rowboat project

Android version 2.3.4 (GingerBread )

Variscite provides updated kernel  sources files based on kernel 2.6.37

Supported device drivers:

1. LCD panel, including PowerVR (OpenGL)
2. Touch panel
3. USB host
4. USB gadget
5. SD card
6. HDMI output
7. Ethernet (Web browsing)
8. UARTs
9. SPI
10. I2C
11. Audio

Android File system supplied is the precompiled version of TI here(AM35x EVM)

Android file system is an EXT3 file sytem and requires an SD-Card of minimum 2GB

Kernel sources files, Pre-built kernel image, and file-system image can be downloaded from Variscite's FTP under: \VAR-SOM-OM35_VAR-SOM-OM37_VAR-SOM-AM35\Software\Android\VAR-SOM-AM35


1 Building Kernel

  • prebuild kernel can be found in Variscite FTP under :\VAR-SOM-OM35_VAR-SOM-OM37_VAR-SOM-AM35\Software\Android\VAR-SOM-AM35\GingerBread\pre-built-images\

Obtaining Kernel sources:

git clone git://gitorious.org/rowboat/kernel.git
cd kernel
git checkout 3b51b95cf07930707bbe5a51469df3c8e63543bd


Apply Rowboat Variscite patch:

git apply rowboat-2.6.37-var.patch


Configure and compile the kernel:

make ARCH=arm CROSS_COMPILE=arm-none-linux-gnueabi- var-som-am35_android_defconfig
make ARCH=arm CROSS_COMPILE=arm-none-linux-gnueabi- uImage

Bootargs:

setenv get_kernel       run mmc_kernel       
setenv mmc_kernel       'mmc init; fatload mmc 1 0x80000000 uImage'
setenv bootargs_fs      'mem=256M console=ttyO2,115200 noinitrd rw root=/dev/mmcblk0p2 init=/init ip=off eth=F8:DC:7a:33:44:55 omap_vout.vid1_static_vrfb_alloc=y vram=8M omapfb.vram=0:8M bootdelay=2'
setenv boot_fs          run get_kernel\; setenv bootargs \$bootargs_fs\; run addip\; bootm 0x80000000
setenv bootcmd          run boot_fs
setenv bootdelay        2
save

Uboot Booargs for DVI display:

 set bootargs 'mem=256M console=ttyO2,115200 noinitrd rw root=/dev/mmcblk0p2 init=/init ip=off eth=F8:DC:7a:33:44:55 omap_vout.vid1_static_vrfb_alloc=y vram=8M omapfb.vram=0:8M bootdelay=2 omapfb.mode=dvi:1280x720MR-16 omapdss.def_disp="dvi"

2 Creating Boot / Filesystem SD Card

Variscite recommends the use of Ultra (generation 6 and above) microSD for optimial performance.

You will need to format your SD for the Linux file system. Connect your SD memory card reader with memory card inserted to a USB port on your Linux Ubuntu PC. You must login as Super User.
Run the supplied (Included in FTP) script prepare-sd.sh

$ sudo ./prepare-sd.sh --dev=/dev/sdX --config=config_file.sd


Example:
prepare-sd.sh --dev=/dev/sdb --config=config_file.sd



Configuration file format
-------------------------
Configuration file must contain the following fields:



XLOADER -- binary X-Loader image
UBOOT -- binary U-Boot image
BOOTSCR -- boot.scr script
KERNEL -- kernel image in U-Boot format
ROOTFS -- rootFS either as a directory or as a .TAR archive.
.tar, .tar.gz, .tar.bz2 and .tar.xz archives supported



Example:


XLOADER = /home/user/var-som-am35/MLO
UBOOT =   /home/user/var-som-am35/u-boot.bin
KERNEL =  /home/user/var-som-am35/uImage
ROOTFS =  /home/user/var-som-am35/myfs


What script will do
--------------------
The prepare-sd.sh partitions the MMC/SD card into three partiions namely boot, rootfs and data.
The script will then put the boot images on boot partition and extracts the android rootfs-rootfs_*.tar.bz2 to rootfs partition.
Finally the script will copy the Media clips to the data partition.


3 Networking

Getting IP address via DHCP:

netcfg eth0 dhcp

Setting DNS server:

setprop net.dns1 `getprop net.eth0.dns1`