This Quickstart provides you with the tools and know-how to install and work with the Android Board Support Package (BSP) for the phyCORE-AM57x Rapid Development Kit. This Quickstart shows you how to do everything from installing the appropriate tools and source, to building custom kernels, to deploying the OS, to exercising the software and hardware. Please refer to the phyCORE-AM57x Hardware Manual for specific information on board-level features such as jumper configuration, memory mapping and pin layout for the phyCORE-AM57x System on Module (SOM) and baseboard. Additionally, gain access to the SOM and baseboard schematics for the phyCORE-AM57x Rapid Development Kit by registering at the following: http://phytec.com/support/registration/.
Requirements
The following system requirements are necessary to successfully complete this Quickstart. Deviations from these requirements may suffice, or may have other workarounds.
Hardware
- phyCORE-AM57x System on Module (PCM-057)
- phyCORE-AM57x Baseboard (PCM-948)
- Serial cable (RS-232)
- Ethernet cable
- USB A to mini-B cable
AC adapter supplying 12VDC / min. 2A
SD card reader operational under Linux
Software
- A modern GNU/Linux Operating host system either natively or via a virtual machine:
- Ubuntu 14.04 LTS recommended, 64-bit required. Other distributions will likely work, please note that some setup information as well as OS-specific commands and paths may differ
- If using a virtual machine, VMWare Workstation, VMWare Player, and VirtualBox are all viable solutions
- Ubuntu 14.04 LTS recommended, 64-bit required. Other distributions will likely work, please note that some setup information as well as OS-specific commands and paths may differ
- Root access to your Linux Host PC. Some commands in the Quickstart will not work if you don’t have sudo access (ex. package installation, formatting SD card)
- At least 120GB free on target build partition.
- Active Internet connection
Development Host Setup
Host Debian Packages
Android development requires certain packages to be installed. The commands below are separated into two categories: for flashing, and for building.
Packages for Flashing
These packages are the bare minimum required to flash pre-built images to the target. Specifically phablet-tools contains fastboot and adb, and android-tools-fsutils contains make_ext4fs.
sudo apt-get install phablet-tools android-tools-fsutils git
If your goal is to flash images and not build your own, you can continue to the Getting Started with Pre-built Images section
Packages for Building
These packages are required for building from our sources.
sudo apt-get install git-core gnupg flex bison gperf build-essential zip curl zlib1g-dev gcc-multilib g++-multilib libc6-dev-i386 lib32ncurses5-dev x11proto-core-dev libx11-dev lib32z-dev ccache libgl1-mesa-dev libxml2-utils xsltproc unzip
Additionally, Android Nougat requires Java 1.8.x to be installed and configured.
We have provided Google's instructions for Ubuntu 14.04 below, based on their complete instructions for Ubuntu 14.04 and other Ubuntu versions that are available here: https://source.android.com/source/initializing#installing-the-jdk.
This can be done with the following steps:
- Download the.deb packages for 64-bit architecture from archive.ubuntu.com:
- openjdk-8-jre-headless_8u45-b14-1_amd64.deb with
SHA2560f5aba8db39088283b51e00054813063173a4d8809f70033976f83e214ab56c0
- openjdk-8-jre_8u45-b14-1_amd64.deb with
SHA2569ef76c4562d39432b69baf6c18f199707c5c56a5b4566847df908b7d74e15849
- openjdk-8-jdk_8u45-b14-1_amd64.deb with
SHA2566e47215cf6205aa829e6a0a64985075bd29d1f428a4006a80c9db371c2fc3c4c
- openjdk-8-jre-headless_8u45-b14-1_amd64.deb with
Optionally, confirm the checksums of the downloaded files against the SHA256 strings using the sha256sum tool:
sha256sum {downloaded .deb file}
Install the packages:
sudo apt-get update
Run dpkg for the downloaded .deb files. It may produce errors due to missing dependencies:
sudo dpkg -i openjdk-8-*
To fix missing dependencies:
sudo apt-get -f install
(Optional) If there was another java version previously installed, update the default versions:
sudo update-alternatives --config java sudo update-alternatives --config javac
Directory Setup
Create a directory that will used as the root for all of the sources and additional components needed for building:
sudo mkdir -p /opt/PHYTEC_BSPS sudo chown -R <user>: /opt/PHYTEC_BSPS # <user> should be replaced by your host's username
This directory is reference throughout this documentation. If you use a different directory, be sure to adjust your commands accordingly.
Toolchain for Building the Kernel and Bootloaders
The Android Filesystem (AFS) contains a pre-built toolchain, but it is not 100% compatible with our external sources (the Linux kernel and U-boot) so we recommend downloading and utilizing a separate Linaro toolchain for this purpose:
wget https://releases.linaro.org/components/toolchain/binaries/5.3-2016.02/arm-linux-gnueabihf/gcc-linaro-5.3-2016.02-x86_64_arm-linux-gnueabihf.tar.xz tar -Jxvf gcc-linaro-5.3-2016.02-x86_64_arm-linux-gnueabihf.tar.xz -C /opt/PHYTEC_BSPS rm gcc-linaro-5.3-2016.02-x86_64_arm-linux-gnueabihf.tar.xz
After extracting the toolchain, it needs to be added to the host's PATH to properly use it for building:
export PATH=/opt/PHYTEC_BSPS/gcc-linaro-5.3-2016.02-x86_64_arm-linux-gnueabihf/bin:$PATH
To make this change last beyond your current terminal session, use a text editor to modify your ~/.bashrc file and add it to the end.
Git Setup
If you have not yet configured your Git environment on this machine, please execute the following commands to set your user name and email address. See here for more information on getting started with Git.
git config --global user.email "your@email.com" git config --global user.name "Your Name" git config --global http.sslcainfo /etc/ssl/certs/ca-certificates.crt
Server Setup (Optional)
Getting Started with Pre-Built Images
This section is intended to walk you through the steps required to retrieve, flash, and boot the released pre-built images.
If you made it this far without first visiting the Requirements, Development Host Setup, and Directory Setup sections please follow those links and return when your configuration meets the requirements and your environment is ready.
Connector Interfaces
Use the following as a reference for the connector interfaces on the phyCORE-AM57x Rapid Development Kit that will be used in this Quickstart.