Name | Last modified | Size | License | |
---|---|---|---|---|
Parent Directory | ||||
MANIFEST | 12-Jan-2018 17:54 | 313 | open | |
MD5SUMS | 12-Jan-2018 17:54 | 147 | open | |
boot.tar.bz2 | 26-Feb-2018 20:07 | 12.7M | open | |
kernel_config | 12-Jan-2018 17:54 | 57.6K | open | |
lava-job-info | 12-Jan-2018 17:54 | 63 | open | |
linaro_android_build_cmds.sh | 12-Jan-2018 17:54 | 8.0K | open | |
linaro_kernel_build_cmds.sh | 12-Jan-2018 17:54 | 1.8K | open | |
pinned-manifest-ann.xml | 12-Jan-2018 17:54 | 65.6K | open | |
pinned-manifest.xml | 12-Jan-2018 17:54 | 62.9K | open | |
source-manifest-ann.xml | 12-Jan-2018 17:54 | 80.1K | open | |
source-manifest.xml | 12-Jan-2018 17:54 | 77.4K | open | |
system.tar.bz2 | 26-Feb-2018 20:07 | 203.1M | open | |
userdata.tar.bz2 | 12-Jan-2018 17:54 | 2.6M | open | |
vexpress.img.bz2 | 26-Feb-2018 20:07 | 217.9M | open |
Linaro provides two methods for installing Linaro binary builds:
- Using a pre-built image, which you can download
- Assembling your own image using provided components
Pre-Installation Steps
Before any installation begins, it is important that you ensure your Versatile Express board has the latest firmware and boot loader installed. Please check the “Firmware Update” tab on this page for the latest updates and installation instructions.
Using pre-built image
Prerequisites
- Ubuntu 12.04 64 bit or newer on your desktop PC, which you can download from www.ubuntu.com
- 4GB SD card or larger
- Latest firmware installed onto the Versatile Express. Please see “Firmware Update” tab
- This release pre-built image (vexpress.img.bz2), which you can downloaded from the above list of artifacts or just click here
Installation Steps
- Unzip the downloaded pre-built image
- Insert SD card into your PC and note the assigned ‘/dev/sdX’
bc. $dmesg $SDCARD=/dev/sdX # sdcard found from dmesg above $bzcat vexpress.img.bz2 | sudo dd bs=64k of=$SDCARD
When the image is created, skip down to the section “Booting the image”.
Note: Windows users may use the Image Writer for Windows
Building a custom image using pre-built components.
Sometimes, you may wish to build your own custom image for a Versatile Express. Perhaps you wish to use a more recent snapshot of the hardware pack for Ubuntu or take the latest Android build. Whatever the reason, you will want to use the Linaro Image Tools to create a custom image.
Using components to generate the image will yield the same functionality found in the pre-built image of the same release.
Prerequisites
- Ubuntu 12.04 64 bit or newer on your desktop PC, which you can download from www.ubuntu.com
- Download Artifacts from above or use the following command in your terminal
bc. $wget http://releases.linaro.org/13.06/android/vexpress/boot.tar.bz2 $wget http://releases.linaro.org/13.06/android/vexpress/system.tar.bz2 $wget http://releases.linaro.org/13.06/android/vexpress/userdata.tar.bz2
- Download Linaro image tools which can be obtained in two ways:
- Method 1: Install them from the Linaro Image Tools PPA
bc. $sudo add-apt-repository ppa:linaro-maintainers/tools $sudo apt-get update $sudo apt-get install linaro-image-tools
- Method 2: Building from source
$wget http://releases.linaro.org/13.06/components/platform/linaro-image-tools/linaro-image-tools-2013.06.tar.gz
- Insert SD card and note the assigned ‘/dev/sdX’ or ‘/dev/mmcblk0’
$dmesg | less
Look for a line that looks like the following at the end of the log
[288582.790722] sdc: sdc1 sdc2 sdc3 sdc4
Or, if your machine uses ‘/dev/mmcblkX’, you may see a line line this:
[10770.938042] mmcblk0: p1 p2 p3 p4 < p5 p6 >
WARNING: In the next step, make sure you use /dev/“whatever you see above”. You can erase your hard drive with the wrong parameter.
- Create media
linaro-android-media-create --mmc /dev/sdX --dev vexpress --boot boot.tar.bz2 --system system.tar.bz2 --userdata userdata.tar.bz2
Booting the image
After the media create tool has finished executing, remove the SD card from your PC and insert it into the Versatile Express board.
Before you can boot the image you will need to install the UEFI boot loader into NOR flash and update the Versatile MMC card configuration files. The instructions on the Firmware Update tab provide information on how to do this and how to configure UEFI to specify the SD card as a boot device.
Advanced Setup for Benchmarking
Advanced users of Versatile Express may wish to perform benchmarking tests on the board.
Booting with the root filesystem on a USB mass storage device is more efficient both in terms of electrical power and processing speed. Unfortunately, UEFI does not support booting the kernel from USB. In order to achieve this, we recommend that you install the kernel onto SD card and the root filesystem to USB mass storage.
The instructions below will create two identical images: one on SD card and one on USB mass storage. The user is able to choose which device the kernel uses for the root filesystem by adding a command line parameter. By default, the android kernel will expect the root filesystem to be read from the SD card. Adding the parameter “androidboot.hardware=arm-versatileexpress-usb” to the command line will over-ride this behaviour and instruct the kernel to read the root filesystem from USB.
Before following these instructions, ensure that you have both an SD card and a USB mass storage device of at least 4GB inserted into your Linux machine.
Using a pre-built image
Follow the instructions above for creating an image on an SD card. Then repeat the instructions using the device path for your USB device. For example:
bc. $dmesg $SDCARD=/dev/sdX # sdcard found from dmesg above $USBMS=/dev/sdY # USB device found from dmesg above $bzcat vexpress.img.bz2 | sudo dd bs=64k of=$SDCARD $bzcat vexpress.img.bz2 | sudo dd bs=64k of=$USBMS
Using linaro-android-media-create
First the user should run linaro-android-media-create as described above. Then run it again with a USB mass storage device. This will create two release images: one on the SD card and the other on the USB device.
For example:
bc. $dmesg $SDCARD=/dev/sdX # sdcard found from dmesg above $USBMS=/dev/sdY # USB device found from dmesg above $linaro-android-media-create —mmc $SDCARD —dev vexpress —boot boot.tar.bz2 —system system.tar.bz2 —userdata userdata.tar.bz2 $linaro-android-media-create —mmc $USBMS —dev vexpress —boot boot.tar.bz2 —system system.tar.bz2 —userdata userdata.tar.bz2
Booting your system with the advanced setup
Insert the SD card into the card slot on the Versatile Express board and insert the USB device into one of the USB device slots on the board. The USB slots are located below the ethernet port on the rear panel.
Boot the board using the standard UEFI firmware setup as described in the Firmware Update tab.
When UEFI starts, you will need to interrupt the boot countdown and edit the configuration to add the following text to the end of the kernel commandline:
androidboot.hardware=arm-versatileexpress-usb
Instructions for updating the UEFI configuration can be found on the UEFI wiki
Instructions for https://android-build.linaro.org/builds/~linaro-android/
Get artifacts
Scroll down to the ‘Downloads’ section
Save linaro_android_build_cmds.sh to where you’d like to make your build.
Run the build script
The linaro_android_build_cmds.sh script will download the source and create the build.
$ chmod +x linaro_android_build_cmds.sh $ ./linaro_android_build_cmds.sh -h #To print the script usage
Most commonly used build options:
$ ./linaro_android_build_cmds.sh -t #To build from the tip of the branch without overlay $ ./linaro_android_build_cmds.sh -t -o <overlay> #To build from the tip of the branch with provided overlay $ ./linaro_android_build_cmds.sh -m <pinned_manifest> -o <overlay> #To reproduce an exact build from pinned manifest $ ./linaro_android_build_cmds.sh -t -l <login-id> #Provide login/access ID to clone and build code from linaro-private repositories
Get linaro image tools
Run these commands to get all the dependencies for linaro-image-tools and the tip of linaro-image-tools
$ sudo add-apt-repository ppa:linaro-maintainers/tools $ sudo apt-get update $ sudo apt-get install linaro-image-toolsIf you’re using a released build (with a -release or from releases.linaro.org), skip this step. If you’re using a “tip” build do not skip the step and do the following: $ sudo apt-get install bzr $ bzr branch lp:linaro-image-tools
Create media (SD card)
Disable automount (instructions provided for Gnome)
$ TMP1=$(dconf read /org/gnome/desktop/media-handling/automount) $ TMP2=$(dconf read /org/gnome/desktop/media-handling/automount-open) $ dconf write /org/gnome/desktop/media-handling/automount false $ dconf write /org/gnome/desktop/media-handling/automount-open false
Insert an SD card
Run ‘dmesg’
$ dmesg
Look for a line that looks like the following at the end of the log
[288582.790722] sdc: sdc1 sdc2 sdc3 sdc4 < sdc5 sdc6 >
WARNING In the next step, make sure you use /dev/“whatever you see above”.
You can erase your hard drive with the wrong parameter.
Run linaro image tools
$ linaro-android-media-create --mmc /dev/sdc --dev <BOARD> --boot out/target/product/<BOARD>/boot.tar.bz2 --system out/target/product/<BOARD>/system.tar.bz2 --userdata out/target/product/<BOARD>/userdata.tar.bz2
If you’re using tip of linaro image tools
$ ./linaro-image-tools/linaro-android-media-create --mmc /dev/sdc --dev <BOARD> --boot out/target/product/<BOARD>/boot.tar.bz2 --system out/target/product/<BOARD>/system.tar.bz2 --userdata out/target/product/<BOARD>/userdata.tar.bz2
Restore automount
$ dconf write /org/gnome/desktop/media-handling/automount $TMP1 $ dconf write /org/gnome/desktop/media-handling/automount-open $TMP2
Remove the SD card from the device writer and plug it into the board.
Check console output
Plug in an USB-to-serial converter and run minicom
$ minicom -D /dev/ttyUSB0 -w -C minicom.txt
Project: "arm/models/boot-wrapper"
Description: "Project: The boot-wrapper is a fairly simple implementation of a boot loader intended to run under an ARM Fast Model and boot Linux."
Project: "arm/uefi/uefi"
Description: "Project: ARM UEFI repository. Tianocore EDK2 code with Linaro patches."
Project: "device/linaro/common"
Description: "Project: Non AOSP project. Linaro common device configuration support."
Project: "device/linaro/hi4511"
Description: "Project: Non AOSP project. Linaro hi4511 device configuration support."
Project: "device/linaro/pandaboard"
Description: "Project: Non AOSP project. Linaro pandaboard device configuration support."
Project: "device/linaro/vexpress"
Description: "Project: Non AOSP project. Linaro vexpress device configuration support."
Project: "device/samsung/proprietary-open"
Description: "Project: Non AOSP project. Samsung's proprietary but open projects."
Project: "device/samsung_slsi/arndale"
Description: "Project: Non AOSP project. Linaro arndale device configuration support."
Project: "hardware/linaro/common"
Description: "Project: Non AOSP project. Linaro common hardware support e.g. libcamera."
Project: "people/tixy/u-boot"
Description: "Project: u-boot repository for vexpress."
Project: "platform/external/android-input-bridge"
Description: "Project: Non AOSP project. Android Input Bridge. It is a tool to control input devices remotely (over adb derived protocol)."
Project: "platform/external/busybox"
Description: "Project: Non AOSP project. Common busybox utilities built for Android."
Project: "platform/external/cyclictest"
Description: "Project: Non AOSP project. cyclictest is used as a stress test to generate synthetic CPU load for stress testing."
Project: "platform/external/ffmpeg"
Description: "Project: Non AOSP project. ffmpeg, mainly used for MultiMedia testing."
Project: "platform/external/htop"
Description: "Project: Non AOSP project. Htop utility to monitor system and memory load on Linaro builds."
Project: "platform/external/iozone"
Description: "Project: Non AOSP project. iozone is used to benchmark filesystem performance."
Project: "platform/external/libnl"
Description: "Project: Non AOSP project. Supporting obsolete AOSP libnl project"
Project: "platform/external/linaro-android-tools"
Description: "Project: Non AOSP project. Linaro android tools to update uInitrd and boot partition of Linaro Android images."
Project: "platform/external/lrzsz"
Description: "Project: Non AOSP project. Unix communication package providing the XMODEM, YMODEM ZMODEM file transfer protocols. Used to get a file over from minicom before adb and friends are up on a new device."
Project: "platform/external/memtester"
Description: "Project: Non AOSP project. memtester is used to test for faulty memory subsystem."
Project: "platform/external/ncurses"
Description: "Project: Non AOSP project. libncurses for Android."
Project: "platform/external/speex"
Description: "Project: Non AOSP project. Open Source speech codec. Linaro monifications include making project build as a shared library, build resampler plugin and few additional NEON patches."
Project: "platform/external/stress"
Description: "Project: Non AOSP project. stress test used for system wide stress testing."
Project: "platform/external/stressapptest"
Description: "Project: stressapptest tries to maximize randomized traffic to memory from processor and I/O, with the intent of creating a realistic high load situation in order to stress test the device. Also used in cache-coherency testing."
Project: "platform/external/sysbench"
Description: "Project: Non AOSP project. Sysbench tool is a System Evaluation benchmark."
Project: "platform/external/thirdparty-benchmarks"
Description: "Project: Non AOSP project. This project repository is used for storing uiautomator test cases of thirdparty benchmark applications and monkeyrunner scripts for running and parsing the result automatically."
Project: "platform/external/x264"
Description: "Project: Non AOSP project. H.264 software video codec, used by ffmpeg."
Project: "platform/hardware/linaro/tinyhal"
Description: "Project: Non AOSP project. Linaro tiny audio hal support"
Project: "platform/hardware/samsung/origen/gralloc_ump"
Description: "Project: Non AOSP project. Samsung's gralloc implementation based on UMP(Unified Memory Provider)."
Project: "platform/hardware/samsung/origen/ump"
Description: "Project: Non AOSP project. Samsung's UMP(Unified Memory Provider) implementation."
Project: "platform/packages/apps/0xbench"
Description: "Project: Non AOSP project. 0xbench benchmarking suit. It is used for System wide benchmarking."
Project: "platform/packages/apps/DisableSuspend"
Description: "Project: Non AOSP project. DisableSuspend is an app to disable suspend mode in Android. It is used to facilitate automation and testing."
Project: "platform/packages/wallpapers/LinaroWallpaper"
Description: "Project: Non AOSP project. Linaro Wallpaper application."
Project: "platform/prebuilts/gcc/linux-x86/arm/arm-linux-androideabi-4.7-linaro"
Description: "Project: Non AOSP project. Linaro's prebuilt gcc-4.7 toolchain."
Project: "platform/prebuilts/gcc/linux-x86/arm/arm-linux-androideabi-4.8-linaro"
Description: "Project: Non AOSP project. Linaro's prebuilt gcc-4.8 toolchain."
Project: "platform/system/core"
Description: "Project: init.rc changes and bug fixes"