SlideShare a Scribd company logo
Getting started with AGL using a
Raspberry Pi
Leon Anavi
Konsulko Group
leon.anavi@konsulko.com
AGL All Member Meeting 2020
AGL AMM 2020, Leon Anavi, Getting started with AGL using a Raspberry Pi
Konsulko Group
 Services company specializing in Embedded Linux and Open Source Software
 Hardware/software build, design, development, and training services
 Based in San Jose, CA with an engineering presence worldwide
 http://konsulko.com/
AGL AMM 2020, Leon Anavi, Getting started with AGL using a Raspberry Pi
Agenda
 Brief history of AGL on Raspberry Pi
 Building an AGL image for Raspberry Pi 3 or 4
 Overview of AGL specific features and configurations for Raspberry Pi
 Conclusions
 Q&A
AGL AMM 2020, Leon Anavi, Getting started with AGL using a Raspberry Pi
Raspberry Pi
 Series of small single-board computers developed by the Raspberry Pi Foundation
 All models feature a Broadcom system on a chip (SoC) and ARM CPU
 Designed primary to promote teaching of basic computer science but also very
popular in the maker community for hobby projects and demonstrations
 Supported by AGL since release Brilliant Blowfish
AGL AMM 2020, Leon Anavi, Getting started with AGL using a Raspberry Pi
AGL Raspberry Pi Milestones
 2015 – Mauro Chehab at that time working for Samsung OSG (Open Source
Group) ported Tizen based on Yocto/OpenEmbedded to Raspberry Pi 2
 2016 – GENIVI Dev Platform was ported to Raspberry Pi 2
 2016 – AGL was ported to Raspberry Pi 2
 2016 – Support for Raspberry Pi 3 was added in AGL
 2019 – Support for Raspberry Pi 4 was added in AGL
AGL AMM 2020, Leon Anavi, Getting started with AGL using a Raspberry Pi
AGL Core Technologies
Linux kernel
systemd
Security
AppFW,
Cynagora,
SMACK
SOTA Updates: OSTree & Aktualizr
Wayland
Weston with agl-shell-dekstop
Qt/QML HMI HTML5
PipeWire
GStreamer
AGL AMM 2020, Leon Anavi, Getting started with AGL using a Raspberry Pi
The Yocto Project
 Open source collaborative project of the Linux foundation for creating custom
Linux-based systems for embedded devices using the OpenEmbedded Build
System
 OpenEmbedded Build System includes BitBake and OpenEmbedded Core
 Poky is a reference distribution of the Yocto Project provided as metadata, without
binary files, to bootstrap your own distribution for embedded devices
 Bi-annual release cycle
AGL AMM 2020, Leon Anavi, Getting started with AGL using a Raspberry Pi
Yocto/OpenEmbedded Layers in AGL
 poky
 meta-agl
 meta-agl-cluster-demo
 meta-agl-demo
 meta-agl-devel
 Meta-agl-extra
 meta-agl-telematics-demo
 meta-openembedded
 meta-security
 meta-virtualization
 meta-qt5
 meta-updater
 neta-spdxscanner
 meta-clang
 BSP layers: meta-raspberrypi, meta-intel, meta-ti,
meta-renesas-rcar-gen3, meta-sancloud, etc.
AGL AMM 2020, Leon Anavi, Getting started with AGL using a Raspberry Pi
AGL Releases
 Twice per year release cycle
 Releases are named on fishes
 Latest stable release is Itchy Icefish
 https://wiki.automotivelinux.org/agl-distro/release-notes
 https://wiki.automotivelinux.org/schedule
AGL AMM 2020, Leon Anavi, Getting started with AGL using a Raspberry Pi
Building AGL for Raspberry Pi (1/2)
 Prepare 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
 Download source code:
mkdir agl-rpi
cd agl-rpi
repo init -b master -u https://gerrit.automotivelinux.org/gerrit/AGL/AGL-repo
repo sync
AGL AMM 2020, Leon Anavi, Getting started with AGL using a Raspberry Pi
Building AGL for Raspberry Pi (2/2)
 Set up build environment:
source meta-agl/scripts/aglsetup.sh -m raspberrypi4 agl-demo agl-appfw-smack
 Launch the build process:
bitbake agl-demo-platform
 The build from scratch takes a significant amount of the time depending on your
Internet connection speed and the hardware capabilities of the build machine
AGL AMM 2020, Leon Anavi, Getting started with AGL using a Raspberry Pi
AGL Features and Raspberry Pi Models
 Supported Raspberry Pi models in the AGL master as of the moment:
raspberrypi4
raspberrypi3
 AGL features:
agl-demo
agl-appfw-smack
agl-sota
agl-netboot
source meta-agl/scripts/aglsetup.sh -h
AGL AMM 2020, Leon Anavi, Getting started with AGL using a Raspberry Pi
Flashing the Image on MicroSD Card
 Output Image location in build machine for Raspberry Pi 4:
tmp/deploy/images/raspberrypi4-64/agl-demo-platform-raspberrypi4-64.wic.xz
 Extract the wic.xz and flash it on a microSD card
sudo umount [sdcard device]
xzcat [output image] | sudo dd of=[sdcard device] bs=4M status=progress
sync
 Plug the microSD card in the Raspberry Pi and turn in on (the first boot of AGL
takes a bit longer)
AGL AMM 2020, Leon Anavi, Getting started with AGL using a Raspberry Pi
Common AGL Images
 agl-demo-platform
 agl-image-ivi - base for IVI targets
 Agl-cluster-demo-platform - cluster demo image
 agl-image-boot - just enough to boot
 agl-image-minimal - minimal filesystem with APIs
 agl-image-weston - minimal filesystem with Wayland and Weston
AGL AMM 2020, Leon Anavi, Getting started with AGL using a Raspberry Pi
UART to USB for Serial Output
GND to pin 6
RX to pin 8 (TX)
TX to pin 10 (RX)
AGL AMM 2020, Leon Anavi, Getting started with AGL using a Raspberry Pi
Booting the image
 Serial output from AGL on Raspberry Pi 4:
Automotive Grade Linux 9.90.0+snapshot raspberrypi4-64 ttyS0
raspberrypi4-64 login: root
raspberrypi4-64:~# uname -a
Linux raspberrypi4-64 4.19.115-v8 #1 SMP PREEMPT Tue Mar 10 00:00:00 UTC
2020 aarch64 aarch64 aarch64 GNU/Linux
 Serial baud rate: 115200
