User Tools

Site Tools


agl-distro:agl-raspberrypi

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
agl-distro:agl-raspberrypi [2017/02/16 20:48]
jsmoeller [Booting AGL Demo Platform on Raspberry Pi]
agl-distro:agl-raspberrypi [2022/10/07 19:37] (current)
vinodahuja
Line 1: Line 1:
 ====== AGL for Raspberry Pi ====== ====== AGL for Raspberry Pi ======
  
-AGL has been initially ported ​to Raspberry Pi 2 and 3 by Leon Anavi thanks to the existing knowledge ​for enabling hardware graphics acceleration in Wayland and Weston from the Tizen Project and GENIVI Development Platform.+Please refer to AGL docs for setting up [[https://​docs.automotivelinux.org/​en/​needlefish/#​0_Getting_Started/​2_Building_AGL_Image/​5_2_Raspberry_Pi_4/​ | AGL on Raspberry Pi]]
  
-Follow the [[agl-distro:​source-code|general steps for building AGL]], download master branch and set **raspberrypi2** or **raspberrypi3** as a machine depending on the version and the model of your Raspberry Pi. 
- 
-====== Download AGL Source Code ====== 
- 
-The AGL source code and Yocto layers are maintained on the AGL Gerrit server. For information on how to create accounts for gerrit see Getting Started with AGL. 
- 
-===== Prepare Repo Tool ===== 
- 
-AGL Uses the Repo tool for managing repositories. First you need to setup layers of AGL. You can use the commands below to prepare Repo: 
- 
-<​code>​ 
-mkdir ~/bin 
-export PATH=~/​bin:​$PATH 
-curl https://​storage.googleapis.com/​git-repo-downloads/​repo > ~/bin/repo 
-chmod a+x ~/bin/repo 
-</​code>​ 
-===== Download Latest Stable Release ===== 
- 
-To download all layers for the for the latest stable release, Blowfish 2.0.3: 
- 
-<​code>​ 
-repo init -b blowfish -m default_blowfish_2.0.3.xml -u https://​gerrit.automotivelinux.org/​gerrit/​AGL/​AGL-repo 
-repo sync 
-</​code>​ 
-===== Download Latest on Blowfish Branch ===== 
- 
-To download all layers on the current release branch which may be in the midst of testing or changes prior to the next stable release: 
- 
-<​code>​ 
-repo init -b blowfish -u https://​gerrit.automotivelinux.org/​gerrit/​AGL/​AGL-repo 
-repo sync 
-</​code>​ 
-===== Download Master Branch ===== 
- 
-To download all code from master: 
- 
-<​code>​ 
-repo init -u https://​gerrit.automotivelinux.org/​gerrit/​AGL/​AGL-repo 
-repo sync 
-</​code>​ 
-===== Set up Build Environment ===== 
- 
-Set up the development environment for the desired target hardware. AGL has created a set up script for defining the target build and desired optional features. To get a complete list of the options available run. 
- 
-<​code>​ 
-  $ source meta-agl/​scripts/​aglsetup.sh -h 
-</​code>​ 
-Once you run aglsetup.sh with your desired paramaters, you can build any target desired. 
- 
-===== Features supported by aglsetup ===== 
- 
-Here is the list of features for AGL 2.0 that can be specified in the aglsetup.sh command line: 
- 
-  * in **meta-agl** 
-    * **agl-devel**:​ activate development options (empty root password, debugger, strace, valgrind …) 
-    * **agl-netboot**:​ enable network boot support through TFTP and NBD (see meta-netboot layer) 
-  * in **meta-agl-extra** 
-    * **agl-appfw-smack**:​ enables IoT.bzh Application Framework + SMACK + Cynara 
-    * **agl-demo**:​ enable layer meta-agl-demo and meta-qt5 - required to build * agl-demo-platform 
-    * **agl-localdev**:​ add a local layer named “meta-localdev” in meta directory and a local.dev.inc conf file if present 
-    * **agl-sota**:​ enable SOTA components and dependencies (meta-sota, meta-filesystems,​ meta-ruby, meta-rust are added) 
- 
-For newer features or to get more details on a given feature, take a look at the configuration files stored for each feature and/or each machine in meta-agl/​templates and meta-agl-extra/​templates. 
- 
-====== Building the AGL Demo Platform for Raspberry Pi ====== 
- 
-===== Raspberry Pi 3 ===== 
- 
-To build AGL demo platform for Raspberry Pi 3 use machine **raspberrypi3** and feature **agl-demo**:​ 
- 
-<​code>​ 
-source meta-agl/​scripts/​aglsetup.sh -m raspberrypi3 agl-demo agl-netboot agl-appfw-smack 
-bitbake agl-demo-platform 
-</​code>​ 
-===== Raspberry Pi 2 ===== 
- 
-To build AGL demo platform for Raspberry Pi 2 use machine **raspberrypi2** and feature **agl-demo**:​ 
- 
-<​code>​ 
-source meta-agl/​scripts/​aglsetup.sh -m raspberrypi2 agl-demo agl-netboot agl-appfw-smack 
-bitbake agl-demo-platform 
-</​code>​ 
-====== Booting AGL Demo Platform on Raspberry Pi ====== 
- 
-Follow the steps below to copy the image to microSD card and to boot it on Raspberry Pi 2 or 3: 
- 
-  * Connect your sdcard in your linux machine. 
-  * Copy output image from build machine to linux machine that is connected your sdcard. (Often, those are same machines) 
-  * Output Image location in build machine for Raspberry Pi 2: //​tmp/​deploy/​images/​raspberrypi2/​agl-demo-platform-raspberrypi2.rpi-sdimg//​ 
-  * Output Image location in build machine for Raspberry Pi 3: //​tmp/​deploy/​images/​raspberrypi3/​agl-demo-platform-raspberrypi3.rpi-sdimg//​ 
-  * Unmount the microSD card and after that flash output image to it card with root user: 
- 
-** Note: the sdimage files can also be named rpi-sdimg-ota in case you have the "​agl-sota"​ feature enabled ** 
-<​code>​ 
-sudo umount [sdcard device] 
-sudo dd if=[output image] of=[sdcard device] bs=4M 
-sync 
-</​code>​ 
-  * Plug your microSD card into Raspberry Pi 2 or 3 and boot the board 
- 
-====== Troubleshooting ====== 
- 
-Due to a known bug in the upstream of meta-rust the Yocto/OE recipe for rust-cross may fail while building RVI SOTA Client or another application written in the Rust programming language. Until the complete resolution of the issue the workaround is to disable all use of the CXX11 ABI by applying the following lines to **conf/​local.conf**:​ 
- 
-<​code>​ 
-LD_CXXFLAGS_append = " -D_GLIBCXX_USE_CXX11_ABI=0"​ 
-TARGET_CXXFLAGS_append = " -D_GLIBCXX_USE_CXX11_ABI=0"​ 
-CXXFLAGS_append = " -D_GLIBCXX_USE_CXX11_ABI=0"​ 
-  ​ 
-BUILD_CXXFLAGS_remove_pn-gcc-runtime = "​-D_GLIBCXX_USE_CXX11_ABI=0"​ 
-TARGET_CXXFLAGS_remove_pn-gcc-runtime = "​-D_GLIBCXX_USE_CXX11_ABI=0"​ CXXFLAGS_remove_pn-gcc-runtime = "​-D_GLIBCXX_USE_CXX11_ABI=0"​ 
-</​code>​ 
-====== Commercial Licensed Packages ====== 
- 
-Append to following lines to **conf/​local.conf** to include libomxil under a commercial license to your build: 
- 
-<​code>​ 
-# For libomxil 
-LICENSE_FLAGS_WHITELIST = "​commercial"​ 
- 
-IMAGE_INSTALL_append = " libomxil"​ 
-</​code>​ 
-====== Raspberry Pi Touchscreen with Rotation ====== 
- 
-If you have Raspberry Pi official 7" touchscreen connected, you can rotate it with these lines in /​etc/​xdg/​weston/​weston.ini 
- 
-<​code>​ 
-root@raspberrypi3:/​etc/​xdg/​weston#​ cat weston.ini 
-[core] 
-backend=drm-backend.so 
-shell=desktop-shell.so 
- 
-[shell] 
-locking=true 
-# Uncomment below to hide panel 
-#​panel-location=none 
- 
-[launcher] 
-icon=/​usr/​share/​weston/​terminal.png 
-path=/​usr/​bin/​weston-terminal 
- 
-[launcher] 
-icon=/​usr/​share/​weston/​icon_flower.png 
-path=/​usr/​bin/​weston-flower 
- 
-[output] 
-name=DSI-1 
-transform=270 
-</​code>​ 
-====== Debugging ====== 
- 
-It is possible to debug AGL images on Raspberry Pi using 3.3V USB to serial cable, such as [[https://​www.olimex.com/​Products/​Components/​Cables/​USB-Serial-Cable/​USB-Serial-Cable-F/​|Olimex USB-Serial-Cable-F]],​ connected to the UART of the board. Follow the instructions below to connect a cable to the board (do it on your own risk, no warranty is provided): 
- 
-  * Connect the BLUE wire if you are using Olimex USB-Serial-Cable-F to pin 6 of Raspberry Pi, 
-  * Connect the RX line of the cable (GREEN wire if you are using Olimex USB-Serial-Cable-F) to pin 8 (TX line) of Raspberry Pi, 
-  * Connect the TX line of the cable (RED wire if you are using Olimex USB-Serial-Cable-F) to pin 10 (RX line) of Raspberry Pi. 
- 
- 
- 
-{{:​agl-distro:​raspberrypi2-modelb-debug-serial-cable.jpg| Olimex USB-Serial-Cable-F attached to Raspberry PI 2 for debugging through the serial console}} 
- 
-  * Plug the USB connector of the cable to your computer and use your favorite tool for serial communication,​ for example on Ubuntu and other Linux distributions you may use screen: 
- 
-<​code>​ 
-sudo screen /​dev/​ttyUSB0 115200 
-</​code>​ 
-Pay attention that the colours of the cable may vary depending on the vendor. If you have USB console cable from Adafruit please have a look [[https://​learn.adafruit.com/​adafruits-raspberry-pi-lesson-5-using-a-console-cable/​connect-the-lead|here]]. 
  
agl-distro/agl-raspberrypi.1487278089.txt.gz · Last modified: 2017/02/16 20:48 by jsmoeller