Chapter 4: Hardware & Toolchain Preparation
For Trusty OS development, we recommend the following platforms:
When selecting hardware for Trusty development:
fastboot oem commandsTrusty development requires the Android Open Source Project (AOSP) build environment.
sudo apt-get install git-core gnupg flex bison build-essential zip curl zlib1g-dev \
gcc-multilib g++-multilib libc6-dev-i386 lib32ncurses5-dev x11proto-core-dev \
libx11-dev lib32z1-dev libgl1-mesa-dev libxml2-utils xsltproc unzip fontconfig
git config --global user.name "Your Name"
git config --global user.email "you@example.com"
mkdir ~/bin
curl https://storage.googleapis.com/git-repo-downloads/repo > ~/bin/repo
chmod a+x ~/bin/repo
~/.bashrc:
export PATH=~/bin:$PATH
mkdir ~/aosp
cd ~/aosp
repo init -u https://android.googlesource.com/platform/manifest -b android-12.0.0_r1
repo sync -j4
repo sync -j$(nproc --all) to use all available CPU cores
for faster synchronization.
AOSP provides prebuilt toolchains for Trusty development.
prebuilts/gcc/linux-x86/arm/arm-eabi-4.8prebuilts/gcc/linux-x86/aarch64/aarch64-linux-android-4.9prebuilts/clang/host/linux-x86/clang-4639204trusty/prebuiltsAdd these to your .bashrc or build script:
export CROSS_COMPILE=arm-eabi-
export PATH=$PATH:<AOSP_ROOT>/prebuilts/gcc/linux-x86/arm/arm-eabi-4.8/bin
export TRUSTY_TOP=<AOSP_ROOT>/trusty
cd $TRUSTY_TOP
. ./build/envsetup.sh
lunch trusty_<device>-userdebug
make -j$(nproc --all)
trusty_release target