AGL AMM 2020, Leon Anavi, Getting started with AGL using a Raspberry Pi
AGL on Raspberry Pi 4 Screenshots
AGL AMM 2020, Leon Anavi, Getting started with AGL using a Raspberry Pi
Weston on AGL
[[0;1;32m*[[0m weston@display.service - Weston Wayland Compositor
Loaded: loaded (/lib/systemd/system/weston@.service; static; vendor preset: disabled)
Drop-In: /lib/systemd/system/weston@.service.d
`-weston-init.conf
Active: [[0;1;32mactive (running)[[0m since Tue 2020-03-10 00:01:47 UTC; 3 months 9 days ago
Main PID: 768 (weston)
Tasks: 1 (limit: 1703)
Memory: 28.8M
CGroup: /system.slice/system-weston.slice/weston@display.service
`-768 /usr/bin/weston --idle-time=0 --tty=7 –log=/run/platform/display/weston.log
Mar 10 00:01:46 raspberrypi4-64 systemd[1]: Starting Weston Wayland Compositor…
Mar 10 00:01:47 raspberrypi4-64 systemd[1]: Started Weston Wayland Compositor.
AGL AMM 2020, Leon Anavi, Getting started with AGL using a Raspberry Pi
Supported Raspberry Pi Peripherals in AGL
 HDMI monitors
 Raspberry Pi official 7” touchscreen display
 WiFi
 Bluetooth
 Various 3rd
party add-on boards and HATs
AGL AMM 2020, Leon Anavi, Getting started with AGL using a Raspberry Pi
Yocto Project Releases
Codename Version Release Date Support Level
Gatesgarth 3.2 Oct 2020 Dreaming
Dunfell 3.1 April 2020 Long Term Stable
Zeus 3.0 October 2019 Stable
Warrior 2.7 April 2019 Stable
Thud 2.6 Nov 2018 Stable
Sumo 2.5 April 2018 Community
Rocko 2.4 Oct 2017 Community
AGL AMM 2020, Leon Anavi, Getting started with AGL using a Raspberry Pi
AGL Repo Manifests
 As of today default.xml is based on Yocto release Dunfell:
<project name="poky" path="external/poky" remote="yocto"
revision="a44b8d2856a937ca3991cbf566788b0cd541d777" upstream="dunfell" />
<project name="meta-gplv2" path="external/meta-gplv2" remote="yocto"
revision="60b251c25ba87e946a0ca4cdc8d17b1cb09292ac" upstream="dunfell" />
<project name="openembedded/meta-openembedded" path="external/meta-openembedded" remote="github"
revision="b1aa5f785094d25765657f1df7db0748680ae7fb" upstream="dunfell" />
 Use other manifest from AGL/AGL-repo for a specific AGL release:
icefish_9.0.0.xml, halibut_8.0.6.xml, guppy_7.0.4.xml, etc.
AGL AMM 2020, Leon Anavi, Getting started with AGL using a Raspberry Pi
meta-raspberrypi
 General Yocto/OpenEmbedded Board Support Package (BSP) layer for the
Raspberry Pi boards
 Depends on layers from meta-openembedded: meta-oe, meta-multimedia, meta-
networking, meta-python
 Provides specific variables as knobs to enable/disable hardware specific features:
ENABLE_I2C, ENABLE_SPI_BUS, RPI_USE_U_BOOT, ENABLE_UART, etc.
 For AGL VC4DTBO must be set to vc4-fkms-v3d to support Wayland, Weston and
the apps on both HDMI and the official Raspberry Pi 7” touch screen display
AGL AMM 2020, Leon Anavi, Getting started with AGL using a Raspberry Pi
meta-raspberrypi
 New features and bug fixes are accepted as GitHub pull requests:
https://github.com/agherzan/meta-raspberrypi
 Maintained by Andrei Gherzan with more than 90 contributors
 Documentation: https://readthedocs.org/projects/meta-raspberrypi/
AGL AMM 2020, Leon Anavi, Getting started with AGL using a Raspberry Pi
meta-raspberrypi in AGL
 Script meta-agl/scripts/aglsetup.sh for Raspberry Pi initializes the build
environment with conf/local.conf and conf/bblayers.conf
 Yocto/OE layer meta-agl/meta-agl-bsp contains sub-layers with AGL hardware
specific configurations
 Configurations from conf/include/agl_raspberrypi4.inc or
conf/include/agl_raspberrypi3.inc are automatically included in conf/local.conf
depending on the targeted Raspberry Pi model
AGL AMM 2020, Leon Anavi, Getting started with AGL using a Raspberry Pi
AGL on Raspberry Pi
 Uses U-Boot as a bootloader
 GPU memory is set to 256MB
 UART is enabled
 Includes kernel modules
 Includes WiFi and Bluetooth firmware
AGL AMM 2020, Leon Anavi, Getting started with AGL using a Raspberry Pi
Firmware KMS
 To support both HDMI monitors and the 7” official Raspberry Pi touchscreen
display, AGL for Raspberry Pi uses firmware KMS instead of full KMS.
 Appropriate Linux kernel version, mesa with VC4 support and binary firmware in
bcm2835-bootfiles is required
 Variable VC4DTBO must be set to vc4-fkms-v3d to set appropriate device tree
overlay in config.txt while building AGL for Raspberry Pi:
VC4DTBO ?= "vc4-fkms-v3d"
 For more details:
https://jira.automotivelinux.org/browse/SPEC-2465
AGL AMM 2020, Leon Anavi, Getting started with AGL using a Raspberry Pi
Software Over the Air (SOTA) Updates
 The agl-sota feature enables support for software over the air (SOTA) updates in
AGL images
 Libostree (OSTree) and Aktualizr provide a "git-like" model for committing,
downloading and automated provisioning of bootable filesystem trees to a fleet of
vehicles
 Yocto/OE layers meta-updater and meta-updater-raspberrypi provide the SOTA
implementation for AGL on Raspberry Pi
 For more details:
https://wiki.automotivelinux.org/subsystem/agl-sota/ostree
https://docs.ota.here.com/getstarted/dev/raspberry-pi.html
AGL AMM 2020, Leon Anavi, Getting started with AGL using a Raspberry Pi
AGL Developer Tools
 Git & Repo
 Gerrit https://gerrit.automotivelinux.org/
 GitHub https://github.com/automotive-grade-linux
 JIRA https://jira.automotivelinux.org/
 Wiki https://wiki.automotivelinux.org/
 Documentation http://docs.automotivelinux.org/
 Jenkins for CI and Lava + Fuego for running test
AGL AMM 2020, Leon Anavi, Getting started with AGL using a Raspberry Pi
AGL JIRA
AGL AMM 2020, Leon Anavi, Getting started with AGL using a Raspberry Pi
Contributing to AGL
 Report an issue or a new feature in JIRA
 Modify the source code
 Include references to the JIRA issue in the Git commit messages
 Contribute to the upstream following the AGL Gerrit workflow
AGL AMM 2020, Leon Anavi, Getting started with AGL using a Raspberry Pi
AGL Gerrit
Gerrit
Reviewer
Repo
Developer
Repo
Pending changes
under review
AGL repo
Push
Pull
Submit
Approve
Fetch
AGL AMM 2020, Leon Anavi, Getting started with AGL using a Raspberry Pi
Merged Change in AGL Gerrit
AGL AMM 2020, Leon Anavi, Getting started with AGL using a Raspberry Pi
AGL Communication Channels
 AGL mailing list
https://lists.automotivelinux.org/g/agl-main
 Weekly Developer Call
(Tuesday 14:00 - 15:00 UTC)
https://wiki.automotivelinux.org/dev-call-info
 IRC
channel #automotive on freenode.net
AGL AMM 2020, Leon Anavi, Getting started with AGL using a Raspberry Pi
Conclusion
 Raspberry Pi is a community supported hardware platform compatible with AGL
that is useful for getting started and proof of concept demonstrations
 It is recommended to use AGL with Raspberry Pi 4 B with 4 or 8GB RAM
 Be part of the Automotive Grade Linux community by contributing bug fixes
and/or new features, testing and/or updating the documentation of the project
AGL AMM 2020, Leon Anavi, Getting started with AGL using a Raspberry Pi
Thank You!
Useful links:
 https://www.automotivelinux.org/
 https://docs.automotivelinux.org/
 https://docs.automotivelinux.org/docs/en/master/
getting_started/reference/getting-started/machines/
raspberrypi.html
 https://wiki.automotivelinux.org/agl-distro/agl-raspberrypi
 Pre-built binary images:
https://wiki.automotivelinux.org/agl-distro?
&#supported_hardware
Ad

Recommended

Grafana 7.0
Grafana 7.0
Juraj Hantak
 
Introduction to Gitlab | Gitlab 101 | Training Session
Introduction to Gitlab | Gitlab 101 | Training Session
Anwarul Islam
 
Building a fully managed stream processing platform on Flink at scale for Lin...
Building a fully managed stream processing platform on Flink at scale for Lin...
Flink Forward
 
Redhat ha cluster with pacemaker
Redhat ha cluster with pacemaker
Indika Dias
 
Free GitOps Workshop + Intro to Kubernetes & GitOps
Free GitOps Workshop + Intro to Kubernetes & GitOps
Weaveworks
 
Flink powered stream processing platform at Pinterest
Flink powered stream processing platform at Pinterest
Flink Forward
 
Git branching strategies
Git branching strategies
jstack
 
Redis + Apache Spark = Swiss Army Knife Meets Kitchen Sink
Redis + Apache Spark = Swiss Army Knife Meets Kitchen Sink
Databricks
 
SAP Integration with MuleSoft | MuleSoft Mysore Meetup #14
SAP Integration with MuleSoft | MuleSoft Mysore Meetup #14
MysoreMuleSoftMeetup
 
Introduction to GitHub Actions
Introduction to GitHub Actions
Bo-Yi Wu
 
Git basics
Git basics
GHARSALLAH Mohamed
 
Introduction To DevOps | Devops Tutorial For Beginners | DevOps Training For ...
Introduction To DevOps | Devops Tutorial For Beginners | DevOps Training For ...
Simplilearn
 
Kafka basics
Kafka basics
João Paulo Leonidas Fernandes Dias da Silva
 
Gitops: the kubernetes way
Gitops: the kubernetes way
sparkfabrik
 
The Power of GitOps with Flux & GitOps Toolkit
The Power of GitOps with Flux & GitOps Toolkit
Weaveworks
 
Serverless integration with Knative and Apache Camel on Kubernetes
Serverless integration with Knative and Apache Camel on Kubernetes
Claus Ibsen
 
ksqlDB: A Stream-Relational Database System
ksqlDB: A Stream-Relational Database System
confluent
 
DevOpsDays Taipei 2019 - Mastering IaC the DevOps Way
DevOpsDays Taipei 2019 - Mastering IaC the DevOps Way
smalltown
 
Securing Infrastructure with OpenScap The Automation Way !!
Securing Infrastructure with OpenScap The Automation Way !!
Jaskaran Narula
 
Grafana.pptx
Grafana.pptx
Bhushan Rane
 
Kafka/SMM Crash Course
Kafka/SMM Crash Course
DataWorks Summit
 
Meshing OpenStack and Bare Metal Networks with EVPN - David Iles, Mellanox Te...
Meshing OpenStack and Bare Metal Networks with EVPN - David Iles, Mellanox Te...
OpenStack
 
DevOps for Databricks
DevOps for Databricks
Databricks
 
Large Scale Lakehouse Implementation Using Structured Streaming
Large Scale Lakehouse Implementation Using Structured Streaming
Databricks
 
CI/CD Overview
CI/CD Overview
An Nguyen
 
Kubernetes architecture
Kubernetes architecture
Janakiram MSV
 
Apache Flink in the Cloud-Native Era
Apache Flink in the Cloud-Native Era
Flink Forward
 
Building Reliable Lakehouses with Apache Flink and Delta Lake
Building Reliable Lakehouses with Apache Flink and Delta Lake
Flink Forward
 
Automotive Grade Linux on Raspberry Pi: How Does It Work?
Automotive Grade Linux on Raspberry Pi: How Does It Work?
Leon Anavi
 
What Makes the Raspberry Pi 5 So Special?
What Makes the Raspberry Pi 5 So Special?
Leon Anavi
 

More Related Content

What's hot (20)

SAP Integration with MuleSoft | MuleSoft Mysore Meetup #14
SAP Integration with MuleSoft | MuleSoft Mysore Meetup #14
MysoreMuleSoftMeetup
 
Introduction to GitHub Actions
Introduction to GitHub Actions
Bo-Yi Wu
 
Git basics
Git basics
GHARSALLAH Mohamed
 
Introduction To DevOps | Devops Tutorial For Beginners | DevOps Training For ...
Introduction To DevOps | Devops Tutorial For Beginners | DevOps Training For ...
Simplilearn
 
Kafka basics
Kafka basics
João Paulo Leonidas Fernandes Dias da Silva
 
Gitops: the kubernetes way
Gitops: the kubernetes way
sparkfabrik
 
The Power of GitOps with Flux & GitOps Toolkit
The Power of GitOps with Flux & GitOps Toolkit
Weaveworks
 
Serverless integration with Knative and Apache Camel on Kubernetes
Serverless integration with Knative and Apache Camel on Kubernetes
Claus Ibsen
 
ksqlDB: A Stream-Relational Database System
ksqlDB: A Stream-Relational Database System
confluent
 
DevOpsDays Taipei 2019 - Mastering IaC the DevOps Way
DevOpsDays Taipei 2019 - Mastering IaC the DevOps Way
smalltown
 
Securing Infrastructure with OpenScap The Automation Way !!
Securing Infrastructure with OpenScap The Automation Way !!
Jaskaran Narula
 
Grafana.pptx
Grafana.pptx
Bhushan Rane
 
Kafka/SMM Crash Course
Kafka/SMM Crash Course
DataWorks Summit
 
Meshing OpenStack and Bare Metal Networks with EVPN - David Iles, Mellanox Te...
Meshing OpenStack and Bare Metal Networks with EVPN - David Iles, Mellanox Te...
OpenStack
 
DevOps for Databricks
DevOps for Databricks
Databricks
 
Large Scale Lakehouse Implementation Using Structured Streaming
Large Scale Lakehouse Implementation Using Structured Streaming
Databricks
 
CI/CD Overview
CI/CD Overview
An Nguyen
 
Kubernetes architecture
Kubernetes architecture
Janakiram MSV
 
Apache Flink in the Cloud-Native Era
Apache Flink in the Cloud-Native Era
Flink Forward
 
Building Reliable Lakehouses with Apache Flink and Delta Lake
Building Reliable Lakehouses with Apache Flink and Delta Lake
Flink Forward
 
SAP Integration with MuleSoft | MuleSoft Mysore Meetup #14
SAP Integration with MuleSoft | MuleSoft Mysore Meetup #14
MysoreMuleSoftMeetup
 
Introduction to GitHub Actions
Introduction to GitHub Actions
Bo-Yi Wu
 
Introduction To DevOps | Devops Tutorial For Beginners | DevOps Training For ...
Introduction To DevOps | Devops Tutorial For Beginners | DevOps Training For ...
Simplilearn
 
Gitops: the kubernetes way
Gitops: the kubernetes way
sparkfabrik
 
The Power of GitOps with Flux & GitOps Toolkit
The Power of GitOps with Flux & GitOps Toolkit
Weaveworks
 
Serverless integration with Knative and Apache Camel on Kubernetes
Serverless integration with Knative and Apache Camel on Kubernetes
Claus Ibsen
 
ksqlDB: A Stream-Relational Database System
ksqlDB: A Stream-Relational Database System
confluent
 
DevOpsDays Taipei 2019 - Mastering IaC the DevOps Way
DevOpsDays Taipei 2019 - Mastering IaC the DevOps Way
smalltown
 
Securing Infrastructure with OpenScap The Automation Way !!
Securing Infrastructure with OpenScap The Automation Way !!
Jaskaran Narula
 
Meshing OpenStack and Bare Metal Networks with EVPN - David Iles, Mellanox Te...
Meshing OpenStack and Bare Metal Networks with EVPN - David Iles, Mellanox Te...
OpenStack
 
DevOps for Databricks
DevOps for Databricks
Databricks
 
Large Scale Lakehouse Implementation Using Structured Streaming
Large Scale Lakehouse Implementation Using Structured Streaming
Databricks
 
CI/CD Overview
CI/CD Overview
An Nguyen
 
Kubernetes architecture
Kubernetes architecture
Janakiram MSV
 
Apache Flink in the Cloud-Native Era
Apache Flink in the Cloud-Native Era
Flink Forward
 
Building Reliable Lakehouses with Apache Flink and Delta Lake
Building Reliable Lakehouses with Apache Flink and Delta Lake
Flink Forward
 

Similar to Getting started with AGL using a Raspberry Pi (20)

Automotive Grade Linux on Raspberry Pi: How Does It Work?
Automotive Grade Linux on Raspberry Pi: How Does It Work?
Leon Anavi
 
What Makes the Raspberry Pi 5 So Special?
What Makes the Raspberry Pi 5 So Special?
Leon Anavi
 
Advanced View of Projects Raspberry Pi List - Raspberry PI Projects.pdf
Advanced View of Projects Raspberry Pi List - Raspberry PI Projects.pdf
WiseNaeem
 
Raspberry pi course syllabus
Raspberry pi course syllabus
Softroniics india
 
PyCon_India_2017_MicroPython_Ayan
PyCon_India_2017_MicroPython_Ayan
Ayan Pahwa
 
Advanced View of Projects Raspberry Pi List - Raspberry PI Projects.pdf
Advanced View of Projects Raspberry Pi List - Raspberry PI Projects.pdf
WiseNaeem
 
Building your own RC Car with Raspberry Pi
Building your own RC Car with Raspberry Pi
Jeff Prestes
 
Java Device I/O at Raspberry PI to Build a Candy Vending Machine
Java Device I/O at Raspberry PI to Build a Candy Vending Machine
Jeff Prestes
 
Raspberry Pi Session - 22_11_2014
Raspberry Pi Session - 22_11_2014
Mandeesh Singh
 
Raspberry Pi Free Session - 20_09_2014
Raspberry Pi Free Session - 20_09_2014
Mandeesh Singh
 
Bringing Tizen to a Raspberry Pi 2 Near You
Bringing Tizen to a Raspberry Pi 2 Near You
Samsung Open Source Group
 
Introduction to the rapid prototyping with python and linux for embedded systems
Introduction to the rapid prototyping with python and linux for embedded systems
Naohiko Shimizu
 
Rapid IoT Prototyping with Tizen on Raspberry Pi
Rapid IoT Prototyping with Tizen on Raspberry Pi
Leon Anavi
 
Raspberry pi
Raspberry pi
Rishabh Sharma
 
Advanced View of Projects Raspberry Pi List - Raspberry PI Projects.pdf
Advanced View of Projects Raspberry Pi List - Raspberry PI Projects.pdf
WiseNaeem
 
Raspberry Pi - Unlocking New Ideas for Your Library
Raspberry Pi - Unlocking New Ideas for Your Library
Brian Pichman
 
[Forward4 Webinar 2016] Building IoT Prototypes w/ Raspberry Pi
[Forward4 Webinar 2016] Building IoT Prototypes w/ Raspberry Pi
Tomomi Imura
 
Internet of things aktu lab file
Internet of things aktu lab file
Nitesh Dubey
 
Getting Started with Embedded Python: MicroPython and CircuitPython
Getting Started with Embedded Python: MicroPython and CircuitPython
Ayan Pahwa
 
Raspberry pi Board Hardware & Software Setup
Raspberry pi Board Hardware & Software Setup
RANAALIMAJEEDRAJPUT
 
Automotive Grade Linux on Raspberry Pi: How Does It Work?
Automotive Grade Linux on Raspberry Pi: How Does It Work?
Leon Anavi
 
What Makes the Raspberry Pi 5 So Special?
What Makes the Raspberry Pi 5 So Special?
Leon Anavi
 
Advanced View of Projects Raspberry Pi List - Raspberry PI Projects.pdf
Advanced View of Projects Raspberry Pi List - Raspberry PI Projects.pdf
WiseNaeem
 
Raspberry pi course syllabus
Raspberry pi course syllabus
Softroniics india
 
PyCon_India_2017_MicroPython_Ayan
PyCon_India_2017_MicroPython_Ayan
Ayan Pahwa
 
Advanced View of Projects Raspberry Pi List - Raspberry PI Projects.pdf
Advanced View of Projects Raspberry Pi List - Raspberry PI Projects.pdf
WiseNaeem
 
Building your own RC Car with Raspberry Pi
Building your own RC Car with Raspberry Pi
Jeff Prestes
 
Java Device I/O at Raspberry PI to Build a Candy Vending Machine
Java Device I/O at Raspberry PI to Build a Candy Vending Machine
Jeff Prestes
 
Raspberry Pi Session - 22_11_2014
Raspberry Pi Session - 22_11_2014
Mandeesh Singh
 
Raspberry Pi Free Session - 20_09_2014
Raspberry Pi Free Session - 20_09_2014
Mandeesh Singh
 
Introduction to the rapid prototyping with python and linux for embedded systems
Introduction to the rapid prototyping with python and linux for embedded systems
Naohiko Shimizu
 
Rapid IoT Prototyping with Tizen on Raspberry Pi
Rapid IoT Prototyping with Tizen on Raspberry Pi
Leon Anavi
 
Advanced View of Projects Raspberry Pi List - Raspberry PI Projects.pdf
Advanced View of Projects Raspberry Pi List - Raspberry PI Projects.pdf
WiseNaeem
 
Raspberry Pi - Unlocking New Ideas for Your Library
Raspberry Pi - Unlocking New Ideas for Your Library
Brian Pichman
 
[Forward4 Webinar 2016] Building IoT Prototypes w/ Raspberry Pi
[Forward4 Webinar 2016] Building IoT Prototypes w/ Raspberry Pi
Tomomi Imura
 
Internet of things aktu lab file
Internet of things aktu lab file
Nitesh Dubey
 
Getting Started with Embedded Python: MicroPython and CircuitPython
Getting Started with Embedded Python: MicroPython and CircuitPython
Ayan Pahwa
 
Raspberry pi Board Hardware & Software Setup
Raspberry pi Board Hardware & Software Setup
RANAALIMAJEEDRAJPUT
 
Ad

More from Leon Anavi (20)

Refactoring meta-rauc-community: Cleaner Code, Better Maintenance, More Machines
Refactoring meta-rauc-community: Cleaner Code, Better Maintenance, More Machines
Leon Anavi
 
Exploring Open Source Dual A/B Update Solutions for Embedded Linux
Exploring Open Source Dual A/B Update Solutions for Embedded Linux
Leon Anavi
 
Side by Side Comparison of Dual A/B Update Solutions with the Yocto Project
Side by Side Comparison of Dual A/B Update Solutions with the Yocto Project
Leon Anavi
 
Screen Sharing on Raspberry Pi 5 Using VNC in Weston and Wayland with the Yoc...
Screen Sharing on Raspberry Pi 5 Using VNC in Weston and Wayland with the Yoc...
Leon Anavi
 
Как да играем компютърни игри с Nintendo Wii Nunchuk чрез Raspberry Pi RP2040...
Как да играем компютърни игри с Nintendo Wii Nunchuk чрез Raspberry Pi RP2040...
Leon Anavi
 
Integrating VNC in Weston with the Yocto Project and OpenEmbedded
Integrating VNC in Weston with the Yocto Project and OpenEmbedded
Leon Anavi
 
Как да убием и последната дискета с Open Source технологии?
Как да убием и последната дискета с Open Source технологии?
Leon Anavi
 
Linux обновления с RAUC и Docker
Linux обновления с RAUC и Docker
Leon Anavi
 
How to Choose a Software Update Mechanism for Embedded Linux Devices
How to Choose a Software Update Mechanism for Embedded Linux Devices
Leon Anavi
 
Open Hardware Makers
Open Hardware Makers
Leon Anavi
 
Open Source Tools for Making Open Source Hardware
Open Source Tools for Making Open Source Hardware
Leon Anavi
 
A/B Linux updates with RAUC and meta-rauc-community: now & in the future
A/B Linux updates with RAUC and meta-rauc-community: now & in the future
Leon Anavi
 
Surfing on an Interactive Kiosk
Surfing on an Interactive Kiosk
Leon Anavi
 
Linux дистрибуции и софтуерни обновления за вградени устройства
Linux дистрибуции и софтуерни обновления за вградени устройства
Leon Anavi
 
Comparison of Open Source Software Home Automation Tools
Comparison of Open Source Software Home Automation Tools
Leon Anavi
 
Практични примери за device tree overlays на Raspberry Pi
Практични примери за device tree overlays на Raspberry Pi
Leon Anavi
 
The Software Developer’s Guide to Open Source Hardware
The Software Developer’s Guide to Open Source Hardware
Leon Anavi
 
Making Open Source Hardware for Retrogaming on Raspberry Pi
Making Open Source Hardware for Retrogaming on Raspberry Pi
Leon Anavi
 
Вграждане на умни гласови асистенти в устройства с Linux
Вграждане на умни гласови асистенти в устройства с Linux
Leon Anavi
 
Comparison of Voice Assistant SDKs for Embedded Linux Devices
Comparison of Voice Assistant SDKs for Embedded Linux Devices
Leon Anavi
 
Refactoring meta-rauc-community: Cleaner Code, Better Maintenance, More Machines
Refactoring meta-rauc-community: Cleaner Code, Better Maintenance, More Machines
Leon Anavi
 
Exploring Open Source Dual A/B Update Solutions for Embedded Linux
Exploring Open Source Dual A/B Update Solutions for Embedded Linux
Leon Anavi
 
Side by Side Comparison of Dual A/B Update Solutions with the Yocto Project
Side by Side Comparison of Dual A/B Update Solutions with the Yocto Project
Leon Anavi
 
Screen Sharing on Raspberry Pi 5 Using VNC in Weston and Wayland with the Yoc...
Screen Sharing on Raspberry Pi 5 Using VNC in Weston and Wayland with the Yoc...
Leon Anavi
 
Как да играем компютърни игри с Nintendo Wii Nunchuk чрез Raspberry Pi RP2040...
Как да играем компютърни игри с Nintendo Wii Nunchuk чрез Raspberry Pi RP2040...
Leon Anavi
 
Integrating VNC in Weston with the Yocto Project and OpenEmbedded
Integrating VNC in Weston with the Yocto Project and OpenEmbedded
Leon Anavi
 
Как да убием и последната дискета с Open Source технологии?
Как да убием и последната дискета с Open Source технологии?
Leon Anavi
 
Linux обновления с RAUC и Docker
Linux обновления с RAUC и Docker
Leon Anavi
 
How to Choose a Software Update Mechanism for Embedded Linux Devices
How to Choose a Software Update Mechanism for Embedded Linux Devices
Leon Anavi
 
Open Hardware Makers
Open Hardware Makers
Leon Anavi
 
Open Source Tools for Making Open Source Hardware
Open Source Tools for Making Open Source Hardware
Leon Anavi
 
A/B Linux updates with RAUC and meta-rauc-community: now & in the future
A/B Linux updates with RAUC and meta-rauc-community: now & in the future
Leon Anavi
 
Surfing on an Interactive Kiosk
Surfing on an Interactive Kiosk
Leon Anavi
 
Linux дистрибуции и софтуерни обновления за вградени устройства
Linux дистрибуции и софтуерни обновления за вградени устройства
Leon Anavi
 
Comparison of Open Source Software Home Automation Tools
Comparison of Open Source Software Home Automation Tools
Leon Anavi
 
Практични примери за device tree overlays на Raspberry Pi
Практични примери за device tree overlays на Raspberry Pi
Leon Anavi
 
The Software Developer’s Guide to Open Source Hardware
The Software Developer’s Guide to Open Source Hardware
Leon Anavi
 
Making Open Source Hardware for Retrogaming on Raspberry Pi
Making Open Source Hardware for Retrogaming on Raspberry Pi
Leon Anavi
 
Вграждане на умни гласови асистенти в устройства с Linux
Вграждане на умни гласови асистенти в устройства с Linux
Leon Anavi
 
Comparison of Voice Assistant SDKs for Embedded Linux Devices
Comparison of Voice Assistant SDKs for Embedded Linux Devices
Leon Anavi
 
Ad

Recently uploaded (20)

Can We Use Rust to Develop Extensions for PostgreSQL? (POSETTE: An Event for ...
Can We Use Rust to Develop Extensions for PostgreSQL? (POSETTE: An Event for ...
NTT DATA Technology & Innovation
 
FME for Distribution & Transmission Integrity Management Program (DIMP & TIMP)
FME for Distribution & Transmission Integrity Management Program (DIMP & TIMP)
Safe Software
 
“Why It’s Critical to Have an Integrated Development Methodology for Edge AI,...
“Why It’s Critical to Have an Integrated Development Methodology for Edge AI,...
Edge AI and Vision Alliance
 
Murdledescargadarkweb.pdfvolumen1 100 elementary
Murdledescargadarkweb.pdfvolumen1 100 elementary
JorgeSemperteguiMont
 
The State of Web3 Industry- Industry Report
The State of Web3 Industry- Industry Report
Liveplex
 
SAP Modernization Strategies for a Successful S/4HANA Journey.pdf
SAP Modernization Strategies for a Successful S/4HANA Journey.pdf
Precisely
 
Artificial Intelligence in the Nonprofit Boardroom.pdf
Artificial Intelligence in the Nonprofit Boardroom.pdf
OnBoard
 
Reducing Conflicts and Increasing Safety Along the Cycling Networks of East-F...
Reducing Conflicts and Increasing Safety Along the Cycling Networks of East-F...
Safe Software
 
Providing an OGC API Processes REST Interface for FME Flow
Providing an OGC API Processes REST Interface for FME Flow
Safe Software
 
Crypto Super 500 - 14th Report - June2025.pdf
Crypto Super 500 - 14th Report - June2025.pdf
Stephen Perrenod
 
National Fuels Treatments Initiative: Building a Seamless Map of Hazardous Fu...
National Fuels Treatments Initiative: Building a Seamless Map of Hazardous Fu...
Safe Software
 
vertical-cnc-processing-centers-drillteq-v-200-en.pdf
vertical-cnc-processing-centers-drillteq-v-200-en.pdf
AmirStern2
 
TrustArc Webinar - 2025 Global Privacy Survey
TrustArc Webinar - 2025 Global Privacy Survey
TrustArc
 
Raman Bhaumik - Passionate Tech Enthusiast
Raman Bhaumik - Passionate Tech Enthusiast
Raman Bhaumik
 
OWASP Barcelona 2025 Threat Model Library
OWASP Barcelona 2025 Threat Model Library
PetraVukmirovic
 
ENERGY CONSUMPTION CALCULATION IN ENERGY-EFFICIENT AIR CONDITIONER.pdf
ENERGY CONSUMPTION CALCULATION IN ENERGY-EFFICIENT AIR CONDITIONER.pdf
Muhammad Rizwan Akram
 
FIDO Seminar: Perspectives on Passkeys & Consumer Adoption.pptx
FIDO Seminar: Perspectives on Passkeys & Consumer Adoption.pptx
FIDO Alliance
 
Down the Rabbit Hole – Solving 5 Training Roadblocks
Down the Rabbit Hole – Solving 5 Training Roadblocks
Rustici Software
 
MuleSoft for AgentForce : Topic Center and API Catalog
MuleSoft for AgentForce : Topic Center and API Catalog
shyamraj55
 
“From Enterprise to Makers: Driving Vision AI Innovation at the Extreme Edge,...
“From Enterprise to Makers: Driving Vision AI Innovation at the Extreme Edge,...
Edge AI and Vision Alliance
 
Can We Use Rust to Develop Extensions for PostgreSQL? (POSETTE: An Event for ...
Can We Use Rust to Develop Extensions for PostgreSQL? (POSETTE: An Event for ...
NTT DATA Technology & Innovation
 
FME for Distribution & Transmission Integrity Management Program (DIMP & TIMP)
FME for Distribution & Transmission Integrity Management Program (DIMP & TIMP)
Safe Software
 
“Why It’s Critical to Have an Integrated Development Methodology for Edge AI,...
“Why It’s Critical to Have an Integrated Development Methodology for Edge AI,...
Edge AI and Vision Alliance
 
Murdledescargadarkweb.pdfvolumen1 100 elementary
Murdledescargadarkweb.pdfvolumen1 100 elementary
JorgeSemperteguiMont
 
The State of Web3 Industry- Industry Report
The State of Web3 Industry- Industry Report
Liveplex
 
SAP Modernization Strategies for a Successful S/4HANA Journey.pdf
SAP Modernization Strategies for a Successful S/4HANA Journey.pdf
Precisely
 
Artificial Intelligence in the Nonprofit Boardroom.pdf
Artificial Intelligence in the Nonprofit Boardroom.pdf
OnBoard
 
Reducing Conflicts and Increasing Safety Along the Cycling Networks of East-F...
Reducing Conflicts and Increasing Safety Along the Cycling Networks of East-F...
Safe Software
 
Providing an OGC API Processes REST Interface for FME Flow
Providing an OGC API Processes REST Interface for FME Flow
Safe Software
 
Crypto Super 500 - 14th Report - June2025.pdf
Crypto Super 500 - 14th Report - June2025.pdf
Stephen Perrenod
 
National Fuels Treatments Initiative: Building a Seamless Map of Hazardous Fu...
National Fuels Treatments Initiative: Building a Seamless Map of Hazardous Fu...
Safe Software
 
vertical-cnc-processing-centers-drillteq-v-200-en.pdf
vertical-cnc-processing-centers-drillteq-v-200-en.pdf
AmirStern2
 
TrustArc Webinar - 2025 Global Privacy Survey
TrustArc Webinar - 2025 Global Privacy Survey
TrustArc
 
Raman Bhaumik - Passionate Tech Enthusiast
Raman Bhaumik - Passionate Tech Enthusiast
Raman Bhaumik
 
OWASP Barcelona 2025 Threat Model Library
OWASP Barcelona 2025 Threat Model Library
PetraVukmirovic
 
ENERGY CONSUMPTION CALCULATION IN ENERGY-EFFICIENT AIR CONDITIONER.pdf
ENERGY CONSUMPTION CALCULATION IN ENERGY-EFFICIENT AIR CONDITIONER.pdf
Muhammad Rizwan Akram
 
FIDO Seminar: Perspectives on Passkeys & Consumer Adoption.pptx
FIDO Seminar: Perspectives on Passkeys & Consumer Adoption.pptx
FIDO Alliance
 
Down the Rabbit Hole – Solving 5 Training Roadblocks
Down the Rabbit Hole – Solving 5 Training Roadblocks
Rustici Software
 
MuleSoft for AgentForce : Topic Center and API Catalog
MuleSoft for AgentForce : Topic Center and API Catalog
shyamraj55
 
“From Enterprise to Makers: Driving Vision AI Innovation at the Extreme Edge,...
“From Enterprise to Makers: Driving Vision AI Innovation at the Extreme Edge,...
Edge AI and Vision Alliance
 

Getting started with AGL using a Raspberry Pi

  • 1. Getting started with AGL using a Raspberry Pi Leon Anavi Konsulko Group [email protected] AGL All Member Meeting 2020
  • 2. AGL AMM 2020, Leon Anavi, Getting started with AGL using a Raspberry Pi Konsulko Group  Services company specializing in Embedded Linux and Open Source Software  Hardware/software build, design, development, and training services  Based in San Jose, CA with an engineering presence worldwide  http://konsulko.com/
  • 3. AGL AMM 2020, Leon Anavi, Getting started with AGL using a Raspberry Pi Agenda  Brief history of AGL on Raspberry Pi  Building an AGL image for Raspberry Pi 3 or 4  Overview of AGL specific features and configurations for Raspberry Pi  Conclusions  Q&A
  • 4. AGL AMM 2020, Leon Anavi, Getting started with AGL using a Raspberry Pi Raspberry Pi  Series of small single-board computers developed by the Raspberry Pi Foundation  All models feature a Broadcom system on a chip (SoC) and ARM CPU  Designed primary to promote teaching of basic computer science but also very popular in the maker community for hobby projects and demonstrations  Supported by AGL since release Brilliant Blowfish
  • 5. AGL AMM 2020, Leon Anavi, Getting started with AGL using a Raspberry Pi AGL Raspberry Pi Milestones  2015 – Mauro Chehab at that time working for Samsung OSG (Open Source Group) ported Tizen based on Yocto/OpenEmbedded to Raspberry Pi 2  2016 – GENIVI Dev Platform was ported to Raspberry Pi 2  2016 – AGL was ported to Raspberry Pi 2  2016 – Support for Raspberry Pi 3 was added in AGL  2019 – Support for Raspberry Pi 4 was added in AGL
  • 6. AGL AMM 2020, Leon Anavi, Getting started with AGL using a Raspberry Pi AGL Core Technologies Linux kernel systemd Security AppFW, Cynagora, SMACK SOTA Updates: OSTree & Aktualizr Wayland Weston with agl-shell-dekstop Qt/QML HMI HTML5 PipeWire GStreamer
  • 7. AGL AMM 2020, Leon Anavi, Getting started with AGL using a Raspberry Pi The Yocto Project  Open source collaborative project of the Linux foundation for creating custom Linux-based systems for embedded devices using the OpenEmbedded Build System  OpenEmbedded Build System includes BitBake and OpenEmbedded Core  Poky is a reference distribution of the Yocto Project provided as metadata, without binary files, to bootstrap your own distribution for embedded devices  Bi-annual release cycle
  • 8. AGL AMM 2020, Leon Anavi, Getting started with AGL using a Raspberry Pi Yocto/OpenEmbedded Layers in AGL  poky  meta-agl  meta-agl-cluster-demo  meta-agl-demo  meta-agl-devel  Meta-agl-extra  meta-agl-telematics-demo  meta-openembedded  meta-security  meta-virtualization  meta-qt5  meta-updater  neta-spdxscanner  meta-clang  BSP layers: meta-raspberrypi, meta-intel, meta-ti, meta-renesas-rcar-gen3, meta-sancloud, etc.
  • 9. AGL AMM 2020, Leon Anavi, Getting started with AGL using a Raspberry Pi AGL Releases  Twice per year release cycle  Releases are named on fishes  Latest stable release is Itchy Icefish  https://wiki.automotivelinux.org/agl-distro/release-notes  https://wiki.automotivelinux.org/schedule
  • 10. AGL AMM 2020, Leon Anavi, Getting started with AGL using a Raspberry Pi Building AGL for Raspberry Pi (1/2)  Prepare 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  Download source code: mkdir agl-rpi cd agl-rpi repo init -b master -u https://gerrit.automotivelinux.org/gerrit/AGL/AGL-repo repo sync
  • 11. AGL AMM 2020, Leon Anavi, Getting started with AGL using a Raspberry Pi Building AGL for Raspberry Pi (2/2)  Set up build environment: source meta-agl/scripts/aglsetup.sh -m raspberrypi4 agl-demo agl-appfw-smack  Launch the build process: bitbake agl-demo-platform  The build from scratch takes a significant amount of the time depending on your Internet connection speed and the hardware capabilities of the build machine
  • 12. AGL AMM 2020, Leon Anavi, Getting started with AGL using a Raspberry Pi AGL Features and Raspberry Pi Models  Supported Raspberry Pi models in the AGL master as of the moment: raspberrypi4 raspberrypi3  AGL features: agl-demo agl-appfw-smack agl-sota agl-netboot source meta-agl/scripts/aglsetup.sh -h
  • 13. AGL AMM 2020, Leon Anavi, Getting started with AGL using a Raspberry Pi Flashing the Image on MicroSD Card  Output Image location in build machine for Raspberry Pi 4: tmp/deploy/images/raspberrypi4-64/agl-demo-platform-raspberrypi4-64.wic.xz  Extract the wic.xz and flash it on a microSD card sudo umount [sdcard device] xzcat [output image] | sudo dd of=[sdcard device] bs=4M status=progress sync  Plug the microSD card in the Raspberry Pi and turn in on (the first boot of AGL takes a bit longer)
  • 14. AGL AMM 2020, Leon Anavi, Getting started with AGL using a Raspberry Pi Common AGL Images  agl-demo-platform  agl-image-ivi - base for IVI targets  Agl-cluster-demo-platform - cluster demo image  agl-image-boot - just enough to boot  agl-image-minimal - minimal filesystem with APIs  agl-image-weston - minimal filesystem with Wayland and Weston
  • 15. AGL AMM 2020, Leon Anavi, Getting started with AGL using a Raspberry Pi UART to USB for Serial Output GND to pin 6 RX to pin 8 (TX) TX to pin 10 (RX)
  • 16. AGL AMM 2020, Leon Anavi, Getting started with AGL using a Raspberry Pi Booting the image  Serial output from AGL on Raspberry Pi 4: Automotive Grade Linux 9.90.0+snapshot raspberrypi4-64 ttyS0 raspberrypi4-64 login: root raspberrypi4-64:~# uname -a Linux raspberrypi4-64 4.19.115-v8 #1 SMP PREEMPT Tue Mar 10 00:00:00 UTC 2020 aarch64 aarch64 aarch64 GNU/Linux  Serial baud rate: 115200
  • 17. AGL AMM 2020, Leon Anavi, Getting started with AGL using a Raspberry Pi AGL on Raspberry Pi 4 Screenshots
  • 18. AGL AMM 2020, Leon Anavi, Getting started with AGL using a Raspberry Pi Weston on AGL [[0;1;32m*[[0m [email protected] - Weston Wayland Compositor Loaded: loaded (/lib/systemd/system/[email protected]; static; vendor preset: disabled) Drop-In: /lib/systemd/system/[email protected] `-weston-init.conf Active: [[0;1;32mactive (running)[[0m since Tue 2020-03-10 00:01:47 UTC; 3 months 9 days ago Main PID: 768 (weston) Tasks: 1 (limit: 1703) Memory: 28.8M CGroup: /system.slice/system-weston.slice/[email protected] `-768 /usr/bin/weston --idle-time=0 --tty=7 –log=/run/platform/display/weston.log Mar 10 00:01:46 raspberrypi4-64 systemd[1]: Starting Weston Wayland Compositor… Mar 10 00:01:47 raspberrypi4-64 systemd[1]: Started Weston Wayland Compositor.
  • 19. AGL AMM 2020, Leon Anavi, Getting started with AGL using a Raspberry Pi Supported Raspberry Pi Peripherals in AGL  HDMI monitors  Raspberry Pi official 7” touchscreen display  WiFi  Bluetooth  Various 3rd party add-on boards and HATs
  • 20. AGL AMM 2020, Leon Anavi, Getting started with AGL using a Raspberry Pi Yocto Project Releases Codename Version Release Date Support Level Gatesgarth 3.2 Oct 2020 Dreaming Dunfell 3.1 April 2020 Long Term Stable Zeus 3.0 October 2019 Stable Warrior 2.7 April 2019 Stable Thud 2.6 Nov 2018 Stable Sumo 2.5 April 2018 Community Rocko 2.4 Oct 2017 Community
  • 21. AGL AMM 2020, Leon Anavi, Getting started with AGL using a Raspberry Pi AGL Repo Manifests  As of today default.xml is based on Yocto release Dunfell: <project name="poky" path="external/poky" remote="yocto" revision="a44b8d2856a937ca3991cbf566788b0cd541d777" upstream="dunfell" /> <project name="meta-gplv2" path="external/meta-gplv2" remote="yocto" revision="60b251c25ba87e946a0ca4cdc8d17b1cb09292ac" upstream="dunfell" /> <project name="openembedded/meta-openembedded" path="external/meta-openembedded" remote="github" revision="b1aa5f785094d25765657f1df7db0748680ae7fb" upstream="dunfell" />  Use other manifest from AGL/AGL-repo for a specific AGL release: icefish_9.0.0.xml, halibut_8.0.6.xml, guppy_7.0.4.xml, etc.
  • 22. AGL AMM 2020, Leon Anavi, Getting started with AGL using a Raspberry Pi meta-raspberrypi  General Yocto/OpenEmbedded Board Support Package (BSP) layer for the Raspberry Pi boards  Depends on layers from meta-openembedded: meta-oe, meta-multimedia, meta- networking, meta-python  Provides specific variables as knobs to enable/disable hardware specific features: ENABLE_I2C, ENABLE_SPI_BUS, RPI_USE_U_BOOT, ENABLE_UART, etc.  For AGL VC4DTBO must be set to vc4-fkms-v3d to support Wayland, Weston and the apps on both HDMI and the official Raspberry Pi 7” touch screen display
  • 23. AGL AMM 2020, Leon Anavi, Getting started with AGL using a Raspberry Pi meta-raspberrypi  New features and bug fixes are accepted as GitHub pull requests: https://github.com/agherzan/meta-raspberrypi  Maintained by Andrei Gherzan with more than 90 contributors  Documentation: https://readthedocs.org/projects/meta-raspberrypi/
  • 24. AGL AMM 2020, Leon Anavi, Getting started with AGL using a Raspberry Pi meta-raspberrypi in AGL  Script meta-agl/scripts/aglsetup.sh for Raspberry Pi initializes the build environment with conf/local.conf and conf/bblayers.conf  Yocto/OE layer meta-agl/meta-agl-bsp contains sub-layers with AGL hardware specific configurations  Configurations from conf/include/agl_raspberrypi4.inc or conf/include/agl_raspberrypi3.inc are automatically included in conf/local.conf depending on the targeted Raspberry Pi model
  • 25. AGL AMM 2020, Leon Anavi, Getting started with AGL using a Raspberry Pi AGL on Raspberry Pi  Uses U-Boot as a bootloader  GPU memory is set to 256MB  UART is enabled  Includes kernel modules  Includes WiFi and Bluetooth firmware
  • 26. AGL AMM 2020, Leon Anavi, Getting started with AGL using a Raspberry Pi Firmware KMS  To support both HDMI monitors and the 7” official Raspberry Pi touchscreen display, AGL for Raspberry Pi uses firmware KMS instead of full KMS.  Appropriate Linux kernel version, mesa with VC4 support and binary firmware in bcm2835-bootfiles is required  Variable VC4DTBO must be set to vc4-fkms-v3d to set appropriate device tree overlay in config.txt while building AGL for Raspberry Pi: VC4DTBO ?= "vc4-fkms-v3d"  For more details: https://jira.automotivelinux.org/browse/SPEC-2465
  • 27. AGL AMM 2020, Leon Anavi, Getting started with AGL using a Raspberry Pi Software Over the Air (SOTA) Updates  The agl-sota feature enables support for software over the air (SOTA) updates in AGL images  Libostree (OSTree) and Aktualizr provide a "git-like" model for committing, downloading and automated provisioning of bootable filesystem trees to a fleet of vehicles  Yocto/OE layers meta-updater and meta-updater-raspberrypi provide the SOTA implementation for AGL on Raspberry Pi  For more details: https://wiki.automotivelinux.org/subsystem/agl-sota/ostree https://docs.ota.here.com/getstarted/dev/raspberry-pi.html
  • 28. AGL AMM 2020, Leon Anavi, Getting started with AGL using a Raspberry Pi AGL Developer Tools  Git & Repo  Gerrit https://gerrit.automotivelinux.org/  GitHub https://github.com/automotive-grade-linux  JIRA https://jira.automotivelinux.org/  Wiki https://wiki.automotivelinux.org/  Documentation http://docs.automotivelinux.org/  Jenkins for CI and Lava + Fuego for running test
  • 29. AGL AMM 2020, Leon Anavi, Getting started with AGL using a Raspberry Pi AGL JIRA
  • 30. AGL AMM 2020, Leon Anavi, Getting started with AGL using a Raspberry Pi Contributing to AGL  Report an issue or a new feature in JIRA  Modify the source code  Include references to the JIRA issue in the Git commit messages  Contribute to the upstream following the AGL Gerrit workflow
  • 31. AGL AMM 2020, Leon Anavi, Getting started with AGL using a Raspberry Pi AGL Gerrit Gerrit Reviewer Repo Developer Repo Pending changes under review AGL repo Push Pull Submit Approve Fetch
  • 32. AGL AMM 2020, Leon Anavi, Getting started with AGL using a Raspberry Pi Merged Change in AGL Gerrit
  • 33. AGL AMM 2020, Leon Anavi, Getting started with AGL using a Raspberry Pi AGL Communication Channels  AGL mailing list https://lists.automotivelinux.org/g/agl-main  Weekly Developer Call (Tuesday 14:00 - 15:00 UTC) https://wiki.automotivelinux.org/dev-call-info  IRC channel #automotive on freenode.net
  • 34. AGL AMM 2020, Leon Anavi, Getting started with AGL using a Raspberry Pi Conclusion  Raspberry Pi is a community supported hardware platform compatible with AGL that is useful for getting started and proof of concept demonstrations  It is recommended to use AGL with Raspberry Pi 4 B with 4 or 8GB RAM  Be part of the Automotive Grade Linux community by contributing bug fixes and/or new features, testing and/or updating the documentation of the project
  • 35. AGL AMM 2020, Leon Anavi, Getting started with AGL using a Raspberry Pi Thank You! Useful links:  https://www.automotivelinux.org/  https://docs.automotivelinux.org/  https://docs.automotivelinux.org/docs/en/master/ getting_started/reference/getting-started/machines/ raspberrypi.html  https://wiki.automotivelinux.org/agl-distro/agl-raspberrypi  Pre-built binary images: https://wiki.automotivelinux.org/agl-distro? &#supported_hardware