Android Tutorial

7.12.2011

Poarting Android on TI Zoom2

//COMPILER
//Download cross compiler to Desktop from:

$firefox http://www.codesourcery.com/sgpp/lite/arm/releases/2007q3
$ mkdir /home/user/bin
//(Select ARM GNU/Linux and IA32 GNU/Linux options)
//copy download zip to /home/user/bin and unzip here
$ cp /home/user/Desktop/arm-2007q3-51-arm-none-linux-gnueabi-i686-pc-linux-gnu.tar.bz2 /home/user/bin
$ cd /home/user/bin
$ tar -xjvf arm-2007q3-51-arm-none-linux-gnueabi-i686-pc-linux-gnu.tar.bz2
//Edit bashrc shell setup
$ cd /home/user
$ gedit .bashrc
//add following to the end
#PATH
export PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games
export PATH=$PATH:/home/user/bin/arm-2007q3/bin //for tools
//save and exit
//apply the path changes
$ source .bashrc
//verify path is ok for tools
$ which arm-none-linux-gnueabi-gcc
//should see /home/usr/bin/arm-2007q3/bin/arm-none-linux-gnueabi-gcc



//INSTALL REPO
//verify the directory /home/user/bin exist from COMPILER step above
$ curl http://android.git.kernel.org/repo >~/bin/repo
$ chmod a+x ~/bin/repo

//INSTALL SOURCE
//check mainfest comments for latest release id
$ firefox http://git.omapzoom.org/?p=platform/omapmanifest.git;a=summary
//in this case we see 25.7
$ mkdir /home/user/l25.7
$ mkdir /home/user/l25.7/myandroid
$ cd /home/user/l25.7/myandroid
//enter name and password
//now sync, this will download the source and will take a while about 1 hour
$ repo sync

//BUILD U-BOOT
$ cd /home/user/l25.7/mydroid/bootloader/u-boot
//make CROSS_COMPILE=/<path>/arm-none-linux-gnueabi- omap3430zoom2_config
$ make CROSS_COMPILE=/home/user/bin/arm-2007q3/bin/arm-none-linux-gnueabi- omap3430zoom2_config
$ make

//BUILD X-LOADER (NAND)
$ cd /home/user/l25.7/mydroid/bootloader/x-loader
$ make distclean
$ make CROSS_COMPILE=/home/user/bin/arm-2007q3/bin/arm-none-linux-gnueabi- omap3430zoom2_config
$ make CROSS_COMPILE=/home/user/bin/arm-2007q3/bin/arm-none-linux-gnueabi- ift

//BUILD KERNEL
//add /home/user/l25.7/mydroid/bootloader/u-boot/tools to PATH
$ gedit /home/user/.bashrc
export PATH=$PATH:/home/user/l25.7/mydroid/bootloader/u-boot/tools #for mkimage
//save and exit
$ source /home/user/.bashrc
$ cd /home/user/l25.7/mydroid/kernel
$ make CROSS_COMPILE=/home/user/bin/arm-2007q3/bin/arm-none-linux-gnueabi- distclean
$ make CROSS_COMPILE=/home/user/bin/arm-2007q3/bin/arm-none-linux-gnueabi- omap3_beagle_android_defconfig
$ make CROSS_COMPILE=/home/user/bin/arm-2007q3/bin/arm-none-linux-gnueabi- uImage

//BUILD FILESYSTEM
$ cp /home/user/l25.7/mydroid/vendor/ti/zoom2/buildspec.mk.default /home/user/l25.7/mydroid/buildspec.mk
$ cd /home/user/l25.7/mydroid
$ make -j2

//COPY FILESYSTEM TO MYFS DIRECTORY
$ mkdir /home/user/l25.7/myfs
$ cd /home/user/l25.7/myfs
$ cp - Rfp /home/user/l25.7/mydroid/out/target/product/zoom2/root/* .
$ cp - Rfp /home/user/l25.7/mydroid/out/target/product/zoom2/systen/* .
$ cp - Rfp /home/user/l25.7/mydroid/out/target/product/zoom2/data/ .
$ mv init.rc init.rc.bak
$ cp -Rfp init.omapzoom2.rc init.rc

//FORMAT SD CARD
// ref:http://www.omapzoom.org/gf/project/omapzoom/wiki/?pagename=BootingAndFlashing
//Required Sh card reader and 2GB card
//It is a good idea to format whole card in windows to get to known state..
$ sudo fdisk -l
//this should list your mmc drive somethign like /dev/sdc
//Disk /dev/sdc: 1977MB, 1977614336 bytes

$ sudo fdisk /dev/sdc
Command (m for help): d
Command (m for help): x
Expert command (m for help): h
Number of heads (1-256, default 30): 255
Expert command (m for help): s
Number of sectors (1-63, default 29): 63
Warning: setting sector offset for DOS compatiblity
Expert command (m for help): c
// calculate 1977614336/8225280 = 240.43
Number of cylinders (1-1048567, default 2286): 240

Expert command (m for help): r
Command (m for help): n
Command action
e extended
p primary partition (1-4)
p
Partition number (1-4): 1
First cylinder (1-123, default 1):
Using default value 1
Last cylinder or +size or +sizeM or +sizeK (1-123, default 123): +64M

Command (m for help): n
Command action
e extended
p primary partition (1-4)
p
Partition number (1-4): 2
First cylinder (10-123, default 10):
Using default value 10
Last cylinder or +size or +sizeM or +sizeK (10-123, default 123):

Command (m for help): t
Partition number (1-4): 1
Hex code (type L to list codes): c
Command (m for help): a
Partiton number (1-4): 1
Command (m for help): p
Command (m for help): w

//unmount
$ sudo umount /media/BOOT
$ sudo umount /media/disk

//format
$ sudo mkfs.vfat -F 32 -n boot /dev/sdc1
$ sudo mkfs.ext3 /dev/sdc2

//copy
$ mkdir /tmp/mmc1
$ mkdir /tmp/mmc2
$ sudo mount /dev/sdc1 /tmp/mmc1
$ sudo mount /dev/sdc2 /tmp/mmc2
$ sudo cp /home/user/l25.7/mydroid/bootloader/x-loader/MLO /tmp/mmc1
$ sudo cp /home/user/l25.7/mydroid/bootloader/x-loader/u-boot.bin /tmp/mmc1
$ sudo cp /home/user/l25.7/mydroid/kernel/arch/arm/boot/uImage /tmp/mmc1
$ sudo cp /home/user/l25.7/mydroid/bootloader/x-loader/MLO /tmp/mmc1
$ sudo cp -Rfp /home/user/l25.7/myfs/* /tmp/mmc2
$ chmod -R 777 /tmp/mmc2/*

//umount
$ sudo umount /tmp/mmc1
$ sudo umount /tmp/mmc2

//Plug SD card into Zoom2 and power up. USB should be connected to left most usb on debug board.

//SETUP ENVIROMENT VARIABLES





//file bashrc
export PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games
export PATH=$PATH:/home/user/bin/arm-2007q3/bin
export PATH=$PATH:/home/user/bin/corkscrew-2.0

No comments:

Post a Comment