The [supported images](https://download.automotivelinux.org/AGL/snapshots/master/latest/) exist for several boards as
well as for the Quick EMUlator (QEMU).
See the
-"[Quickstart](../1_Quickstart/Using_Ready_Made_Images.md)"
+"[Quickstart](../01_Quickstart/01_Using_Ready_Made_Images.md)"
section for more information on the ready-made images.
1. **Use a Supported Linux Distribution:** To use the AGL software, it is
$ vim $AGL_TOP/<release-branch-name>/<build-dir>/conf/local.conf
```
-As mentioned in the "[Initializing Your Build Environment](./3_Initializing_Your_Build_Environment.md)" section,
+As mentioned in the "[Initializing Your Build Environment](./04_Initializing_Your_Build_Environment.md)" section,
the `local.conf` file gets augmented with AGL configuration fragments based on
how you execute the `aglsetup.sh` script.
You can see those fragments at the end the configuration file.
$ cd $AGL_TOP/<release-branch-name>/<build-dir>/
$ ln -sf $AGL_TOP/site.conf conf/
```
-
three types of supported platforms and for emulation/virtualization using Quick
EMUlator (QEMU) or VirtualBox:
-* [x86 (Emulation and Hardware)](./5_1_x86_Emulation_and_Hardware.md)
-* [Raspberry Pi 4](./5_2_Raspberry_Pi_4.md)
-* [R Car Gen 3](./5_3_RCar_Gen_3.md)
-* [virtio](./5_4_Virtio.md)
+* [x86 (Emulation and Hardware)](./07_Building_for_x86_(Emulation_and_Hardware).md)
+* [Raspberry Pi 4](./08_Building_for_Raspberry_Pi_4.md)
+* [R Car Gen 3](./09_Building_for_Supported_Renesas_Boards.md)
+* [Virtio](./10_Building_for_Virtio.md)
## 1. Making Sure Your Build Environment is Correct
The
-"[Initializing Your Build Environment](./3_Initializing_Your_Build_Environment.md)"
+"[Initializing Your Build Environment](./04_Initializing_Your_Build_Environment.md)"
section presented generic information for setting up your build environment
using the `aglsetup.sh` script.
If you are building the AGL demo image for emulation, you need to specify some
### TBD
```
-**Virt-EG demo image :**
+**Virt-EG demo image :**
```sh
### TBD
```
$ sync
```
- 2. Boot from USB drive on the x86 system.
\ No newline at end of file
+ 2. Boot from USB drive on the x86 system.
## 1. Making Sure Your Build Environment is Correct
The
-"[Initializing Your Build Environment](./3_Initializing_Your_Build_Environment.md)"
+"[Initializing Your Build Environment](./04_Initializing_Your_Build_Environment.md)"
section presented generic information for setting up your build environment
using the `aglsetup.sh` script.
If you are building the AGL demo image for a Raspberry Pi 4 board, you need to specify some
Before launching the build, it is good to be sure your build
configuration is set up correctly (`/build/conf/local.conf` file).
-The "[Customizing Your Build](./4_Customizing_Your_Build.md)"
+The "[Customizing Your Build](./05_Customizing_Your_Build.md)"
section highlights some common configurations that are useful when
building any AGL image.
3. In **local.conf** set `SOTA_PACKED_CREDENTIALS` and `OSTREE_BRANCHNAME`.
- More details are available [here](https://docs.ota.here.com/getstarted/dev/raspberry-pi.html).
\ No newline at end of file
+ More details are available [here](https://docs.ota.here.com/getstarted/dev/raspberry-pi.html).
### 1.4. Making Sure Your Build Environment is Correct
The
-"[Initializing Your Build Environment](./3_Initializing_Your_Build_Environment.md)"
+"[Initializing Your Build Environment](./04_Initializing_Your_Build_Environment.md)"
section presented generic information for setting up your build environment
using the `aglsetup.sh` script.
If you are building an image for a supported Renesas board,
for the Renesas board.
You can learn more about the AGL Features in the
-"[Initializing Your Build Environment](./3_Initializing_Your_Build_Environment.md)"
+"[Initializing Your Build Environment](./04_Initializing_Your_Build_Environment.md)"
section.
## 2. Using BitBake
`aglsetup.sh` script applies in the `local.conf` file are good enough.
However, you can customize aspects by editing the `local.conf` file.
See the
-"[Customizing Your Build](4_Customizing_Your_Build.md)"
+"[Customizing Your Build](05_Customizing_Your_Build.md)"
section for common configurations you might want to consider.
**NOTE:** For detailed explanations of the configurations you can make
```
If you ran the `aglsetup.sh` script as described in the
-"[Making Sure Your Build Environment is Correct](./5_3_RCar_Gen_3.md#4-making-sure-your-build-environment-is-correct)"
+"[Making Sure Your Build Environment is Correct](#14-making-sure-your-build-environment-is-correct)"
section earlier, the "agl-devel", "agl-demo", "agl-netboot", "agl-appfw-smack", and
"agl-localdev" AGL features will be in effect.
These features provide the following:
title: Building for virtio
---
-Virtio is a standartized interface for implementing virtual I/O devices:
+Virtio is a standardized interface for implementing virtual I/O devices:
* Russell, Rusty. "virtio: towards a de-facto standard for virtual I/O devices." ACM SIGOPS Operating Systems Review 42.5 (2008): 95-103.
## 1. Making Sure Your Build Environment is Correct
The
-"[Initializing Your Build Environment](./3_Initializing_Your_Build_Environment.md)"
+"[Initializing Your Build Environment](./04_Initializing_Your_Build_Environment.md)"
section presented generic information for setting up your build environment
using the `aglsetup.sh` script.
If you are building the AGL demo image for virtio platform, you need to specify
+---
+title: Instrument Cluster (IC-IVI with Container isolation)
+---
+
# Build and Boot AGL Instrument Cluster demo image (IC-IVI with Container isolation)
## Required Equipments
**1) Tested board:** **[Starter Kit Pro/M3](https://elinux.org/R-Car/Boards/M3SK) + [kingfisher support](https://elinux.org/R-Car/Boards/Kingfisher)**
chmod a+rw $XDG_DOWNLOAD_DIR/*.zip
```
## 5. Define Your Board
-- Supporting Starter Kit Pro/M3 + kingfisher Board (For other supported boards, check [Define Your Board](https://docs.automotivelinux.org/en/master/#0_Getting_Started/2_Building_AGL_Image/5_3_RCar_Gen_3/))
+- Supporting Starter Kit Pro/M3 + kingfisher Board (For other supported boards, check [Define Your Board](https://docs.automotivelinux.org/en/master/#01_Getting_Started/02_Building_AGL_Image/09_Building_for_Supported_Renesas_Boards.md))
```bash
export MACHINE=m3ulcb-kf
```
## 8.Boot the Board (Deploying the AGL Demo Image)
- To boot your image on the Renesas board, you need to do three things:
-a) Update all [firmware](https://docs.automotivelinux.org/en/marlin/#0_Getting_Started/2_Building_AGL_Image/5_3_RCar_Gen_3/#4-troubleshooting) on R-Car M3 Starter Kit board (Flashing firmware).
+a) Update all [firmware](https://docs.automotivelinux.org/en/master/#01_Getting_Started/02_Building_AGL_Image/09_Building_for_Supported_Renesas_Boards/#4-troubleshooting) on R-Car M3 Starter Kit board (Flashing firmware).
b) Prepare the MicroSD card and Flash image to the MicroSD card using [Etcher](https://www.balena.io/etcher/)
(**image file name:** lxc-host-image-demo-m3ulcb-kf.wic.xz), then insert MicroSD card in the R-Car M3SK.
- Booting image command (for details check [How to boot](https://elinux.org/R-Car/AGL#Instrument_Cluster_with_Container_isolation_demo_image))
```bash
ext4load 0x48080000 Image
-ext4load 0x48000000 /boot/r8a77961-ulcb-kf.dtb
-booti 0x48080000 - 0x48000000
+ext4load 0x48000000 /boot/r8a77961-ulcb-kf.dtb
+booti 0x48080000 - 0x48000000
```
# Run SoC board Screen

<! -- https://elinux.org/images/thumb/7/76/Marlin-lxc-Cluster.JPG/1200px-Marlin-lxc-Cluster.JPG) -->
-# Reference webpages
+# Reference webpages
1. [eLinux](https://elinux.org/R-Car/AGL)
1. [Kingfisher Board](https://elinux.org/R-Car/Boards/Kingfisher)
1. [R-Car M3SK](https://elinux.org/R-Car/Boards/M3SK#Flashing_firmware)
- 1. [agl reference machines](https://docs.automotivelinux.org/en/master/#1_hardware_support/overview/)
+ 1. [agl reference machines](https://docs.automotivelinux.org/en/master/#02_hardware_support/01_Supported_Hardware_Overview/)
1. [AGL Tech Day Presenation](https://static.sched.com/hosted_files/agltechday2022/3b/agl-techday-202204.pdf)
- 1. [Build AGL Image](https://docs.automotivelinux.org/en/master/#0_Getting_Started/2_Building_AGL_Image/0_Build_Process/)
- 1. [Building for Supported Renesas Boards](https://docs.automotivelinux.org/en/master/#0_Getting_Started/2_Building_AGL_Image/5_3_RCar_Gen_3/)
-
+ 1. [Build AGL Image](https://docs.automotivelinux.org/en/master/#01_Getting_Started/02_Building_AGL_Image/0_Build_Process_Overview/)
+ 1. [Building for Supported Renesas Boards](https://docs.automotivelinux.org/en/master/#01_Getting_Started/02_Building_AGL_Image/09_Building_for_Supported_Renesas_Boards/)
-# Build and Boot AGL Flutter Instrument Cluster demo image made for GSoC
+---
+title: Flutter Instrument Cluster (qemu-x86)
+---
+
+# Build and Boot AGL Flutter Instrument Cluster demo image made for GSoC
## 0. Prepare Your Build Host
-- Install the required tools to build an AGL Image. For detailed explanation, check [Preparing Your Build host](https://docs.automotivelinux.org/en/needlefish/#0_Getting_Started/2_Building_AGL_Image/1_Preparing_Your_Build_Host/)
+- Install the required tools to build an AGL Image. For detailed explanation, check [Preparing Your Build host](https://docs.automotivelinux.org/en/master/#01_Getting_Started/02_Building_AGL_Image/02_Preparing_Your_Build_Host/)
## 1. Define Your Top-Level Directory
## 4. Initialize the build environment using aglsetup.sh Script
To initialize the build environment, we must use the setup script.
-This script is available here:
+This script is available here:
```bash
$ $AGL_TOP/master/meta-agl/scripts/aglsetup.sh
```
- Default target paltform: `qemux86-64`
** NOTE: Set the API key in local.conf **
-
+
- By default navigation will not work, you need to set your openrouteservie API key to the variable `OPENROUTE_API_KEY` in your local.conf
- It is present at `$AGL_TOP/master/build-flutter-cluster/conf/local.conf`
-
+
- Example: Just add `OPENROUTE_API_KEY = "your_openrouteservice_api_key"` to the end of local.conf
To get graphics of the app, you need VNC client like VNC Viewer or Vinagre
- Open the VNC client
-- Enter the server address as `localhost:0`
+- Enter the server address as `localhost:0`
That's it, you should get something like this:

#### **Using inbuilt `kuksa_vss_init.py` script**
After running the build, you should get this:
-
+
```bash
Automotive Grade Linux 13.93.0 qemux86-64 ttyS0
-qemux86-64 login:
+qemux86-64 login:
```
root@qemux86-64:~# /usr/sbin/kuksa_vss_init.py
```
-#### **Using `kuksa_viss_client`**
+#### **Using `kuksa_viss_client`**
Know more about kuksa_viss_client, [Follow this](https://github.com/eclipse/kuksa.val/tree/master/kuksa_viss_client)
Test Client> setValue Vehicle.Cabin.SteeringWheel.Switches.Info true
```

-
-
+---
+title: IVI Flutter apps
+---
+
# Build and Boot AGL Flutter IVI dashboard demo applications made for GSoC
## 0. Prepare Your Build Host
-- Install the required tools to build an AGL Image. For detailed explanation, check [Preparing Your Build host](https://docs.automotivelinux.org/en/needlefish/#0_Getting_Started/2_Building_AGL_Image/1_Preparing_Your_Build_Host/)
+- Install the required tools to build an AGL Image. For detailed explanation, check [Preparing Your Build host](https://docs.automotivelinux.org/en/master/#01_Getting_Started/02_Building_AGL_Image/02_Preparing_Your_Build_Host/)
## 1. Define Your Top-Level Directory
That's it, you should get something like this:

-
---
-title: Supported Hardware
+title: Supported Hardware Overview
---
### Supported Hardware
| BOARD | MACHINE | ARCHITECTURE | QUICK START GUIDE| LATEST SNAPSHOT |
|:---------------:|:--------------:|:------------:|:----------------:|:--------------------:|
-| QEMU | qemu-x86-64 | x86 |[QEMU Quick Start](https://docs.automotivelinux.org/en/master/#0_Getting_Started/1_Quickstart/Using_Ready_Made_Images/#_top)| [qemu-x86-64](https://download.automotivelinux.org/AGL/snapshots/master/latest/qemux86-64/)|
+| QEMU | qemu-x86-64 | x86 |[QEMU Quick Start](https://docs.automotivelinux.org/en/master/#01_Getting_Started/01_Quickstart/01_Using_Ready_Made_Images/#_top)| [qemu-x86-64](https://download.automotivelinux.org/AGL/snapshots/master/latest/qemux86-64/)|
| | qemu-arm | arm32 | | [qemu-arm](https://download.automotivelinux.org/AGL/snapshots/master/latest/qemuarm/)|
| | qemu-arm64 | arm64 | | [qemu-arm64](https://download.automotivelinux.org/AGL/snapshots/master/latest/qemuarm64/)|
| | | |
-| RCar Gen 3 | h3ulcb | arm64 |[RCar Gen 3 Quick Start](https://docs.automotivelinux.org/en/master/#0_Getting_Started/1_Quickstart/Using_Ready_Made_Images/#3-r-car-h3sk-h3ulcb-board)| [h3ulcb-nogfx](https://download.automotivelinux.org/AGL/snapshots/master/latest/h3ulcb-nogfx/)|
+| RCar Gen 3 | h3ulcb | arm64 |[RCar Gen 3 Quick Start](https://docs.automotivelinux.org/en/master/#01_Getting_Started/01_Quickstart/01_Using_Ready_Made_Images/#3-r-car-h3sk-h3ulcb-board)| [h3ulcb-nogfx](https://download.automotivelinux.org/AGL/snapshots/master/latest/h3ulcb-nogfx/)|
| | h3-salvator-x | arm64 |
| | h3-kf | arm64 |
| | m3ulcb | arm64 |
| | m3-kf | arm64 |
| | agl-refhw | arm64 |
| | | |
-| Raspberry Pi | raspberrypi4 | arm64 |[Raspberry Pi Quick Start](https://docs.automotivelinux.org/en/master/#0_Getting_Started/1_Quickstart/Using_Ready_Made_Images/#2-raspberry-pi-4)|[raspberrypi4](https://download.automotivelinux.org/AGL/snapshots/master/latest/raspberrypi4/)|
+| Raspberry Pi | raspberrypi4 | arm64 |[Raspberry Pi Quick Start](https://docs.automotivelinux.org/en/master/#01_Getting_Started/01_Quickstart/01_Using_Ready_Made_Images/#2-raspberry-pi-4)|[raspberrypi4](https://download.automotivelinux.org/AGL/snapshots/master/latest/raspberrypi4/)|
**Note:** Latest stable release source tar and binary for all the boards can be found [here](https://wiki.automotivelinux.org/agl-distro/release-notes#latest_stable_release)
### Community Supported Boards
-| BOARD | MACHINE | ARCHITECTURE |
-|:-------------:|:---------------------:|:-------------:|
-| BeagleBone | bbe | arm32 |
+| BOARD | MACHINE | ARCHITECTURE |
+|:-------------:|:---------------------:|:-------------:|
+| BeagleBone | bbe | arm32 |
| | beaglebone | arm32 |
| | | |
| i.MX 6 | cubox-i | arm32 |
| | imx6qdlsabreauto | arm32 |
| | | |
-| i.MX 8 | imx8mqevk | arm64 |
+| i.MX 8 | imx8mqevk | arm64 |
| | imx8mqevk-viv | arm64 |
| | | |
| virtio | virtio-aarch64 | arm64 |
**Supported boards** :
-AGL Reference Boards [QEMU, RCar Gen 3, Raspberry Pi 4](./Overview.md), & agl-refhw
+AGL Reference Boards [QEMU, RCar Gen 3, Raspberry Pi 4](./01_Supported_Hardware_Overview.md), & agl-refhw
-Community supported Boards [BBE, i. MX 6, i. MX 8](./Overview.md)
+Community supported Boards [BBE, i. MX 6, i. MX 8](./01_Supported_Hardware_Overview.md)
* Qt Based :
**Supported boards** :
-AGL Reference Boards [QEMU, RCar Gen 3, & Raspberry Pi 4](./Overview.md)
+AGL Reference Boards [QEMU, RCar Gen 3, & Raspberry Pi 4](./01_Supported_Hardware_Overview.md)
* Setting up flags at `aglsetup` script :
**Supported boards** :
-Community supported Boards [BeagleBone](./Overview.md)
+Community supported Boards [BeagleBone](./01_Supported_Hardware_Overview.md)
* Setting up flags at `aglsetup` script :
applications on an AGL system. The Services layer contains user space services that all
applications can access. The Operating System (OS) layer provides the Linux kernel and device
drivers along with standard OS utilities. For IVI (In Vehicle Infotainment)
-system a full fledged demo is [available](../../0_Getting_Started/1_Quickstart/Using_Ready_Made_Images.md).
\ No newline at end of file
+system a full fledged demo is [available](https://docs.automotivelinux.org/en/master/#01_Getting_Started/01_Quickstart/01_Using_Ready_Made_Images/).
## Attack Vectors
-Updates Over The Air are one of the most common points where an attacker will
+Updates Over The Air (OTA) are one of the most common points where an attacker will
penetrate. An OTA update mechanism is one of the highest threats in the system.
If an attacker is able to install his own application or firmware on the system,
he can get the same level of access that the original application or firmware
Domain | Improvement
------------- | -----------------
-Update-SOTA-1 | Part to complete.
\ No newline at end of file
+Update-SOTA-1 | Part to complete.
application enumeration and startup
AGL also provides reference implementations whenever possible and relevant, located in
-the [meta-agl](/3_Developer_Guides/6_AGL_Layers/2_meta-agl/) layer under `meta-app-framework`. At the
+the [meta-agl](/04_Developer_Guides/02_AGL_Layers/02_meta_agl/) layer under `meta-app-framework`. At the
moment, the Application Framework contains 2 such components:
- `agl-session`: `systemd` unit files for user sessions management
reliability and security.
Each service should be represented by a `systemd` unit file installed to the appropriate
-location. More details can be obtained from the [Creating a New Service](/3_Developer_Guides/2_Creating_a_New_Service/)
+location. More details can be obtained from the [Creating a New Service](/04_Developer_Guides/02_Creating_a_New_Service/)
document.
# User session management
- request the startup and/or activation of a specific application
- be notified when applications are started or terminated
-`applaunchd` is described with more details in [the following document](../2_Application_Startup/).
+`applaunchd` is described with more details in [the following document](../02_Application_Startup/).
In order to provide a language-independent interface for applications and service to
use, AGL includes `applaunchd`, a user service part of the default session.
-*Note: as mentioned [previously](1_Introduction/), services are managed using `systemd`
+*Note: as mentioned [previously](../01_Introduction/), services are managed using `systemd`
and are therefore not in the scope of this document.*
# Application launcher service
For information on how to use the `aglsetup.sh` script to initialize
your build environment, see the
-"[Initializing Your Build Environment](../../0_Getting_Started/2_Building_AGL_Image/3_Initializing_Your_Build_Environment.md)"
+"[Initializing Your Build Environment](../../01_Getting_Started/02_Building_AGL_Image/04_Initializing_Your_Build_Environment.md)"
section.
Once you have included the AGL feature, you can build your image.
For information on how to use the `aglsetup.sh` script to initialize
your build environment, see the
-"[Initializing Your Build Environment](../../0_Getting_Started/2_Building_AGL_Image/3_Initializing_Your_Build_Environment.md)"
+"[Initializing Your Build Environment](../../01_Getting_Started/02_Building_AGL_Image/04_Initializing_Your_Build_Environment.md)"
section.
-Once you have included the AGL feature, you can build your image.
\ No newline at end of file
+Once you have included the AGL feature, you can build your image.
```
The `WantedBy=agl-session.target` indicates the service is part of the default AGL
-user session, as mentioned in the [Application Framework](../1_Application_Framework/1_Introduction/#user-session-management)
+user session, as mentioned in the [Application Framework](../01_Application_Framework/01_Introduction/#user-session-management)
documentation.
The `Restart=on-failure` directive ensures the service will be automatically
- Graphical interface allowing user to interact with.
Applications are executed by `applaunchd`, the AGL
-[application launcher service](../1_Application_Framework/2_Application_Startup/).
+[application launcher service](../01_Application_Framework/02_Application_Startup/).
# Basic requirements
--- /dev/null
+---
+title: Introduction
+---
+
+API and Service documentation is under development. Will be updated as and when they are ready.
--- /dev/null
+---
+title: AGL Components
+---
+
+## Components under development within AGL
+
+### Graphics
+
+- [The AGL compositor](02_agl_compositor.md)
+- [Waltham receiver/transmitter configuration](03_waltham_receiver_transmitter.md)
+- [DRM lease manager](05_drm_lease_manager.md)
+
+
+### Sound
+
+- [Pipewire & Wireplumber](07_pipewire_wireplumber.md)
+- [IC and Sound Manager](08_Instrument_Cluster_Sound_Management.md)
+
+
+### Policies
+
+- [Rule based arbitrator](04_Rule_Based_Arbitrator.md)
+
+
+### Lifecycle management
+
+- [Application Framework](../../04_Developer_Guides/01_Application_Framework/01_Introduction/)
started, among other things.
Management of applications, starting, running and stopping them is done in AGL
-with AppFW [Application Framework Management](../3_Developer_Guides/1_Application_Framework/1_Introduction.md),
+with AppFW [Application Framework Management](../04_Developer_Guides/01_Application_Framework/01_Introduction.md),
which is an umbrella name to denote the suite of tools and daemons that handle
all of that. It is integrated with systemd and with the current security model.
Applications can use AppFW to hang off data, and to pass it down to
buffers but also process input events locally and forward them with the help of
the Waltham protocol back at the transmitter side, which in turn will update
the image contents and stream to the receiver, showing the changes caused by
-that input.
+that input.
ECU 1 ECU 2
agl-shell-app-id=<APP_ID>
Alternatively, and programmatically, one can use the
-[agl-shell-desktop](1_agl-compositor.md#private-extensions) protocol and inform
+[agl-shell-desktop](../02_agl_compositor#private-extensions) protocol and inform
the compositor that it should migrate it to other, remote outputs.
---
-title: Rule Based Arbitrator (RBA)
+title: Rule Based Arbitrator
---
# RBA
-Rule Based Arbitrator decides which of the content to display when a large number of contents to be displayed on the cockpit display device (CID, meter, HUD, etc.) occur simultaneously under a certain rule (arbitration).
+Rule Based Arbitrator (RBA) decides which of the content to display when a large number of contents to be displayed on the cockpit display device (CID, meter, HUD, etc.) occur simultaneously under a certain rule (arbitration).
### 1. Overview
+---
+title: Instrument Cluster Sound Management
+---
+
# Instrument Cluster Sound Management
## Introduction
This section contains guidelines for submitting code changes for review. For
more information on how to submit a change using Gerrit, please see [Working
-with Gerrit](./3_Working_with_Gerrit.md).
+with Gerrit](./03_Working_with_Gerrit.md).
Changes are submitted as Git commits. Each commit must contain:
yourself, then you can submit a change request (CR).
**NOTE:** If you need help with submitting your first CR, we have created a
-brief [tutorial](./4_Submitting_Changes.md) for you.
+brief [tutorial](../04_Submitting_Changes) for you.
## Fixing issues and working stories
description of the change. Each change MUST include the JIRA identifier
corresponding to the change (e.g. [SPEC-1234]). This can be in the title but
should also be in the body of the commit message. See the [complete
- requirements](./4_Submitting_Changes.md) for an acceptable change request.
+ requirements](../04_Submitting_Changes) for an acceptable change request.
**NOTE:** That Gerrit will automatically create a hyperlink to the JIRA item.
$ sudo pip install -r requirements.txt
```
-3. Serve locally (defaultly rendered at [127.0.0.1:8000/](127.0.0.1:8000/)):
+3. Serve locally (default rendered at [127.0.0.1:8000/](127.0.0.1:8000/)):
```sh
$ sudo mkdocs serve
$ sudo pip3 install git-review
```
-2. Write commit message (**Note:** Please follow [submitting changes](./4_Submitting_Changes.md) guideline to write your commit message.)
+2. Write commit message (**Note:** Please follow [submitting changes](./04_Submitting_Changes.md) guideline to write your commit message.)
```sh
# track all the new changes
+---
+title: Setup_AGL_LAVA_Lab
+---
## Prerequisites ##
level README, you will need the following:
-
+
1) The following ports are forwarded to docker and therefore need to be kept free
can be set.
-
+
## Steps to create your own LAVA lab ##
-
+
1) Clone AGL lava-docker image:
```
-
+
2) On the LAVA master web GUI, create a new API token:
https://lava.automotivelinux.org/api/tokens/
-
+
3) Connect all the DUTs' serial to usb and ethernet connections to the host.
- power on, off and reset commads for the power switch
-
+
To get the uart idvendor and idproduct, unplug and re-plugin the USB cable of the
```
-
+
To get the uart devpath, run the command:
```
-
+
NOTE: Make sure you have at least one "board" included. (It is easiest to keep
qemu).
-
+
5) Run the automated setup script:
```
-
+
7) Check the web GUI to see if the lab has successfully connected to the LAVA
```
-
+
LAVA logs can be found in `/var/log/lava-dispatcher/`.
-
+
8) Helper scripts
```
-
+
## Adding new device-type templates ##
-
+
Not all device types are supported by default. Templates for new devices will
mailing list.
-
+
Before you submit any new device-type templates, please verify that they work.
+++ /dev/null
----
-title: AGL Components
----
-
-## Components under development within AGL
-
-### Graphics
-
-- [The AGL compositor](1_agl-compositor.md)
-- [Waltham receiver/transmitter configuration](2_waltham-receiver_waltham-transmitter.md)
-- [DRM lease manager](4_drm-leasemanager.md)
-
-
-### Sound
-
-- [Pipewire & Wireplumber](6_pipewire_wireplumber.md)
-- [IC and Sound Manager](7_ic-sound-manager.md)
-
-
-### Policies
-
-- [Rule based arbitrator](3_rba.md)
-
-
-### Lifecycle management
-
-- [Application Framework](../3_Developer_Guides/1_Application_Framework/1_Introduction.md)
AGL.
You can use the "Getting Started" sections to do the following:
-* [Quickstart](./0_Getting_Started/1_Quickstart/Using_Ready_Made_Images.md) to quickly install the pre-built images into an emulation or hardware platform.
+* [Quickstart](./01_Getting_Started/01_Quickstart/01_Using_Ready_Made_Images.md) to quickly install the pre-built images into an emulation or hardware platform.
-* [Learn How to Build an AGL Image](./0_Getting_Started/2_Building_AGL_Image/0_Build_Process.md) by working
+* [Learn How to Build an AGL Image](./01_Getting_Started/02_Building_AGL_Image/01_Build_Process_Overview.md) by working
through fundamental steps that show you how to build for various supported
hardware targets (e.g. Raspberry PI boards).
-* [Learn How to Create an Application](./3_Developer_Guides/1_Setting_Up_AGL_SDK.md) using the
+* [Learn How to Create an Application](./04_Developer_Guides/01_Setting_Up_AGL_SDK.md) using the
application development workflow.