### 1. QEMU (Emulation)
-1. Download the [compressed prebuilt image](https://download.automotivelinux.org/AGL/snapshots/master/latest/qemux86-64/deploy/images/qemux86-64/agl-demo-platform-crosssdk-qemux86-64.ext4.xz).
+1. Download the [compressed prebuilt image](https://download.automotivelinux.org/AGL/snapshots/master/latest/qemux86-64/deploy/images/qemux86-64/agl-ivi-demo-qt-crosssdk-qemux86-64.ext4.xz).
2. Download the [compressed kernel image](https://download.automotivelinux.org/AGL/snapshots/master/latest/qemux86-64/deploy/images/qemux86-64/bzImage).
```sh
$ mkdir ~/agl-demo/
- $ cp ~/Downloads/agl-demo-platform-crosssdk-qemux86-64.ext4.xz ~/agl-demo/
+ $ cp ~/Downloads/agl-ivi-demo-qt-crosssdk-qemux86-64.ext4.xz ~/agl-demo/
$ cp ~/Downloads/bzImage ~/agl-demo/
$ cd ~/agl-demo
$ sync
6. Extract prebuilt compressed image :
```sh
- $ xz -v -d agl-demo-platform-crosssdk-qemux86-64.ext4.xz
+ $ xz -v -d agl-ivi-demo-qt-crosssdk-qemux86-64.ext4.xz
```
7. Launch QEMU with vinagre (for scaling), remove `- snapshot \` if you want to save changes to the image files :
```sh
$ ( sleep 5 && vinagre --vnc-scale localhost ) > /tmp/vinagre.log 2>&1 &
$ qemu-system-x86_64 -device virtio-net-pci,netdev=net0,mac=52:54:00:12:35:02 -netdev user,id=net0,hostfwd=tcp::2222-:22 \
- -drive file=agl-demo-platform-crosssdk-qemux86-64.ext4,if=virtio,format=raw -show-cursor -usb -usbdevice tablet -device virtio-rng-pci \
+ -drive file=agl-ivi-demo-qt-crosssdk-qemux86-64.ext4,if=virtio,format=raw -show-cursor -usb -usbdevice tablet -device virtio-rng-pci \
-snapshot -vga virtio \
-vnc :0 -soundhw hda -machine q35 -cpu kvm64 -cpu qemu64,+ssse3,+sse4.1,+sse4.2,+popcnt -enable-kvm \
-m 2048 -serial mon:vc -serial mon:stdio -serial null -kernel bzImage \
```sh
$ ( sleep 5 && vncviewer ) &
qemu-system-x86_64 -device virtio-net-pci,netdev=net0,mac=52:54:00:12:35:02 -netdev user,id=net0,hostfwd=tcp::2222-:22 \
- -drive file=agl-demo-platform-crosssdk-qemux86-64.ext4,if=virtio,format=raw -show-cursor -usb -usbdevice tablet -device virtio-rng-pci \
+ -drive file=agl-ivi-demo-qt-crosssdk-qemux86-64.ext4,if=virtio,format=raw -show-cursor -usb -usbdevice tablet -device virtio-rng-pci \
-snapshot -vga virtio \
-vnc :0 -soundhw hda -machine q35 -cpu kvm64 -cpu qemu64,+ssse3,+sse4.1,+sse4.2,+popcnt -enable-kvm \
-m 2048 -serial mon:vc -serial mon:stdio -serial null -kernel bzImage \
**NOTE :** Please note [https://www.virtualbox.org/ticket/19873](https://www.virtualbox.org/ticket/19873) as this affects the VMs resolution.
The AGL demo images do require 1920x1080. The instructions below have been adapted.
- 1. Download the [compressed vbox disk image](https://download.automotivelinux.org/AGL/snapshots/master/latest/qemux86-64/deploy/images/qemux86-64/agl-demo-platform-crosssdk-qemux86-64.wic.vmdk.xz).
+ 1. Download the [compressed vbox disk image](https://download.automotivelinux.org/AGL/snapshots/master/latest/qemux86-64/deploy/images/qemux86-64/agl-ivi-demo-qt-crosssdk-qemux86-64.wic.vmdk.xz).
2. Install and set up [Virtual Box](https://www.virtualbox.org/wiki/Linux_Downloads).
- 3. Extract the vmdk file : `$ xz -v -d agl-demo-platform-crosssdk-qemux86-64.wic.vmdk.xz`
+ 3. Extract the vmdk file : `$ xz -v -d agl-ivi-demo-qt-crosssdk-qemux86-64.wic.vmdk.xz`
4. Configure virtual box for AGL :
- Click on `New` or `Add`.

- Select Memory size. Recommended is `2048 MB`, click on `Next`.

- - Click on `Use an existing virtual hard disk file`, and select the extracted `agl-demo-platform-crosssdk-qemux86-64.wic.vmdk` file, click on `Create`.
+ - Click on `Use an existing virtual hard disk file`, and select the extracted `agl-ivi-demo-qt-crosssdk-qemux86-64.wic.vmdk` file, click on `Create`.

- Go to `Settings`, and into `System`. Select `Chipset : IHC9`. Check on `Enable EFI (special OSes only)` and click on `OK`.

**NOTE :** UEFI enabled system is required.
- 1. Download the [compressed prebuilt image](https://download.automotivelinux.org/AGL/snapshots/master/latest/qemux86-64/deploy/images/qemux86-64/agl-demo-platform-crosssdk-qemux86-64.wic.xz).
+ 1. Download the [compressed prebuilt image](https://download.automotivelinux.org/AGL/snapshots/master/latest/qemux86-64/deploy/images/qemux86-64/agl-ivi-demo-qt-crosssdk-qemux86-64.wic.xz).
2. Extract the image into USB drive :
```sh
$ lsblk
$ sudo umount <usb_device_name>
- $ xzcat agl-demo-platform-crosssdk-qemux86-64.wic.xz | sudo dd of=<usb_device_name> bs=4M
+ $ xzcat agl-ivi-demo-qt-crosssdk-qemux86-64.wic.xz | sudo dd of=<usb_device_name> bs=4M
$ sync
```
### 1. QEMU (Emulation)
-1. Download the [compressed prebuilt image](https://download.automotivelinux.org/AGL/snapshots/master/latest/qemuarm/deploy/images/qemuarm/agl-demo-platform-crosssdk-qemuarm.ext4.xz).
+1. Download the [compressed prebuilt image](https://download.automotivelinux.org/AGL/snapshots/master/latest/qemuarm/deploy/images/qemuarm/agl-ivi-demo-qt-crosssdk-qemuarm.ext4.xz).
2. Download the [compressed kernel image](https://download.automotivelinux.org/AGL/snapshots/master/latest/qemuarm/deploy/images/qemuarm/zImage).
```sh
$ mkdir ~/agl-demo/
- $ cp ~/Downloads/agl-demo-platform-crosssdk-qemuarm.ext4.xz ~/agl-demo/
+ $ cp ~/Downloads/agl-ivi-demo-qt-crosssdk-qemuarm.ext4.xz ~/agl-demo/
$ cp ~/Downloads/zImage ~/agl-demo/
$ cd ~/agl-demo
$ sync
6. Extract prebuilt compressed image :
```sh
- $ xz -v -d agl-demo-platform-crosssdk-qemuarm.ext4.xz
+ $ xz -v -d agl-ivi-demo-qt-crosssdk-qemuarm.ext4.xz
```
7. Launch QEMU with vinagre (for scaling), remove `- snapshot` if you want to save changes to the image files :
-device virtio-rng-pci -device VGA,vgamem_mb=64,edid=on -vnc :0 \
-device qemu-xhci -device usb-tablet -device usb-kbd \
-kernel zImage -append "console=ttyAMA0,115200 root=/dev/vda verbose systemd.log_color=false" \
- -drive format=raw,file=agl-demo-platform-crosssdk-qemuarm.ext4 \
+ -drive format=raw,file=agl-ivi-demo-qt-crosssdk-qemuarm.ext4 \
-snapshot
```
-device virtio-rng-pci -device VGA,vgamem_mb=64,edid=on -vnc :0 \
-device qemu-xhci -device usb-tablet -device usb-kbd \
-kernel zImage -append "console=ttyAMA0,115200 root=/dev/vda verbose systemd.log_color=false" \
- -drive format=raw,file=agl-demo-platform-crosssdk-qemuarm.ext4 \
+ -drive format=raw,file=agl-ivi-demo-qt-crosssdk-qemuarm.ext4 \
-snapshot
```
### 2. BeagleBone Enhanced (BBE)
- 1. Download the [compressed prebuilt image](https://download.automotivelinux.org/AGL/snapshots/master/latest/bbe/deploy/images/bbe/agl-telematics-demo-platform-bbe.wic.xz).
+ 1. Download the [compressed prebuilt image](https://download.automotivelinux.org/AGL/snapshots/master/latest/bbe/deploy/images/bbe/agl-telematics-demo-bbe.wic.xz).
2. Extract the image into the SD card of BeagleBone Enhanced :
```sh
$ lsblk
$ sudo umount <sdcard_device_name>
- $ xzcat agl-telematics-demo-platform-bbe.wic.xz | sudo dd of=<sdcard_device_name> bs=4M
+ $ xzcat agl-telematics-demo-bbe.wic.xz | sudo dd of=<sdcard_device_name> bs=4M
$ sync
```
### 1. QEMU (Emulation)
-1. Download the [compressed prebuilt image](https://download.automotivelinux.org/AGL/snapshots/master/latest/qemuarm64/deploy/images/qemuarm64/agl-demo-platform-crosssdk-qemuarm64.ext4.xz).
+1. Download the [compressed prebuilt image](https://download.automotivelinux.org/AGL/snapshots/master/latest/qemuarm64/deploy/images/qemuarm64/agl-ivi-demo-qt-crosssdk-qemuarm64.ext4.xz).
2. Download the [compressed kernel image](https://download.automotivelinux.org/AGL/snapshots/master/latest/qemuarm64/deploy/images/qemuarm64/Image).
```sh
$ mkdir ~/agl-demo/
- $ cp ~/Downloads/agl-demo-platform-crosssdk-qemuarm64.ext4.xz ~/agl-demo/
+ $ cp ~/Downloads/agl-ivi-demo-qt-crosssdk-qemuarm64.ext4.xz ~/agl-demo/
$ cp ~/Downloads/zImage ~/agl-demo/
$ cd ~/agl-demo
$ sync
6. Extract prebuilt compressed image :
```sh
- $ xz -v -d agl-demo-platform-crosssdk-qemuarm64.ext4.xz
+ $ xz -v -d agl-ivi-demo-qt-crosssdk-qemuarm64.ext4.xz
```
7. Launch QEMU with vinagre (for scaling), remove `- snapshot \` if you want to save changes to the image files :
-device virtio-rng-pci -device VGA,vgamem_mb=64,edid=on \
-device qemu-xhci -device usb-tablet -device usb-kbd -vnc :0 \
-kernel Image -append "console=ttyAMA0,115200 root=/dev/vda verbose systemd.log_color=false " \
- -drive format=raw,file=agl-demo-platform-crosssdk-qemuarm64.ext4 \
+ -drive format=raw,file=agl-ivi-demo-qt-crosssdk-qemuarm64.ext4 \
-snapshot
```
-device virtio-rng-pci -device VGA,vgamem_mb=64,edid=on \
-device qemu-xhci -device usb-tablet -device usb-kbd -vnc :0 \
-kernel Image -append "console=ttyAMA0,115200 root=/dev/vda verbose systemd.log_color=false " \
- -drive format=raw,file=agl-demo-platform-crosssdk-qemuarm64.ext4 \
+ -drive format=raw,file=agl-ivi-demo-qt-crosssdk-qemuarm64.ext4 \
-snapshot
```
### 2. Raspberry Pi 4
- 1. Download the [compressed prebuilt image](https://download.automotivelinux.org/AGL/snapshots/master/latest/raspberrypi4/deploy/images/raspberrypi4-64/agl-demo-platform-crosssdk-raspberrypi4-64.wic.xz).
+ 1. Download the [compressed prebuilt image](https://download.automotivelinux.org/AGL/snapshots/master/latest/raspberrypi4/deploy/images/raspberrypi4-64/agl-ivi-demo-qt-crosssdk-raspberrypi4-64.wic.xz).
2. Extract the image into the SD card of Raspberry Pi 4 :
```sh
$ lsblk
$ sudo umount <sdcard_device_name>
- $ xzcat agl-demo-platform-crosssdk-raspberrypi4-64.wic.xz | sudo dd of=<sdcard_device_name> bs=4M
+ $ xzcat agl-ivi-demo-qt-crosssdk-raspberrypi4-64.wic.xz | sudo dd of=<sdcard_device_name> bs=4M
$ sync
```
1. Update the [firmware](https://elinux.org/R-Car/Boards/H3SK#Flashing_firmware) using files from [here](https://download.automotivelinux.org/AGL/snapshots/master/latest/h3ulcb-nogfx/deploy/images/h3ulcb/).
- 2. Download the [compressed prebuilt image](https://download.automotivelinux.org/AGL/snapshots/master/latest/h3ulcb-nogfx/deploy/images/h3ulcb/agl-demo-platform-crosssdk-h3ulcb.wic.xz).
+ 2. Download the [compressed prebuilt image](https://download.automotivelinux.org/AGL/snapshots/master/latest/h3ulcb-nogfx/deploy/images/h3ulcb/agl-ivi-demo-qt-crosssdk-h3ulcb.wic.xz).
3. Extract the image into the boot device :
```sh
$ lsblk
$ sudo umount <boot_device_name>
- $ xzcat agl-demo-platform-crosssdk-h3ulcb.wic.xz | sudo dd of=<boot_device_name> bs=4M
+ $ xzcat agl-ivi-demo-qt-crosssdk-h3ulcb.wic.xz | sudo dd of=<boot_device_name> bs=4M
$ sync
```
[meta-agl-demo] # DEMO layer
Refer: https://git.automotivelinux.org/AGL/meta-agl-demo/tree/templates/feature
- agl-demo-cluster-support # Add streaming to cluster of AGL demo system
- agl-demo-preload # Add Tokens and sample files specific to AGL demo system
agl-demo # default IVI demo
agl-kvm # Enables support for building multiconfig based KVM+QEMU demo images
agl-egvirt # EG-Virt feature
agl-flutter # Flutter support
agl-ic-container # Instrument Cluster EG demo using containers
- agl-jailhouse # GSoC: jailhouse enablement
agl-offline-voice-agent # Feature template for meta-offline-voice-agent layer
agl-test # Test framework under development
as part of the build.
* **agl-demo**: Enables the layers meta-agl-demo and meta-qt5.
- You need agl-demo if you are going to build the agl-demo-platform.
+ You need agl-demo if you are going to build the agl-ivi-demo-qt.
* **agl-pipewire**: Enables AGLs pipewire support.
Shell environment set up for builds.
You can now run 'bitbake target'
Common targets are:
- - meta-agl: (core system)
- agl-image-minimal
- agl-image-minimal-qa
+- meta-agl layer:
+ - included by default
+ * agl-image-boot (just enough to boot)
+ * agl-image-minimal (minimal filesystem with APIs)
+ * agl-image-minimal-crosssdk (crosssdk for ^^)
- agl-image-ivi
- agl-image-ivi-qa
- agl-image-ivi-crosssdk
+ * agl-image-weston (minimal filesystem with weston)
+ * agl-image-compositor (minimal filesystem with AGL compositor)
- agl-image-weston
+- meta-agl-demo: (IVI demo with UI)
+ - with 'agl-demo'
+ * agl-ivi-image (base for IVI targets)
+ * agl-ivi-image-crosssdk (sdk for ^^)
- - meta-agl-demo: (demo with UI)
- agl-demo-platform (* default demo target)
- agl-demo-platform-qa
- agl-demo-platform-crosssdk
- agl-demo-platform-html5
+ * agl-ivi-demo-qt (IVI Qt demo image)
+ * agl-ivi-demo-qt-crosssdk (sdk for ^^)
+ * agl-ivi-demo-flutter (IVI Flutter demo image)
+ * agl-ivi-demo-html5 (IVI HTML5 demo image)
+
+ * agl-cluster-demo-qt (cluster Qt demo image)
+ * agl-cluster-demo-flutter (cluster Flutter demo image)
+
+ * agl-telematics-demo (telematics demo image)
+
+ * agl-gateway-demo (gateway demo image)
```
Running the script creates the Build Directory if it does not already exist.
The build also takes approximately 100G-bytes of free disk space.
**Sample Qt based IVI demo :**
-The target is `agl-demo-platform`.
+The target is `agl-ivi-demo-qt`.
```sh
-$ time bitbake agl-demo-platform
+$ time bitbake agl-ivi-demo-qt
```
By default, the build process puts the resulting image in the Build Directory and further exporting that as `$IMAGE_NAME`:
```sh
-<build_directory>/tmp/deploy/images/qemux86-64/agl-demo-platform-qemux86-64.vmdk.xz
+<build_directory>/tmp/deploy/images/qemux86-64/agl-ivi-demo-qt-qemux86-64.vmdk.xz
-$ export IMAGE_NAME=agl-demo-platform-qemux86-64.vmdk.xz
+$ export IMAGE_NAME=agl-ivi-demo-qt-qemux86-64.vmdk.xz
```
**Sample HTML5 based IVI demo :**
-The target is `agl-demo-platform-html5`.
+The target is `agl-ivi-demo-html5`.
```sh
-$ time bitbake agl-demo-platform-html5
+$ time bitbake agl-ivi-demo-html5
```
By default, the build process puts the resulting image in the Build Directory and further exporting that as `$IMAGE_NAME`:
```sh
-<build_directory>/tmp/deploy/images/qemux86-64/agl-demo-platform-html5-qemux86-64.vmdk.xz
+<build_directory>/tmp/deploy/images/qemux86-64/agl-ivi-demo-html5-qemux86-64.vmdk.xz
-$ export IMAGE_NAME=agl-demo-platform-html5-qemux86-64.vmdk.xz
+$ export IMAGE_NAME=agl-ivi-demo-html5-qemux86-64.vmdk.xz
```
**IVI-EG Flutter based demo :**
Deploying the image consists of decompressing the image and then
booting it using either QEMU, VirtualBox or physical system.
-The examples below are usually for the 'agl-demo-platform' target.
+The examples below are usually for the 'agl-ivi-demo-qt' target.
Please adapt accordingly to your target image.
**3.1 QEMU**
And further use `runqemu` to boot the image :
```sh
-$ runqemu tmp/deploy/images/qemux86-64/agl-demo-platform-qemux86-64.qemuboot.conf kvm serialstdio slirp publicvnc audio
+$ runqemu tmp/deploy/images/qemux86-64/agl-ivi-demo-qt-qemux86-64.qemuboot.conf kvm serialstdio slirp publicvnc audio
```
If you need to run it outside of the bitbake environment or need special settings for

- Select Memory size. Recommended is `2048 MB`, click on `Next`.

- - Click on `Use an existing virtual hard disk file`, and select the extracted `agl-demo-platform-qemux86-64.vmdk.xz` or `<html5-image?>` file, click on `Create`.
+ - Click on `Use an existing virtual hard disk file`, and select the extracted `agl-ivi-demo-qt-qemux86-64.vmdk.xz` or `<html5-image?>` file, click on `Create`.

- Go to `Settings`, and into `System`. Select `Chipset : IHC9`. Check on `Enable EFI (special OSes only)` and click on `OK`.

$ cd tmp/deploy/images/qemux86-64
$ lsblk
$ sudo umount <usb_device_name>
- $ xzcat agl-demo-platform-qemux86-64.wic.xz | sudo dd of=<usb_device_name> bs=4M
+ $ xzcat agl-ivi-demo-qt-qemux86-64.wic.xz | sudo dd of=<usb_device_name> bs=4M
$ sync
```
The build also takes approximately 100G-bytes of free disk space.
**Qt Based IVI demo :**
-The target is `agl-demo-platform`.
+The target is `agl-ivi-demo-qt`.
```sh
-$ time bitbake agl-demo-platform
+$ time bitbake agl-ivi-demo-qt
```
By default, the build process puts the resulting image in the Build Directory and further exporting that as `$IMAGE_NAME`.
Here is example for the Raspberry Pi 4 board for Qt Based demo:
```sh
-<build_dir>/tmp/deploy/images/raspberrypi4/agl-demo-platform-raspberrypi4.wic.xz
+<build_dir>/tmp/deploy/images/raspberrypi4/agl-ivi-demo-qt-raspberrypi4.rootfs.wic.xz
-$ export IMAGE_NAME=agl-demo-platform-raspberrypi4.wic.xz
+$ export IMAGE_NAME=agl-ivi-demo-qt-raspberrypi4.rootfs.wic.xz
```
**HTML5 Based IVI demo :**
-The target is `agl-demo-platform-html5`.
+The target is `agl-ivi-demo-html5`.
```sh
-$ time bitbake agl-demo-platform-html5
+$ time bitbake agl-ivi-demo-html5
```
By default, the build process puts the resulting image in the Build Directory and further exporting that as `$IMAGE_NAME`.
Here is example for the Raspberry Pi 4 board for HTML5 Based demo:
```sh
-<build_dir>/tmp/deploy/images/raspberrypi4/agl-demo-platform-html5-raspberrypi4-64.wic.xz
+<build_dir>/tmp/deploy/images/raspberrypi4/agl-ivi-demo-html5-raspberrypi4-64.rootfs.wic.xz
-$ export IMAGE_NAME=agl-demo-platform-html5-raspberrypi4-64.wic.xz
+$ export IMAGE_NAME=agl-ivi-demo-html5-raspberrypi4-64.rootfs.wic.xz
```
## 4. Deploying the AGL Demo Image
The build also takes approximately 100G-bytes of free disk space.
**Qt based IVI demo :**
-For this example, the target is "agl-demo-platform":
+For this example, the target is "agl-ivi-demo-qt":
```sh
-bitbake agl-demo-platform
+bitbake agl-ivi-demo-qt
```
**HTML5 based IVI demo :**
-The target is `agl-demo-platform-html5`.
+The target is `agl-ivi-demo-html5`.
```sh
-$ time bitbake agl-demo-platform-html5
+$ time bitbake agl-ivi-demo-html5
```
**Instrument Cluster with Container isolation demo :**
```sh
cd $AGL_TOP/build/tmp/deploy/images/$MACHINE
- bmaptool copy ./agl-demo-platform-$MACHINE.wic.xz <boot_device_name>
+ bmaptool copy ./agl-ivi-demo-qt-$MACHINE.rootfs.wic.xz <boot_device_name>
```
Alternatively, you can leave the image in an uncompressed state and write it
```sh
sudo umount <boot_device_name>
- xzcat ./agl-demo-platform-$MACHINE.wic.xz | sudo dd of=<boot_device_name> bs=4M
+ xzcat ./agl-ivi-demo-qt-$MACHINE.rootfs.wic.xz | sudo dd of=<boot_device_name> bs=4M
sync
```
```
**Qt Based IVI demo :**
-The target is `agl-demo-platform`.
+The target is `agl-ivi-demo-qt`.
```sh
-$ bitbake agl-demo-platform
+$ bitbake agl-ivi-demo-qt
```
## 3. Deploying the AGL Demo Image
#### 2nd step: Build target images.
Type 3b integration need to build 3 image, these image are
-agl-ivi-demo-platform, agl-ivi-demo-platform-flutter and
-agl-ivi-demo-platform-html5.
+agl-ivi-demo-qt, agl-ivi-demo-flutter and agl-ivi-demo-html5.
```bash
-$ bitbake agl-ivi-demo-platform
-$ bitbake agl-ivi-demo-platform-flutter
-$ bitbake agl-ivi-demo-platform-html5
+$ bitbake agl-ivi-demo-qt
+$ bitbake agl-ivi-demo-flutter
+$ bitbake agl-ivi-demo-html5
```
#### 3rd step: Set deploy path of AGL IVI Demo to IC side config.
PC.
```bash
-$ sudo bash -c "xzcat /path/to/image/directory/agl-instrument-cluster-container-demo-XXXXX.wic.xz | dd of=/dev/sdXXX bs=128M"
+$ sudo bash -c "xzcat /path/to/image/directory/agl-instrument-cluster-container-demo-XXXXX.rootfs.wic.xz | dd of=/dev/sdXXX bs=128M"
```
**If you are missing to set SD card device "/dev/sdXXX", it cause
```bash
$ cd $AGL_TOP/master/build-flutter-cluster
$ source agl-init-build-env
-$ bitbake agl-cluster-demo-platform-flutter
+$ bitbake agl-cluster-demo-flutter
```
## 6. Deploying the AGL Demo Image
```bash
$ cd $AGL_TOP/master/build-flutter-dashboard
$ source agl-init-build-env
-$ bitbake agl-ivi-demo-platform-flutter
+$ bitbake agl-ivi-demo-flutter
```
## 6. Deploying the AGL Demo Image
* Building target image :
```sh
- $ time bitbake agl-demo-platform
+ $ time bitbake agl-ivi-demo-qt
```
* HTML5 Based :
* Building target image :
```sh
- $ time bitbake agl-demo-platform-html5
+ $ time bitbake agl-ivi-demo-html5
```
- **x86** : [qemux86-64](https://download.automotivelinux.org/AGL/snapshots/master/latest/qemux86-64/deploy/sdk/)
- **Note:** .sh file will be with name "poky-agl-glibc-x86_64-agl-demo-platform-crosssdk-corei7-64-qemux86-64-toolchain-$(version number).sh" where version number is regularly updated on the site.
+ **Note:** .sh file will be with name "poky-agl-glibc-x86_64-agl-ivi-demo-qt-crosssdk-corei7-64-qemux86-64-toolchain-$(version number).sh" where version number is regularly updated on the site.
- **ARM 32 bit** : [qemuarm](https://download.automotivelinux.org/AGL/snapshots/master/latest/qemuarm/deploy/sdk/)
- **Note:** .sh file will be with name " poky-agl-glibc-x86_64-agl-demo-platform-crosssdk-armv7vet2hf-neon-vfpv4-qemuarm-toolchain-$(version number).sh" where version number is regularly updated on the site.
+ **Note:** .sh file will be with name " poky-agl-glibc-x86_64-agl-ivi-demo-qt-crosssdk-armv7vet2hf-neon-vfpv4-qemuarm-toolchain-$(version number).sh" where version number is regularly updated on the site.
- **AARCH64 - ARM 64bit** : [qemuarm64](https://download.automotivelinux.org/AGL/snapshots/master/latest/qemuarm64/deploy/sdk/)
- **Note:** .sh file will be with name " poky-agl-glibc-x86_64-agl-demo-platform-crosssdk-aarch64-qemuarm64-toolchain-$(version number).sh" where version number is regularly updated on the site.
+ **Note:** .sh file will be with name " poky-agl-glibc-x86_64-agl-ivi-demo-qt-crosssdk-aarch64-qemuarm64-toolchain-$(version number).sh" where version number is regularly updated on the site.
*Henceforth,* **qemux86-64** *is used in these guides, unless specified
- otherwise. We also use the 'agl-demo-platform-crosssdk' as example.*
+ otherwise. We also use the 'agl-ivi-demo-qt-crosssdk' as example.*
2. Create application development directory and copy SDK into them :
```sh
$ mkdir ~/agl-app
- $ cp ~/Downloads/poky-agl-glibc-x86_64-agl-demo-platform-crosssdk-*.sh ~/agl-app/
+ $ cp ~/Downloads/poky-agl-glibc-x86_64-agl-ivi-demo-qt-crosssdk-*.sh ~/agl-app/
$ cd ~/agl-app
```
```sh
- $ chmod 777 poky-agl-glibc-x86_64-agl-demo-platform-crosssdk-*.sh
+ $ chmod 777 poky-agl-glibc-x86_64-agl-ivi-demo-qt-crosssdk-*.sh
$ mkdir agl-sdk/
- $ ./poky-agl-glibc-x86_64-agl-demo-platform-crosssdk-*.sh
+ $ ./poky-agl-glibc-x86_64-agl-ivi-demo-qt-crosssdk-*.sh
```
Select target directory for SDK : `~/agl-app/agl-sdk`
The `meta-agl-demo` layer is the reference user interface layer for the DEMO
platform of Automotive Grade Linux (AGL).
The layer provides a reference platform and applications.
-The BitBake target name for the DEMO platform is `agl-demo-platform`, which is
+The BitBake target name for the DEMO platform is `agl-ivi-demo-qt`, which is
the full DEMO platform image.
## Layer Dependencies
---
-title: config-notes
+title: conf-notes
---
+```
Common targets are:
- meta-agl layer:
- included by default
* agl-image-minimal-crosssdk (crosssdk for ^^)
* agl-image-weston (minimal filesystem with weston)
+ * agl-image-compositor (minimal filesystem with AGL compositor)
- meta-agl-demo: (IVI demo with UI)
- with 'agl-demo'
- * agl-image-ivi (base for IVI targets)
- * agl-image-ivi-crosssdk (sdk for ^^)
+ * agl-ivi-image (base for IVI targets)
+ * agl-ivi-image-crosssdk (sdk for ^^)
- * agl-image-graphical-qt5 (weston plus qt5 framework libs)
- * agl-image-graphical-qt5-crosssdk (sdk for ^^)
+ * agl-ivi-demo-qt (IVI Qt demo image)
+ * agl-ivi-demo-qt-crosssdk (sdk for ^^)
+ * agl-ivi-demo-flutter (IVI Flutter demo image)
+ * agl-ivi-demo-html5 (IVI HTML5 demo image)
- * agl-image-graphical-html5 (weston plus chromium for html5)
-
- * agl-image-cluster (minimal image with APIs for cluster)
- * agl-image-cluster-qt5 (image with QT5 and APIs for cluster)
-
- * agl-image-telematics (image with APIs for telematics)
-
- * agl-demo-platform (* default IVI demo target *)
- * agl-demo-platform-crosssdk (sdk for ^^)
-
- * agl-cluster-demo-platform (cluster demo image)
- * agl-cluster-demo-platform-crosssdk (sdk for ^^)
- * agl-cluster-demo-qtcompositor (cluster demo using own compositor)
-
- * agl-telematics-demo-platform (telematics demo image)
- * agl-telematics-demo-platform-crosssdk (sdk for ^^)
+ * agl-cluster-demo-qt (cluster Qt demo image)
+ * agl-cluster-demo-flutter (cluster Flutter demo image)
+ * agl-telematics-demo (telematics demo image)
+ * agl-gateway-demo (gateway demo image)
+```
**Note:** For update details on this page please refer
```
devtool build packagename
- devtool build-image agl-demo-platform
+ devtool build-image agl-ivi-demo-qt
```
If that is working you could add it to git/gerrit. You have to add your recipe to a layer.
```shell
$ source master/meta-agl/scripts/aglsetup.sh -m qemux86-64 -b build-master agl-demo agl-devel agl-offline-voice-agent
$ source agl-init-build-env
-$ bitbake agl-ivi-demo-platform-flutter
+$ bitbake agl-ivi-demo-flutter
```
After the build is complete, you can run the final image using QEMU. Once the image is running, you can start the voice agent service by running the following command:
The voice assistant app is a flutter based application made for Automotive Grade Linux (AGL). It is responsible for interacting with the voice agent service for user voice command recognition, intent extraction, and command execution. It also receives the response from the voice agent service and displays it on the screen. Some app UI screenshots are attached below.

-
\ No newline at end of file
+
```
$ bitbake <image_name>
```
-**Note**: The operation has been confirmed with the **agl-demo-platform**. If you wish to specify a different `<image_name>` other than agl-demo-platform, create a file named `<image_name>.bbappend` in the directory
+**Note**: The operation has been confirmed with the **agl-ivi-demo-qt**. If you wish to specify a different `<image_name>` other than agl-ivi-demo-qt, create a file named `<image_name>.bbappend` in the directory
```
$AGL_TOP/master/meta-agl-devel/meta-uhmi/meta-rvgpu/recipes-platform/images
```
```
Save the file and run the following to start QEMU.
```
-sudo <WORKDIR>/run_qemu_bridge.sh <build_directory>/tmp/deploy/images/qemux86-64/bzImage <build_directory>/tmp/deploy/images/qemux86-64/agl-demo-platform-qemux86-64.ext4
+sudo <WORKDIR>/run_qemu_bridge.sh <build_directory>/tmp/deploy/images/qemux86-64/bzImage <build_directory>/tmp/deploy/images/qemux86-64/agl-ivi-demo-qt-qemux86-64.ext4
```
When QEMU boot, assign an IP address. For example:
```
**Note**: There are known issues with mouse, such as the cursor becoming invisible and occasional flickering of a green screen.
**Appendix**
-- By building the RVGPU on Ubuntu, it is possible to enable bidirectional remote rendering between the agl-demo-platform and Ubuntu.
+- By building the RVGPU on Ubuntu, it is possible to enable bidirectional remote rendering between the agl-ivi-demo-qt and Ubuntu.
For the build procedure on Ubuntu, see the following URL: https://github.com/unified-hmi/remote-virtio-gpu
The figure below shows an example where Ubuntu is used as the Sender and AGL as the Receiver, running RVGPU.