Table of Contents

FIXME

Attention. This page is deprecated. FIXME. Please follow the new documentation site:

http://docs.automotivelinux.org/docs/getting_started/en/dev/reference/machines/intel.html

Running AGL on Intel Minnowboard (and most Intel HW)

This documentation is aiming at people who want to run Automotive Grade Linux (AGL) on an Intel Hardware (HW). While the reference HW used by AGL project is the Open Source Minnowboard (http://wiki.minnowboard.org/MinnowBoard_Wiki_Home) this documentation can be used to enable most of 64 bits Intel Architecture (IA) using UEFI as boot loader. You need to run the 64 bits version of the UEFI boot. Minnowbaord Max and Turbo are both 64 bits capable.

Note this page is more focused on please willing to create bespoke AGL image and BSP. If you are more interested by Apps creation, please visit Developing Apps

UEFI has evolved a lot recently and you likely want to check that your HW firmware is up-to-date, this is particularly important for the Minnowboard.

https://firmware.intel.com/projects/minnowboard-max

Where to find an AGL bootable image

Build your own

Building an AGL image from scratch using Yocto.

Get the source from the various Git repositories is done via the repo tools to Repo Documentation

To install the repo tool.

mkdir -p ~/bin
export PATH=~/bin:$PATH
curl https://storage.googleapis.com/git-repo-downloads/repo > ~/bin/repo
chmod a+x ~/bin/repo

Note: An alternative method to build an image is to use the SDK. There is currently no SDK dedicated to IA (to be fixed) but fortunately the SDK provided for the Porter Board can build an IA image with little configuration changes. see chapter 2 of Porter Quick Start.

To build the latest stable (blowfish_2.0.3)

cd AGL-2.0.3
repo init -u \ 
https://gerrit.automotivelinux.org/gerrit/AGL/AGL-repo \
-b blowfish \
-m default_blowfish_2.0.3.xml

Alternative for AGL developers only: To build the latest

cd AGL-master
repo init -u https://gerrit.automotivelinux.org/gerrit/AGL/AGL-repo

Only for those working on virtualisation Note : this is WIP and most likely to fail most of the time)

cd AGL-master-next
repo init -b morty \
-u https://gerrit.automotivelinux.org/gerrit/AGL/AGL-repo

Once that you repo is initialised either with the stable or WIP, you need to sync the repo to fetch the various git trees.

repo sync

You are now ready to initialise your Yocto build. When running the command

source meta-agl/scripts/aglsetup.sh -h

You will notice the Intel entry

intel-corei7-64

Simply select that entry to replace porter in the -m option.

source meta-agl/scripts/aglsetup.sh \
-m intel-corei7-64 \
-b build \
agl-devel agl-demo agl-appfw-smack agl-netboot

Start the build (this can take several hours depending of your CPU and internet connection)

bitbake agl-demo-platform

Find a ready made image

The Continuous Integration (CI) process from AGL creates and publish daily and stable builds. Pointers to both can be found in AGL supported HW (see Reference BSP/Intel).

I would advise to start with the stable pointer.

Once you have validated your process you can start to play/work with the snapshot pointer.

Note that snapshot build may not work.

Follow the directory

intel-corei7-64/deploy/images/intel-corei7-64/

and download the file

agl-demo-platform-intel-corei7-64.hddimg

Create a bootable media

Depending your target HW you will use an USB stick, an SD card or a HDD/SDD. The creation process remains the same independently of the selected support. It does require to have access to a Linux machine with sudo or root password.

1) insert you removable media in the corresponding interface. 2) check the device name where the media can be accessed with the command

lsblk
# Note that you want the name of the raw device not of a partition on the media 
#(eg. /dev/sdc or /dev/mmcblk0)

3) download the script mkefi-agl.sh This file can be found in the following Git repo

https://github.com/dominig/mkefi-agl.sh

!!! todo find a place to copy that script in any AGL image build repo. !!!

4) check the available option

sh mkefi-agl.sh -v

5) create your media with the command ajusted to your configuration

sudo sh mkefi-agl.sh MyAglImage.hdd /dev/sdX

Boot the image on the target device

1) Insert the created media with the AGL image in the target device

2) Power on the device

3) Select Change one off boot option (generally F12 key during power up)

4) Select your removable device

5) Let AGL boot

!! Note: depending on the speed of the removable media, the first boot may not complete, in that case simply reboot the device.

How to create your 1st AGL application

Apps development documentation link