Android 4.0.3 ICS on DM814x (Naon)

From DAVE Developer's Wiki
Revision as of 17:14, 28 March 2013 by DevWikiAdmin (talk | contribs) (Configuring the build system)

Jump to: navigation, search
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


  • repoICS-init.sh inizializza la cartella per ICS e sincronizza TUTTI i git collegati
  • avvia.sh esegue il make di tutto ICS


    • Nota: ho modificato Makefile riga 71-73 in modo che usi il file naon_ics_defconfig al posto di quello TI.
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]