Open main menu

DAVE Developer's Wiki β

Android 4.0.3 ICS on DM814x (Naon)

Revision as of 17:17, 28 March 2013 by DevWikiAdmin (talk | contribs) (Building Android)

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

Contents

IntroductionEdit

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 linksEdit

Configuring the build systemEdit

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 AndroidEdit

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 NaonEdit