Run Android ICS 4.0.3 from NBD02 on-board-nand-flash

TI Sitara Cortex-A8 MPU and it's companion boards
Post Reply
esky-sh
Posts: 1435
Joined: Sat Dec 20, 2008 4:21 am

Run Android ICS 4.0.3 from NBD02 on-board-nand-flash

Post by esky-sh » Sun Jul 29, 2012 1:25 am

Here is a short description for how to install TI-Android-ICS-4.0.3-DevKit-3.0.1 (MLO/u-boot/uImage/Filesystem) into Beaglebone Companion Board(NBD02) on board 256MB(K9F2G08) NAND flash.

Preparation:
1. Download TI Prebuilt images from their official site
http://software-dl.ti.com/dsps/dsps_pub ... IFS.tar.gz
2. Untar AM335xEVM_UBIFS.tar.gz
$ tar -xzvf AM335xEVM_UBIFS.tar.gz
$ cd AM335xEVM_UBIFS
3. The tree structure for uncompressed pre-built image directory should be as:
AM335xEVM_UBIFS
|-- START_HERE
|-- Boot_Images
| |-- MLO
| |-- u-boot.img
| |-- uEnv.txt
| |-- boot.scr
| `-- uImage
|-- Filesystem
| `-- ubi.img
|-- Media_Clips
| |-- Audio
| |-- Images
| `-- Video
|-- README.txt
`-- mkmmc-android-ubifs.sh
4. Replace the ubi.img file with the one download from our FTP server.
5. Replace the uImage file with the one download from our FTP server.
6.* Replace the MLO file with the one download from our FTP server.
7.* Replace the u-boot.img file with the one download from our FTP server.
8. Prepare the MMC/SD card with pre-built images:
$ sudo ./mkmmc-android-ubifs.sh /dev/sd<device>
Flash Writing:
9. Boot up your Beaglebone board together with your NBD02 Beaglebone companion board, follow the Steps in README.txt to proceed further.
10.* Change default bootargs, to set appropriate console port:
setenv bootargs 'console=ttyO1,115200n8 androidboot.console=ttyO1 mem=256M root=ubi0:rootfs rootfstype=ubifs ubi.mtd=7,2048 rw rootwait init=/init ip=off'
11.* Save your bootargs into nand flash:
nandecc hw 0
saveenv
12. Power off your Beaglebone and NBD02 board.

Hardware Rework(Nand Boot Setting):
13. Unmount the 10K resistor from R34 position and mount it to R35 position on NBD02 board.
14. Mount together Beaglebone, NBD02 and Beadframe.
15. Power on the boards to let Android bootup from on board nandflash.

* Note:
There steps are not needed, if you use Beaglebone UART0 as console port.

esky-sh
Posts: 1435
Joined: Sat Dec 20, 2008 4:21 am

boot.scr commands

Post by esky-sh » Sun Jul 29, 2012 2:07 am

mmc rescan;
echo Loading MLO from mmc ...
if fatload mmc 0:1 0x81000000 MLO
then
echo Erasing x-loader NAND partition ...
nandecc hw 2
nand erase 0x00000000 0x00020000
echo Writing MLO on NAND x-loader partition ...
nand write 0x81000000 0x00000000 0x00020000
fi
echo Loading u-boot.img from mmc ...
if fatload mmc 0 0x81000000 u-boot.img
then
echo Erasing u-boot NAND partition ...
nandecc hw 2
nand erase 0x00080000 0x001E0000
echo Writing u-boot.img on NAND bootloader partition ...
nand write 0x81000000 0x00080000 0x001E0000
fi
echo Loading uImage from mmc ...
if fatload mmc 0 0x81000000 uImage
then
echo Erasing linux NAND partition ...
nandecc hw 2
nand erase 0x00280000 0x00500000
echo Writing uImage on NAND linux partition ...
nand write.i 0x81000000 0x00280000 0x00500000
fi
echo Loading ubi.img from mmc ...
echo it will take some 10 minutes ... ... ... ...
if fatload mmc 0 0x81000000 ubi.img
then
echo Erasing NAND rootfs partition ...
nandecc hw 2
nand erase 0x00780000 0x0F880000
echo Writing ubi.img on NAND rootfs partition ...
nand write.i 0x81000000 0x00780000 0x07440000
fi
setenv nandboot 'echo Booting from nand ... ; nandecc hw 2;nand read 0x81000000 0x00280000 0x00500000 ; bootm 0x81000000;'
setenv bootcmd 'run nandboot'
setenv bootargs 'console=ttyO0,115200n8 androidboot.console=ttyO0 mem=256M root=ubi0:rootfs rootfstype=ubifs ubi.mtd=7,2048 rw rootwait init=/init ip=off'
nandecc hw 0
saveenv
boot

Post Reply

Who is online

Users browsing this forum: No registered users and 3 guests