Difference between revisions of "Android 4.0.3 ICS on DM814x (Naon)"

From DAVE Developer's Wiki
Jump to: navigation, search
m (Configuring the build system)
m (Building Android)
Line 34: Line 34:
 
* '''out/target/product/ti814xevm/''' will contain the created root file system
 
* '''out/target/product/ti814xevm/''' will contain the created root file system
  
 +
To launch Android build (please note that it will take some time, depending on the host system performaces) enter the following commands:
  
 
+
<pre>
* '''repoICS-init.sh''' inizializza la cartella per ICS e sincronizza TUTTI i git collegati
+
export OUT_DIR_COMMON_BASE=/home/shared/devel/dave/naon-DAA/sw/linux/porsaria/android/rowboat-android/build-dir
* '''avvia.sh''' esegue il make di tutto ICS
+
export USE_CCACHE=1
 +
export CCACHE_DIR=/home/shared/devel/dave/naon-DAA/sw/linux/porsaria/android/rowboat-android/cache
 +
make TARGET_PRODUCT=naon OMAPES=6.x
 +
</pre>
  
  
** Nota: ho modificato '''Makefile''' riga 71-73 in modo che usi il file naon_ics_defconfig al posto di quello TI.
+
** '''N.B''': The '''Makefile''' must be modified at rows 71-73 so that the kernel configuration file naon_ics_defconfig is used instead of the default one.
 
<pre>
 
<pre>
 
ifeq ($(TARGET_PRODUCT), naon)
 
ifeq ($(TARGET_PRODUCT), naon)
Line 50: Line 54:
 
endif
 
endif
 
</pre>
 
</pre>
 +
 
* '''build''' tutti gli script per il build di android
 
* '''build''' tutti gli script per il build di android
 
file modificato '''build/core/root.mk''' aggiungendo riga 13
 
file modificato '''build/core/root.mk''' aggiungendo riga 13

Revision as of 17:17, 28 March 2013

Info Box
Android-logo.jpg Applies to Android
Naon am387x-dm814x.png Applies to Naon
Maya 03.png Applies to Maya
Dido-main.png Applies to Dido

Introduction[edit | edit source]

Texas Instruments provides the Android developement kits for the Sitara platform, but an official release for the DM814x/AM387x processor is not yet available. However, it is possible to build Android 4.0.3 Ice Cream Sandwich (ICS) for the DM814x/AM387x processor and make it run on the Naon/Maya/Dido SoMs.

Useful links[edit | edit source]

Configuring the build system[edit | edit source]

Please follow the instructions to initialize the build environment and in particular download the repo tool and the AOSP source code.

Please note that the required manifest file is rowboat-ics-ti81xx.xml. Please enter the following commands to update the source code:

repo init -u git://gitorious.org/rowboat/manifest.git -m rowboat-ics-ti81xx.xml
repo sync

Building Android[edit | edit source]

Assuming that rowboat-android is the directory containing the full AOSP source code:

  • kernel contains the Android kernel tree that must be patched to add Naon support
  • out/target/product/ti814xevm/ will contain the created root file system

To launch Android build (please note that it will take some time, depending on the host system performaces) enter the following commands:

export OUT_DIR_COMMON_BASE=/home/shared/devel/dave/naon-DAA/sw/linux/porsaria/android/rowboat-android/build-dir
export USE_CCACHE=1
export CCACHE_DIR=/home/shared/devel/dave/naon-DAA/sw/linux/porsaria/android/rowboat-android/cache
make TARGET_PRODUCT=naon OMAPES=6.x


    • N.B: The Makefile must be modified at rows 71-73 so that the kernel configuration file naon_ics_defconfig is used instead of the default one.
ifeq ($(TARGET_PRODUCT), naon)
ifeq ($(KRN_DBG),1)
	$(MAKE) -C kernel ARCH=arm naon_ics_defconfig V=1 CONFIG_DEBUG_DONT_REORDER_CODE=1
else
	$(MAKE) -C kernel ARCH=arm naon_ics_defconfig
endif
endif
  • build tutti gli script per il build di android

file modificato build/core/root.mk aggiungendo riga 13

ifeq ($(TARGET_PRODUCT), naon)
export SYSLINK_VARIANT_NAME := TI814X
CLEAN_RULE := syslink_clean sgx_clean kernel_clean clean
rowboat: sgx
else

riga 60

endif

riga 83

ifeq ($(TARGET_PRODUCT), naon)
ifeq ($(KRN_DBG),1)
	$(MAKE) -C kernel ARCH=arm naon_ics_defconfig V=1 CONFIG_DEBUG_DONT_REORDER_CODE=1
else
        $(MAKE) -C kernel ARCH=arm naon_ics_defconfig
endif
endif

riga 114

ifeq ($(TARGET_PRODUCT), naon)
sgx: kernel_build ti81xx_kernel_modules
else

riga 125

endif
  • avvia_dbg.sh esegue il make con le opzioni di DEBUG per il kernel
  • mkRFS.sh crea il RFS
    • Nota: ho disabilitato la creazione del tar che nn server se si usa NFS. file build/tools/mktarball.sh
  • clean.sh cancella la cartella di build out in modo che il successivo make compili tutto da capo.

Running Android on Naon[edit | edit source]