From 0406c86ba09804bc3e2f3ec5f964c8e3a0b942e0 Mon Sep 17 00:00:00 2001 From: Naoto Yamaguchi Date: Sat, 21 Sep 2024 00:37:18 +0900 Subject: Move KVM demo image document from 02_Building_AGL_Image to 03_Build_and_Boot_guide_Profile Existing 02_Building_AGL_Image section is big. That include build procedure for basic IVI demo images. The 22_Available_KVM_Demo_Images is a extra demo image build procedure. These extra procedure stay on 03_Build_and_Boot_guide_Profile, that is more better solution to avoid complexity for 02_Building_AGL_Image section. This change move KVM demo image document from 02_Building_AGL_Image to 03_Build_and_Boot_guide_Profile. Bug-AGL: SPEC-5247 Change-Id: I694b650438c24f47dd5212a86363d8fd1fa24749 Signed-off-by: Naoto Yamaguchi Reviewed-on: https://gerrit.automotivelinux.org/gerrit/c/AGL/documentation/+/30299 Reviewed-by: Jan-Simon Moeller Tested-by: Jan-Simon Moeller --- .../22_Available_KVM_Demo_Images.md | 96 ---------------- .../02_Flutter_Instrument_Cluster_(qemu-x86).md | 128 --------------------- .../02_KVM_Demo_Images.md | 96 ++++++++++++++++ .../03_Flutter_Instrument_Cluster_(qemu-x86).md | 128 +++++++++++++++++++++ .../03_IVI_Flutter_apps.md | 81 ------------- .../04_IVI_Flutter_apps.md | 81 +++++++++++++ 6 files changed, 305 insertions(+), 305 deletions(-) delete mode 100644 docs/01_Getting_Started/02_Building_AGL_Image/22_Available_KVM_Demo_Images.md delete mode 100644 docs/01_Getting_Started/03_Build_and_Boot_guide_Profile/02_Flutter_Instrument_Cluster_(qemu-x86).md create mode 100644 docs/01_Getting_Started/03_Build_and_Boot_guide_Profile/02_KVM_Demo_Images.md create mode 100644 docs/01_Getting_Started/03_Build_and_Boot_guide_Profile/03_Flutter_Instrument_Cluster_(qemu-x86).md delete mode 100644 docs/01_Getting_Started/03_Build_and_Boot_guide_Profile/03_IVI_Flutter_apps.md create mode 100644 docs/01_Getting_Started/03_Build_and_Boot_guide_Profile/04_IVI_Flutter_apps.md (limited to 'docs/01_Getting_Started') diff --git a/docs/01_Getting_Started/02_Building_AGL_Image/22_Available_KVM_Demo_Images.md b/docs/01_Getting_Started/02_Building_AGL_Image/22_Available_KVM_Demo_Images.md deleted file mode 100644 index ce8bb44..0000000 --- a/docs/01_Getting_Started/02_Building_AGL_Image/22_Available_KVM_Demo_Images.md +++ /dev/null @@ -1,96 +0,0 @@ ---- -title: Available KVM Demo Images ---- - -## 1. KVM Demo Images - -These images are available when the `agl-kvm` feature is given to `aglsetup.sh`. The resulting images use DHCP for network configuration, but the following address assignments are assumed: - -- KVM demo board has internal address 172.16.10.1 -- IVI guest has internal address 172.16.10.2 -- IC guest has internal address 172.16.10.3 - -Note that all of the KVM demo images are currently configured for the Renesas H3ULCB based AGL reference hardware. While the demo can likely be run on other hardware, there are some pieces of configuration that are currently hard-coded that would need to be changed. One particular aspect of hardware-specific configuration is that the USB connection for the touchscreen used for the IVI needs to be plugged into the lower USB connector of the 2x USB 3.0 connector header on the reference hardware. - -### agl-ivi-demo-flutter-guest - -Flutter IVI demo image with: - -- IC navigation streaming support - -### agl-cluster-demo-flutter-guest - -Flutter IC demo image with: - -- KUKSA.val databroker removed, as it runs on the IVI guest. -- Application configuration changes for databroker being on the IVI guest. - -### agl-kvm-demo - -Base KVM demo image with: - -- `agl-ivi-demo-flutter-guest` IVI guest. -- `agl-cluster-demo-flutter-guest` IC guest. -- KUKSA.val databroker not present, as it runs on the IVI guest. - -## 2. Preconfigured KVM demo images - -These images are also available when the `agl-kvm` feature is given to `aglsetup.sh`, but are intended for use with a more complete demo setup along the lines of what the project showcases at tradeshows such as CES or Embedded World. The resulting images use DHCP for network configuration, but the following address assignments are assumed: - -- KVM demo board has internal address 172.16.10.1 -- IVI guest has internal address 172.16.10.2 -- IC guest has internal address 172.16.10.3 -- KVM demo board has address 192.168.10.2 -- Gateway board has address 192.168.10.4 - -### agl-ivi-demo-flutter-guest-preconfigured - -Flutter IVI demo image with: - -- IC navigation streaming support -- KUKSA.val databroker removed, as it runs on the KVM host. -- Application configuration changes for databroker being on the KVM host. -- Platform service daemons such as audio and HVAC support removed as they run on the KVM host. -- Weston Terminal application removed - -### agl-ivi-demo-flutter-guest-preconfigured-gateway - -Flutter IVI demo image with: - -- IC navigation streaming support -- KUKSA.val databroker removed, as it runs on the gateway. -- Application configuration changes for databroker being on the gateway. -- Platform service daemons such as audio and HVAC support removed as they run on the KVM host. -- Weston Terminal application removed - -### agl-cluster-demo-flutter-guest-preconfigured - -Flutter IC demo image with: - -- KUKSA.val databroker removed, as it runs on the KVM host. -- Application configuration changes for databroker being on the KVM host. -- Configuration tweaks to invert the screen orientation, as the IC screen in the full demo setup is upside down. - -### agl-cluster-demo-flutter-guest-preconfigured-gateway - -Flutter IC demo image with: - -- KUKSA.val databroker removed, as it runs on the gateway. -- Application configuration changes for databroker being on the gateway. -- Configuration tweaks to invert the screen orientation, as the IC screen in the full demo setup is upside down. - -### agl-kvm-demo-flutter-preconfigured - -KVM demo image with: - -- `agl-ivi-demo-flutter-guest-preconfigured` IVI guest. -- `agl-cluster-demo-flutter-guest-preconfigured` IC guest. -- KUKSA.val databroker. -- Platform service daemons such as audio and HVAC. - -### agl-kvm-demo-flutter-preconfigured-gateway - -- `agl-ivi-demo-flutter-guest-preconfigured-gateway` IVI guest. -- `agl-cluster-demo-flutter-guest-preconfigured-gateway` IC guest. -- Platform service daemons such as audio and HVAC -- Service configuration for the KUKSA.val databroker being on the gateway. \ No newline at end of file diff --git a/docs/01_Getting_Started/03_Build_and_Boot_guide_Profile/02_Flutter_Instrument_Cluster_(qemu-x86).md b/docs/01_Getting_Started/03_Build_and_Boot_guide_Profile/02_Flutter_Instrument_Cluster_(qemu-x86).md deleted file mode 100644 index 1cb3899..0000000 --- a/docs/01_Getting_Started/03_Build_and_Boot_guide_Profile/02_Flutter_Instrument_Cluster_(qemu-x86).md +++ /dev/null @@ -1,128 +0,0 @@ ---- -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/master/#01_Getting_Started/02_Building_AGL_Image/02_Preparing_Your_Build_Host/) - -## 1. Define Your Top-Level Directory - -```bash -$ export AGL_TOP=$HOME/AGL -$ echo 'export AGL_TOP=$HOME/AGL' >> $HOME/.bashrc -$ mkdir -p $AGL_TOP -``` - -## 2. Download the repo Tool and Set Permissions - -```bash -$ mkdir -p $HOME/bin -$ export PATH=$HOME/bin:$PATH -$ echo 'export PATH=$HOME/bin:$PATH' >> $HOME/.bashrc -$ curl https://storage.googleapis.com/git-repo-downloads/repo > $HOME/bin/repo -$ chmod a+x $HOME/bin/repo -``` - -## 3. Download the AGL Source Files -To download the latest **master** branch AGL files, use the following commands: -```bash -$ cd $AGL_TOP -$ mkdir master -$ cd master -$ repo init -u https://gerrit.automotivelinux.org/gerrit/AGL/AGL-repo -$ repo sync -``` - -## 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: -```bash -$ $AGL_TOP/master/meta-agl/scripts/aglsetup.sh -``` -Run the script: - -```bash -$ cd $AGL_TOP -$ source master/meta-agl/scripts/aglsetup.sh -b build-flutter-cluster -m qemux86-64 agl-demo agl-devel -``` - -- Here `-b` is used to specify the build directory and `-m` is used to specify the target platform. - -- Running this script, will create a build directory if it does not exist. Default build directory: `$AGL_TOP/master/build-flutter-cluster` -- 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 - - -## 5. Using BitBake - -```bash -$ cd $AGL_TOP/master/build-flutter-cluster -$ source agl-init-build-env -$ bitbake agl-cluster-demo-flutter -``` - -## 6. Deploying the AGL Demo Image -Boot the image using QEMU - -```bash -$ cd $AGL_TOP/master/build-flutter-cluster -$ source agl-init-build-env -$ runqemu kvm serialstdio slirp publicvnc -``` - -## 6. Run the Graphics -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` - -That's it, you should get something like this: -![Screenshot](images/flutter_instrument_cluster.png) - -## 7. To start navigation widget -To get the navigation, you need to use `kuksa_viss_client` or `kuksa_vss_init.py` script. - -#### **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: - -``` - -Login as root - -```bash -qemux86-64 login: root -``` -Now run the script - -```bash -root@qemux86-64:~# /usr/sbin/kuksa_vss_init.py -``` - -#### **Using `kuksa_viss_client`** - -Know more about kuksa_viss_client, [Follow this](https://github.com/eclipse/kuksa.val/tree/master/) - -- Run the kuksa_viss_client -- Authorize using token - -Then - -```bash -Test Client> setValue Vehicle.Cabin.SteeringWheel.Switches.Info true -``` -![Screenshot](images/flutter_instrument_cluster_map.png) diff --git a/docs/01_Getting_Started/03_Build_and_Boot_guide_Profile/02_KVM_Demo_Images.md b/docs/01_Getting_Started/03_Build_and_Boot_guide_Profile/02_KVM_Demo_Images.md new file mode 100644 index 0000000..ce8bb44 --- /dev/null +++ b/docs/01_Getting_Started/03_Build_and_Boot_guide_Profile/02_KVM_Demo_Images.md @@ -0,0 +1,96 @@ +--- +title: Available KVM Demo Images +--- + +## 1. KVM Demo Images + +These images are available when the `agl-kvm` feature is given to `aglsetup.sh`. The resulting images use DHCP for network configuration, but the following address assignments are assumed: + +- KVM demo board has internal address 172.16.10.1 +- IVI guest has internal address 172.16.10.2 +- IC guest has internal address 172.16.10.3 + +Note that all of the KVM demo images are currently configured for the Renesas H3ULCB based AGL reference hardware. While the demo can likely be run on other hardware, there are some pieces of configuration that are currently hard-coded that would need to be changed. One particular aspect of hardware-specific configuration is that the USB connection for the touchscreen used for the IVI needs to be plugged into the lower USB connector of the 2x USB 3.0 connector header on the reference hardware. + +### agl-ivi-demo-flutter-guest + +Flutter IVI demo image with: + +- IC navigation streaming support + +### agl-cluster-demo-flutter-guest + +Flutter IC demo image with: + +- KUKSA.val databroker removed, as it runs on the IVI guest. +- Application configuration changes for databroker being on the IVI guest. + +### agl-kvm-demo + +Base KVM demo image with: + +- `agl-ivi-demo-flutter-guest` IVI guest. +- `agl-cluster-demo-flutter-guest` IC guest. +- KUKSA.val databroker not present, as it runs on the IVI guest. + +## 2. Preconfigured KVM demo images + +These images are also available when the `agl-kvm` feature is given to `aglsetup.sh`, but are intended for use with a more complete demo setup along the lines of what the project showcases at tradeshows such as CES or Embedded World. The resulting images use DHCP for network configuration, but the following address assignments are assumed: + +- KVM demo board has internal address 172.16.10.1 +- IVI guest has internal address 172.16.10.2 +- IC guest has internal address 172.16.10.3 +- KVM demo board has address 192.168.10.2 +- Gateway board has address 192.168.10.4 + +### agl-ivi-demo-flutter-guest-preconfigured + +Flutter IVI demo image with: + +- IC navigation streaming support +- KUKSA.val databroker removed, as it runs on the KVM host. +- Application configuration changes for databroker being on the KVM host. +- Platform service daemons such as audio and HVAC support removed as they run on the KVM host. +- Weston Terminal application removed + +### agl-ivi-demo-flutter-guest-preconfigured-gateway + +Flutter IVI demo image with: + +- IC navigation streaming support +- KUKSA.val databroker removed, as it runs on the gateway. +- Application configuration changes for databroker being on the gateway. +- Platform service daemons such as audio and HVAC support removed as they run on the KVM host. +- Weston Terminal application removed + +### agl-cluster-demo-flutter-guest-preconfigured + +Flutter IC demo image with: + +- KUKSA.val databroker removed, as it runs on the KVM host. +- Application configuration changes for databroker being on the KVM host. +- Configuration tweaks to invert the screen orientation, as the IC screen in the full demo setup is upside down. + +### agl-cluster-demo-flutter-guest-preconfigured-gateway + +Flutter IC demo image with: + +- KUKSA.val databroker removed, as it runs on the gateway. +- Application configuration changes for databroker being on the gateway. +- Configuration tweaks to invert the screen orientation, as the IC screen in the full demo setup is upside down. + +### agl-kvm-demo-flutter-preconfigured + +KVM demo image with: + +- `agl-ivi-demo-flutter-guest-preconfigured` IVI guest. +- `agl-cluster-demo-flutter-guest-preconfigured` IC guest. +- KUKSA.val databroker. +- Platform service daemons such as audio and HVAC. + +### agl-kvm-demo-flutter-preconfigured-gateway + +- `agl-ivi-demo-flutter-guest-preconfigured-gateway` IVI guest. +- `agl-cluster-demo-flutter-guest-preconfigured-gateway` IC guest. +- Platform service daemons such as audio and HVAC +- Service configuration for the KUKSA.val databroker being on the gateway. \ No newline at end of file diff --git a/docs/01_Getting_Started/03_Build_and_Boot_guide_Profile/03_Flutter_Instrument_Cluster_(qemu-x86).md b/docs/01_Getting_Started/03_Build_and_Boot_guide_Profile/03_Flutter_Instrument_Cluster_(qemu-x86).md new file mode 100644 index 0000000..1cb3899 --- /dev/null +++ b/docs/01_Getting_Started/03_Build_and_Boot_guide_Profile/03_Flutter_Instrument_Cluster_(qemu-x86).md @@ -0,0 +1,128 @@ +--- +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/master/#01_Getting_Started/02_Building_AGL_Image/02_Preparing_Your_Build_Host/) + +## 1. Define Your Top-Level Directory + +```bash +$ export AGL_TOP=$HOME/AGL +$ echo 'export AGL_TOP=$HOME/AGL' >> $HOME/.bashrc +$ mkdir -p $AGL_TOP +``` + +## 2. Download the repo Tool and Set Permissions + +```bash +$ mkdir -p $HOME/bin +$ export PATH=$HOME/bin:$PATH +$ echo 'export PATH=$HOME/bin:$PATH' >> $HOME/.bashrc +$ curl https://storage.googleapis.com/git-repo-downloads/repo > $HOME/bin/repo +$ chmod a+x $HOME/bin/repo +``` + +## 3. Download the AGL Source Files +To download the latest **master** branch AGL files, use the following commands: +```bash +$ cd $AGL_TOP +$ mkdir master +$ cd master +$ repo init -u https://gerrit.automotivelinux.org/gerrit/AGL/AGL-repo +$ repo sync +``` + +## 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: +```bash +$ $AGL_TOP/master/meta-agl/scripts/aglsetup.sh +``` +Run the script: + +```bash +$ cd $AGL_TOP +$ source master/meta-agl/scripts/aglsetup.sh -b build-flutter-cluster -m qemux86-64 agl-demo agl-devel +``` + +- Here `-b` is used to specify the build directory and `-m` is used to specify the target platform. + +- Running this script, will create a build directory if it does not exist. Default build directory: `$AGL_TOP/master/build-flutter-cluster` +- 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 + + +## 5. Using BitBake + +```bash +$ cd $AGL_TOP/master/build-flutter-cluster +$ source agl-init-build-env +$ bitbake agl-cluster-demo-flutter +``` + +## 6. Deploying the AGL Demo Image +Boot the image using QEMU + +```bash +$ cd $AGL_TOP/master/build-flutter-cluster +$ source agl-init-build-env +$ runqemu kvm serialstdio slirp publicvnc +``` + +## 6. Run the Graphics +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` + +That's it, you should get something like this: +![Screenshot](images/flutter_instrument_cluster.png) + +## 7. To start navigation widget +To get the navigation, you need to use `kuksa_viss_client` or `kuksa_vss_init.py` script. + +#### **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: + +``` + +Login as root + +```bash +qemux86-64 login: root +``` +Now run the script + +```bash +root@qemux86-64:~# /usr/sbin/kuksa_vss_init.py +``` + +#### **Using `kuksa_viss_client`** + +Know more about kuksa_viss_client, [Follow this](https://github.com/eclipse/kuksa.val/tree/master/) + +- Run the kuksa_viss_client +- Authorize using token + +Then + +```bash +Test Client> setValue Vehicle.Cabin.SteeringWheel.Switches.Info true +``` +![Screenshot](images/flutter_instrument_cluster_map.png) diff --git a/docs/01_Getting_Started/03_Build_and_Boot_guide_Profile/03_IVI_Flutter_apps.md b/docs/01_Getting_Started/03_Build_and_Boot_guide_Profile/03_IVI_Flutter_apps.md deleted file mode 100644 index 6d6bd93..0000000 --- a/docs/01_Getting_Started/03_Build_and_Boot_guide_Profile/03_IVI_Flutter_apps.md +++ /dev/null @@ -1,81 +0,0 @@ ---- -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/master/#01_Getting_Started/02_Building_AGL_Image/02_Preparing_Your_Build_Host/) - -## 1. Define Your Top-Level Directory - -```bash -$ export AGL_TOP=$HOME/AGL -$ echo 'export AGL_TOP=$HOME/AGL' >> $HOME/.bashrc -$ mkdir -p $AGL_TOP -``` - -## 2. Download the repo Tool and Set Permissions - -```bash -$ mkdir -p $HOME/bin -$ export PATH=$HOME/bin:$PATH -$ echo 'export PATH=$HOME/bin:$PATH' >> $HOME/.bashrc -$ curl https://storage.googleapis.com/git-repo-downloads/repo > $HOME/bin/repo -$ chmod a+x $HOME/bin/repo -``` - -## 3. Download the AGL Source Files -To download the latest **master** branch AGL files, use the following commands: -```bash -$ cd $AGL_TOP -$ mkdir master -$ cd master -$ repo init -u https://gerrit.automotivelinux.org/gerrit/AGL/AGL-repo -$ repo sync -``` - -## 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: -```bash -$ $AGL_TOP/master/meta-agl/scripts/aglsetup.sh -``` -Run the script: - -```bash -$ cd $AGL_TOP/master -$ source meta-agl/scripts/aglsetup.sh -b build-flutter-dashboard -m qemux86-64 agl-demo agl-devel -``` - -- Here `-b` is used to specify the build directory and `-m` is used to specify the target platform. - -- Running this script, will create a build directory if it does not exist. Default build directory: `$AGL_TOP/master/build-flutter-dashboard` -- Default target paltform: `qemux86-64` - -## 5. Using BitBake - -```bash -$ cd $AGL_TOP/master/build-flutter-dashboard -$ source agl-init-build-env -$ bitbake agl-ivi-demo-flutter -``` - -## 6. Deploying the AGL Demo Image -Boot the image using QEMU - -```bash -$ cd $AGL_TOP/master/build-flutter-dashboard -$ source agl-init-build-env -$ runqemu kvm serialstdio slirp publicvnc -``` - -## 6. Run the Graphics -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` - -That's it, you should get something like this: -![Screenshot](images/ivi_homescreen.PNG) diff --git a/docs/01_Getting_Started/03_Build_and_Boot_guide_Profile/04_IVI_Flutter_apps.md b/docs/01_Getting_Started/03_Build_and_Boot_guide_Profile/04_IVI_Flutter_apps.md new file mode 100644 index 0000000..6d6bd93 --- /dev/null +++ b/docs/01_Getting_Started/03_Build_and_Boot_guide_Profile/04_IVI_Flutter_apps.md @@ -0,0 +1,81 @@ +--- +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/master/#01_Getting_Started/02_Building_AGL_Image/02_Preparing_Your_Build_Host/) + +## 1. Define Your Top-Level Directory + +```bash +$ export AGL_TOP=$HOME/AGL +$ echo 'export AGL_TOP=$HOME/AGL' >> $HOME/.bashrc +$ mkdir -p $AGL_TOP +``` + +## 2. Download the repo Tool and Set Permissions + +```bash +$ mkdir -p $HOME/bin +$ export PATH=$HOME/bin:$PATH +$ echo 'export PATH=$HOME/bin:$PATH' >> $HOME/.bashrc +$ curl https://storage.googleapis.com/git-repo-downloads/repo > $HOME/bin/repo +$ chmod a+x $HOME/bin/repo +``` + +## 3. Download the AGL Source Files +To download the latest **master** branch AGL files, use the following commands: +```bash +$ cd $AGL_TOP +$ mkdir master +$ cd master +$ repo init -u https://gerrit.automotivelinux.org/gerrit/AGL/AGL-repo +$ repo sync +``` + +## 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: +```bash +$ $AGL_TOP/master/meta-agl/scripts/aglsetup.sh +``` +Run the script: + +```bash +$ cd $AGL_TOP/master +$ source meta-agl/scripts/aglsetup.sh -b build-flutter-dashboard -m qemux86-64 agl-demo agl-devel +``` + +- Here `-b` is used to specify the build directory and `-m` is used to specify the target platform. + +- Running this script, will create a build directory if it does not exist. Default build directory: `$AGL_TOP/master/build-flutter-dashboard` +- Default target paltform: `qemux86-64` + +## 5. Using BitBake + +```bash +$ cd $AGL_TOP/master/build-flutter-dashboard +$ source agl-init-build-env +$ bitbake agl-ivi-demo-flutter +``` + +## 6. Deploying the AGL Demo Image +Boot the image using QEMU + +```bash +$ cd $AGL_TOP/master/build-flutter-dashboard +$ source agl-init-build-env +$ runqemu kvm serialstdio slirp publicvnc +``` + +## 6. Run the Graphics +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` + +That's it, you should get something like this: +![Screenshot](images/ivi_homescreen.PNG) -- cgit 1.2.3-korg