Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  • AVA Platform

  • Display connected to the VGS?? VGA interface

  • Enough disk space

  • Linux desktop (Tested on Ubuntu 22.04.3 LTS and Debian GNU/Linux 12 (bookworm), x86 is fine)

Prebuilt images

...

TRS image can be flashed on either an NVME or a USB stick. It’s recommended to use the shell script below (select the device you wish to flash to):

Code Block
$ wget https://people.linaro.org/~leo.yan/arm_blueprint/aaos_on_xen/trs-image-trs-qemuarm64.wic
$ sh flash_trs.sh /dev/nvmeXn1  # for flashing TRS on NVME block device
$ sh flash_trs.sh /dev/sdX      # for flashing TRS on USB stick

This script The below script flash_trs.sh for flashing TRS wic image onto a block device, the block device can be either a NVMe or USB stick, it also extends the root file system partition to the end of the device to provide sufficient disk space for storing the Android Automotive OS image.

Code Block
languagebash
#!/bin/bash

DEV=$1

sudo parted ${DEV} print

echo "Please confirm if the partitiondevice is right?"
while : ; do
	read -n 1 k <&1
	if [[ $k = y ]] ; then
		printf "\n"
		break
	else
		printf "\nExit\n"
		exit 0
	fi
done

echo "Copy TRS image to the device ${DEV}"
sudo dd bs=4M if=./trs-image-trs-qemuarm64.wic of=$DEV status=progress && sync

sudo growpart $DEV 2
if [[ $DEV == *"nvme"* ]]; sudo /home/leoy/Downloads/e2fsprogs-1.47.0/e2fsck/e2fsckthen
    ## Flash NVMe block device
    sudo e2fsck -f "${DEV}p2"
    sudo /home/leoy/Downloads/e2fsprogs-1.47.0/resize/resize2fs "${DEV}p2"
else
    ## Add comment
#sudo /home/leoy/Downloads/e2fsprogs-1.47.0/e2fsck/ Flash USB block device
    sudo e2fsck -f "${DEV}2"
#sudo /home/leoy/Downloads/e2fsprogs-1.47.0/resize/    sudo resize2fs "${DEV}2"
fi

sudo parted ${DEV} print

By following below steps, you can firstly download the prebuilt TRS wic image and flash it to NVMe or USB stick.

Code Block
$ wget https://people.linaro.org/~leo.yan/arm_blueprint/aaos_on_xen/trs-image-trs-qemuarm64.wic
$ sh flash_trs.sh /dev/nvmeXn1  # for flashing TRS on NVMe block device
$ sh flash_trs.sh /dev/sdX      # for flashing TRS on USB stick

Note 1: The shell script requires the e2fsck and resize2fs utilities to be at least version 1.47.0 or newer. if not available, please download the e2fsprogs source and build it and install it.Note 2: Because USB stick and NVME device have different block naming, you need to comment out lines 23 and 24, and enable lines 25 and 26.

Run Android Automotive in a Xen virtual machine

Once TRS system booted up, you need to download Android Cuttlefish image and uncompress it into a specific the folder (eg. /home/leoy/android-cf-mainline/cf ). Due to , this is because the overlay images contains the absolute path so we must uncompress the Cuttlefish image into an absolut path. The commands are:

Code Block
languagenone
# wget https://people.linaro.org/~leo.yan/arm_blueprint/aaos_on_xen/cuttlefish.tgz
# wget https://people.linaro.org/~leo.yan/arm_blueprint/aaos_on_xen/aaos_vm.cfg
# wget https://people.linaro.org/~leo.yan/arm_blueprint/aaos_on_xen/u-boot.bin
# mkdir -p /home/leoy/android-cf-mainline/cf/
# tar zxvf cuttlefish.tgz -C /home/leoy/android-cf-mainline/cf/

...

Code Block
# export DISPLAY=:0
# xl -vvv create aaos_vm.cfg -c

We have a recorded video which has been uploaded to the server [3]. You can refer to it for how to lanch AAOS on Xen virtual machine.

[1] Xen: maintenance Xen and QEMU repos for TRS
[2] Xen: porting Android Cuttlefish on Xen Virtual Machine
[3] https://people.linaro.org/~leo.yan/arm_blueprint/aaos_on_xen/AAOS_On_Xen_Demo.MOV