SlideShare ist ein Scribd-Unternehmen logo
1 von 32
1
Open source Android 10 on Orange Pi: Meth
or Reality?
Stanislav Goncharov
Roman Stratiienko
Maksym Prymierov
2
1. Overview available environment
2. Android OS
3. Requirements
4. Configuration customization
5. PoC timeline
6. Worktree structure
7. Main components structure
8. Results
9. Supported platforms
10.Demo
Agenda
3
Single-board computers (SBC)
4
Boards SoC GPU Price Available
RASPBERRY PI 4
MODEL B
Broadcom BCM2711
Cortex-A72 Quad core
VideoCore VI $52.97 Android 7.1.2
BANANA PI M2 ULTR
Allwinner R40 ARM
Cortex A7 Quad core
Mali-400MP2 $56.99 Android 7.1.2
ODROID-C2
Amlogic S905 Cortex-
A53 Quad core
Mali-450 $85.40 Android 8.1
NANOPI K2
Amlogic S905 Cortex-
A53 Quad core
Mali-450MP $53 Android 8.1
PINE A64+
ARM Cortex A53 Quad-
Core
Mali-400MP2 $29 Android 7.0
Orange Pi 3
Allwinner H6 Cortex-
A53 Quad core
Mali-720 $34.90 Android 7.0
HiKey 960 Kirin 960 ARM Mali G71 MP8 $239.00 Android 9.0
SanCloud BeagleBone
Enhanced
AM3358 SGX530 $69.00 Custom Android for BBB
HW Comparison Table, 2Gb DDR3
5
Most Popular Mobile OS 2019
6
Android Structure
https://source.android.com/setup
7
Project requirements
1. Use the last actual version of Android
2. Take cheap Single Board Computer
3. Use Open Source Projects only
4. Have an Open Source Solution
5. Have a solution from the box
6. Have fun
8
Project requirements
1. Use the last actual version of Android
2. Take cheap Single Board Computer
3. Use Open Source Projects only
4. Have an Open Source Solution
5. Have a solution from the box
6. Have fun
9
Android Structure
https://source.android.com/setup
10
Theory of Configuration customization
1. Create Build Layers
2. Build variants
3. Build customization over Resource Overlays
4. Write the Makefiles
- Makefile that declares the files and modules needed for the device (device.mk)
- Product definition makefile (a specific product based on the device) (vendor.mk)
- File that points to the product's makefiles (AndroidProducts.mk)
- Makefile that contains board-specific configurations (BoardConfig.mk)
- File to add your product (a "lunch combo") to the build along with a build variant separated by a
dash (vendorsetup.sh)
- Set Product Definition Variables
- Set ANDROID_VENDOR_KEYS to connect over USB
https://source.android.com/setup/develop/new-device
11
Project requirements
1. Use the last actual version of Android
2. Take cheap Single Board Computer
3. Use Open Source Projects only
4. Have an Open Source Solution
5. Have a solution from the box
6. Have fun
12
Orange Pi Plus2e
(Shenzhen Xunlong Software)
http://www.orangepi.org/orangepiplus2e/
13
Project requirements
1. Use the last actual version of Android
2. Take cheap Single Board Computer
3. Use Open Source Projects only
4. Have an Open Source Solution
5. Have a solution from the box
6. Have fun
14
Project requirements
1. Use the last actual version of Android
2. Take cheap Single Board Computer
3. Use Open Source Projects only
4. Have an Open Source Solution
5. Have a solution from the box
6. Have fun
15
Repo
(a Google-built repository management tool that runs on top of Git)
repo init -u $URL -b $BRANCH -m $MANIFEST
--------------------
mkdir .repo; cd .repo
git clone https://android.googlesource.com/tools/repo
git clone --bare $URL manifests.git
mkdir -p manifests/.git; cd manifests/.git
for i in ../../manifests.git/*; do ln -s $ı .; done
cd ..
git checkout $BRANCH -- .
cd ..
ln -s manifests/$MANIFEST manifest.xml
https://android.googlesource.com/tools/repo/+/maint/docs/manifest-format.txt
16
Project requirements
1. Use the last actual version of Android
2. Take cheap Single Board Computer
3. Use Open Source Projects only
4. Have an Open Source Solution
5. Have a solution from the box
6. Have fun
17
Confidential
17
GloDroid Porting Details
18
Guided by:
1. Trustworthiness
- Upstream as much our work as possible into mainline repositories with high acceptance criteria.
- Use repository forks only if necessary.
- Keep own code clean and easy for review.
- Avoid usage of proprietary binaries.
1. High performance (in progress)
- Continuously bring-up and improve hardware acceleration.
- Optimization in graphics path, profiling, caching.
1. Reliability (in plans after first release)
- Continue to fix existing and new bugs.
- Setup CI server to track regression and report to developer before applying new changes.
- Use and extend VTS and CTS.
- Manual testing (We hope to get your help here).
1. Free and open source
- Get as much as possible feedback from the community.
- Split development across the community.
- Keep project alive during long period of time.
19
Worktree structure
Path Description GL Patches
device/glodroid Product makefiles All
prebuilts/applications Non-AOSP applications (f-droid, kodi) All
external/drm_hwcomposer Opensource HWComposer HAL based on DRM/KMS 2
external/mesa3d Opensource OpenGL & Vulkan implementation for variety of graphic cards 1
kernel/glodroid Mainline kernel (v5.4-rc7) + Google Patchset 8
external/tinyhal Opensource audio HAL from Cirrus Logic -
external/gbm_gralloc Opensource gralloc HAL that is using mesa GBM interface. -
external/u-boot Mainline u-boot v2019.10 -
kernel/glodroid-modules/rtl8189ES_linux Out of tree wifi kernel module -
prebuilts/gcc/linux-x86/arm/gcc-linaro_arm-linux-gnueabihf Prebuilt gcc from linaro (used to compile kernel and u-boot) -
Other 740+ repositories Google AOSP v10.0.0-r14 -
GloDroid
repos
Modified
Forks
Opensource
repositories
20
GPU and VPU drivers timeline.
21
Guided by:
1. Trustworthiness
- Upstream as much our work as possible into mainline repositories with high acceptance criteria.
- Use repository forks only if necessary.
- Keep own code clean and easy for review.
- Avoid usage of proprietary binaries.
1. High performance (in progress)
- Continuously bring-up and improve hardware acceleration.
- Optimization in graphics path, profiling, caching.
1. Reliability (in plans after first release)
- Continue to fix existing and new bugs.
- Setup CI server to track regression and report to developer before applying new changes.
- Use and extend VTS and CTS.
- Manual testing (We hope to get your help here).
1. Free and open source
- Get as much as possible feedback from the community.
- Split development across the community.
- Keep project alive during long period of time.
22
Main components structure
23
Step 1. Composer-
>ValidateDisplay()
Step 2: Composer-
>PresentDisplay()
HWComposer stages
Thanks to Linaro! Link to slides: https://s3.amazonaws.com/connect.linaro.org/yvr18/presentations/yvr18-204.pdf
SurfaceFlinger
24
Guided by:
1. Trustworthiness
- Upstream as much our work as possible into mainline repositories with high acceptance criteria.
- Use repository forks only if necessary.
- Keep own code clean and easy for review.
- Avoid usage of proprietary binaries.
1. High performance (in progress)
- Continuously bring-up and improve hardware acceleration.
- Optimization in graphics path, profiling, caching.
1. Reliability (in plans after first release)
- Continue to fix existing and new bugs.
- Setup CI server to track regression and report to developer before applying new changes.
- Use and extend VTS and CTS.
- Manual testing (We hope to get your help here).
1. Free and open source
- Get as much as possible feedback from community.
- Split development across the the community.
- Keep project alive during long period of time.
25
Community mainlining effort
For more info visit the following links:
Raspberry PI 4 support: https://github.com/lategoodbye/rpi-zero/issues/43
Sunxi support: https://linux-sunxi.org/Linux_mainlining_effort
H3 SOC (OPI PC) H6 SOC (OPI 3) BCM2711 (RPI 4)
Device Support Kernel v3.18 Kernel v4.17 Kernel v5.5
GPU Driver Kernel v5.2 Kernel v5.5 Kernel v4.18
VPU Driver (h264) Kernel v5.3 Kernel v5.3 Optimized CPU,
GPU + NEON?
VPU Driver (h265) Kernel v5.5 Kernel v5.5 Optimized CPU,
GPU + NEON?
26
Effort distribution
Changed by GL:
+1350 lines in makefiles
+300 lines in C/C++ code
27
Confidential
27
GloDroid Summary
28
Current project status
1. Android 10.0.0 Release 14
2. Linux Kernel version 5.3
3. U-Boot v2019.10
4. Mesa (upstream)
5. HW Composer (upstream)
6. Tinyhal (upstream)
7. Built by Linaro GCC for ARM v.7.4.1
29
Building Android
mkdir -p GloDroid
cd GloDroid
repo init -u https://github.com/glodroid/glodroid_manifest
repo sync -cq
source ./build/envsetup.sh
lunch opi_plus2e-userdebug
make sdcard
$ dd if=out/target/product/plus2e/sdcard.img of=/dev/sdX bs=4k
$ sync
30
Supported platforms
Orange PI PC
SOC: Allwinner H3
CPU: ARMv7
RAM: 1GB
Retail price: 15$
Orange PI plus2e
SOC: Allwinner H3
CPU: ARMv7
RAM: 2GB
Retail price: 46$
Orange PI 3
SOC: Allwinner H6
CPU: ARMv8 64bit
RAM: 2GB
Retail price: 40$
Raspberry PI 4
SOC: Broadcom BCM2711
CPU: Cortex-A72 Quad
core
RAM: 1,2,4GB
Retail price: 54$ (2GB)
In plans
31
Q & A? - Follow us on GitHub :)
https://github.com/glodroid/glodroid_manifest
32
Thank You

Weitere ähnliche Inhalte

Was ist angesagt?

Porting a new architecture (NDS32) to open wrt project
Porting a new architecture (NDS32) to open wrt projectPorting a new architecture (NDS32) to open wrt project
Porting a new architecture (NDS32) to open wrt projectMacpaul Lin
 
Android porting for dummies @droidconin 2011
Android porting for dummies @droidconin 2011Android porting for dummies @droidconin 2011
Android porting for dummies @droidconin 2011pundiramit
 
BKK16-212: What's broken on ARM64?
BKK16-212: What's broken on ARM64?BKK16-212: What's broken on ARM64?
BKK16-212: What's broken on ARM64?Linaro
 
What should you know about Net Core?
What should you know about Net Core?What should you know about Net Core?
What should you know about Net Core?Damir Dobric
 
Run Qt on Linux embedded systems using Yocto
Run Qt on Linux embedded systems using YoctoRun Qt on Linux embedded systems using Yocto
Run Qt on Linux embedded systems using YoctoMarco Cavallini
 
Embedded Recipes 2019 - Pipewire a new foundation for embedded multimedia
Embedded Recipes 2019 - Pipewire a new foundation for embedded multimediaEmbedded Recipes 2019 - Pipewire a new foundation for embedded multimedia
Embedded Recipes 2019 - Pipewire a new foundation for embedded multimediaAnne Nicolas
 
Kernel Recipes 2019 - Driving the industry toward upstream first
Kernel Recipes 2019 - Driving the industry toward upstream firstKernel Recipes 2019 - Driving the industry toward upstream first
Kernel Recipes 2019 - Driving the industry toward upstream firstAnne Nicolas
 
Creating new Tizen profiles using the Yocto Project
Creating new Tizen profiles  using the Yocto ProjectCreating new Tizen profiles  using the Yocto Project
Creating new Tizen profiles using the Yocto ProjectLeon Anavi
 
Android beyond the smartphone
Android beyond the smartphoneAndroid beyond the smartphone
Android beyond the smartphoneChris Simmonds
 
Q4.11: Porting Android to new Platforms
Q4.11: Porting Android to new PlatformsQ4.11: Porting Android to new Platforms
Q4.11: Porting Android to new PlatformsLinaro
 
Quickboot on i.MX6
Quickboot on i.MX6Quickboot on i.MX6
Quickboot on i.MX6Gary Bisson
 
Red hat enterprise_linux-5.5-release_notes-en-us
Red hat enterprise_linux-5.5-release_notes-en-usRed hat enterprise_linux-5.5-release_notes-en-us
Red hat enterprise_linux-5.5-release_notes-en-usDuong Hieu
 
The end of embedded Linux (as we know it)
The end of embedded Linux (as we know it)The end of embedded Linux (as we know it)
The end of embedded Linux (as we know it)Chris Simmonds
 
Software update for IoT Embedded World 2017
Software update for IoT Embedded World 2017Software update for IoT Embedded World 2017
Software update for IoT Embedded World 2017Chris Simmonds
 
IPMI is dead, Long live Redfish
IPMI is dead, Long live RedfishIPMI is dead, Long live Redfish
IPMI is dead, Long live RedfishBruno Cornec
 
Autobuilder2 Yocto Project Summit Lyon 2019
Autobuilder2 Yocto Project Summit Lyon 2019Autobuilder2 Yocto Project Summit Lyon 2019
Autobuilder2 Yocto Project Summit Lyon 2019Marco Cavallini
 
Marco Cavallini @ LinuxLab 2018 : Workshop Yocto Project, an automatic genera...
Marco Cavallini @ LinuxLab 2018 : Workshop Yocto Project, an automatic genera...Marco Cavallini @ LinuxLab 2018 : Workshop Yocto Project, an automatic genera...
Marco Cavallini @ LinuxLab 2018 : Workshop Yocto Project, an automatic genera...Marco Cavallini
 
What is the merge window?
What is the merge window?What is the merge window?
What is the merge window?Macpaul Lin
 

Was ist angesagt? (20)

Porting a new architecture (NDS32) to open wrt project
Porting a new architecture (NDS32) to open wrt projectPorting a new architecture (NDS32) to open wrt project
Porting a new architecture (NDS32) to open wrt project
 
Android porting for dummies @droidconin 2011
Android porting for dummies @droidconin 2011Android porting for dummies @droidconin 2011
Android porting for dummies @droidconin 2011
 
BKK16-212: What's broken on ARM64?
BKK16-212: What's broken on ARM64?BKK16-212: What's broken on ARM64?
BKK16-212: What's broken on ARM64?
 
What should you know about Net Core?
What should you know about Net Core?What should you know about Net Core?
What should you know about Net Core?
 
Run Qt on Linux embedded systems using Yocto
Run Qt on Linux embedded systems using YoctoRun Qt on Linux embedded systems using Yocto
Run Qt on Linux embedded systems using Yocto
 
Embedded Recipes 2019 - Pipewire a new foundation for embedded multimedia
Embedded Recipes 2019 - Pipewire a new foundation for embedded multimediaEmbedded Recipes 2019 - Pipewire a new foundation for embedded multimedia
Embedded Recipes 2019 - Pipewire a new foundation for embedded multimedia
 
Kernel Recipes 2019 - Driving the industry toward upstream first
Kernel Recipes 2019 - Driving the industry toward upstream firstKernel Recipes 2019 - Driving the industry toward upstream first
Kernel Recipes 2019 - Driving the industry toward upstream first
 
Creating new Tizen profiles using the Yocto Project
Creating new Tizen profiles  using the Yocto ProjectCreating new Tizen profiles  using the Yocto Project
Creating new Tizen profiles using the Yocto Project
 
How To Build Android for ARM Chip boards
How To Build Android for ARM Chip boardsHow To Build Android for ARM Chip boards
How To Build Android for ARM Chip boards
 
Path to Surfdroid
Path to SurfdroidPath to Surfdroid
Path to Surfdroid
 
Android beyond the smartphone
Android beyond the smartphoneAndroid beyond the smartphone
Android beyond the smartphone
 
Q4.11: Porting Android to new Platforms
Q4.11: Porting Android to new PlatformsQ4.11: Porting Android to new Platforms
Q4.11: Porting Android to new Platforms
 
Quickboot on i.MX6
Quickboot on i.MX6Quickboot on i.MX6
Quickboot on i.MX6
 
Red hat enterprise_linux-5.5-release_notes-en-us
Red hat enterprise_linux-5.5-release_notes-en-usRed hat enterprise_linux-5.5-release_notes-en-us
Red hat enterprise_linux-5.5-release_notes-en-us
 
The end of embedded Linux (as we know it)
The end of embedded Linux (as we know it)The end of embedded Linux (as we know it)
The end of embedded Linux (as we know it)
 
Software update for IoT Embedded World 2017
Software update for IoT Embedded World 2017Software update for IoT Embedded World 2017
Software update for IoT Embedded World 2017
 
IPMI is dead, Long live Redfish
IPMI is dead, Long live RedfishIPMI is dead, Long live Redfish
IPMI is dead, Long live Redfish
 
Autobuilder2 Yocto Project Summit Lyon 2019
Autobuilder2 Yocto Project Summit Lyon 2019Autobuilder2 Yocto Project Summit Lyon 2019
Autobuilder2 Yocto Project Summit Lyon 2019
 
Marco Cavallini @ LinuxLab 2018 : Workshop Yocto Project, an automatic genera...
Marco Cavallini @ LinuxLab 2018 : Workshop Yocto Project, an automatic genera...Marco Cavallini @ LinuxLab 2018 : Workshop Yocto Project, an automatic genera...
Marco Cavallini @ LinuxLab 2018 : Workshop Yocto Project, an automatic genera...
 
What is the merge window?
What is the merge window?What is the merge window?
What is the merge window?
 

Ähnlich wie Open source Android 10 on Orange Pi: Meth or Reality?

Open-source Android 10 on Orange Pi: myth or reality?
Open-source Android 10 on Orange Pi: myth or reality?Open-source Android 10 on Orange Pi: myth or reality?
Open-source Android 10 on Orange Pi: myth or reality?GlobalLogic Ukraine
 
Droidcon 2013 France - Android Platform Anatomy
Droidcon 2013 France - Android Platform AnatomyDroidcon 2013 France - Android Platform Anatomy
Droidcon 2013 France - Android Platform AnatomyBenjamin Zores
 
Embedded Webinar #12 “GloDroid or Boosting True Open Source Android Stack Dev...
Embedded Webinar #12 “GloDroid or Boosting True Open Source Android Stack Dev...Embedded Webinar #12 “GloDroid or Boosting True Open Source Android Stack Dev...
Embedded Webinar #12 “GloDroid or Boosting True Open Source Android Stack Dev...GlobalLogic Ukraine
 
"Building Complete Embedded Vision Systems on Linux—From Camera to Display," ...
"Building Complete Embedded Vision Systems on Linux—From Camera to Display," ..."Building Complete Embedded Vision Systems on Linux—From Camera to Display," ...
"Building Complete Embedded Vision Systems on Linux—From Camera to Display," ...Edge AI and Vision Alliance
 
2009-09-24 Get the Hype on System z Webinar with IBM, Current & Future Linux ...
2009-09-24 Get the Hype on System z Webinar with IBM, Current & Future Linux ...2009-09-24 Get the Hype on System z Webinar with IBM, Current & Future Linux ...
2009-09-24 Get the Hype on System z Webinar with IBM, Current & Future Linux ...Shawn Wells
 
Using open source software to build an industrial grade embedded linux platfo...
Using open source software to build an industrial grade embedded linux platfo...Using open source software to build an industrial grade embedded linux platfo...
Using open source software to build an industrial grade embedded linux platfo...SZ Lin
 
How to run Linux on RISC-V (FOSS North 2020)
How to run Linux on RISC-V (FOSS North 2020)How to run Linux on RISC-V (FOSS North 2020)
How to run Linux on RISC-V (FOSS North 2020)Drew Fustini
 
Why the yocto project for my io t project elc_edinburgh_2018
Why the yocto project for my io t project elc_edinburgh_2018Why the yocto project for my io t project elc_edinburgh_2018
Why the yocto project for my io t project elc_edinburgh_2018Mender.io
 
HKG15: Opening Keynote - George Grey, Linaro CEO
HKG15: Opening Keynote - George Grey, Linaro CEOHKG15: Opening Keynote - George Grey, Linaro CEO
HKG15: Opening Keynote - George Grey, Linaro CEOLinaro
 
Design, Build,and Maintain the Embedded Linux Platform
Design, Build,and Maintain the Embedded Linux PlatformDesign, Build,and Maintain the Embedded Linux Platform
Design, Build,and Maintain the Embedded Linux PlatformSZ Lin
 
Srikanth_PILLI_CV_latest
Srikanth_PILLI_CV_latestSrikanth_PILLI_CV_latest
Srikanth_PILLI_CV_latestSrikanth Pilli
 
Redfish and python-redfish for Software Defined Infrastructure
Redfish and python-redfish for Software Defined InfrastructureRedfish and python-redfish for Software Defined Infrastructure
Redfish and python-redfish for Software Defined InfrastructureBruno Cornec
 
Civil Infrastructure Platform: Industrial Grade SLTS Kernel and Base-layer De...
Civil Infrastructure Platform: Industrial Grade SLTS Kernel and Base-layer De...Civil Infrastructure Platform: Industrial Grade SLTS Kernel and Base-layer De...
Civil Infrastructure Platform: Industrial Grade SLTS Kernel and Base-layer De...Yoshitake Kobayashi
 
Android Things Internals
Android Things InternalsAndroid Things Internals
Android Things InternalsOpersys inc.
 
Embedded Fest 2019. Wei Fu. Linux on RISC-V--Fedora and Firmware in practice
Embedded Fest 2019. Wei Fu. Linux on RISC-V--Fedora and Firmware in practiceEmbedded Fest 2019. Wei Fu. Linux on RISC-V--Fedora and Firmware in practice
Embedded Fest 2019. Wei Fu. Linux on RISC-V--Fedora and Firmware in practiceEmbeddedFest
 
Developing In Python On Red Hat Platforms (Nick Coghlan & Graham Dumpleton)
Developing In Python On Red Hat Platforms (Nick Coghlan & Graham Dumpleton)Developing In Python On Red Hat Platforms (Nick Coghlan & Graham Dumpleton)
Developing In Python On Red Hat Platforms (Nick Coghlan & Graham Dumpleton)Red Hat Developers
 
Developing in Python on Red Hat Platforms (DevNation 2016)
Developing in Python on Red Hat Platforms (DevNation 2016)Developing in Python on Red Hat Platforms (DevNation 2016)
Developing in Python on Red Hat Platforms (DevNation 2016)ncoghlan_dev
 
[Ultracode Munich Meetup #7] Building Apps for Nexus Player & Android TV
[Ultracode Munich Meetup #7] Building Apps for Nexus Player & Android TV[Ultracode Munich Meetup #7] Building Apps for Nexus Player & Android TV
[Ultracode Munich Meetup #7] Building Apps for Nexus Player & Android TVBeMyApp
 

Ähnlich wie Open source Android 10 on Orange Pi: Meth or Reality? (20)

Open-source Android 10 on Orange Pi: myth or reality?
Open-source Android 10 on Orange Pi: myth or reality?Open-source Android 10 on Orange Pi: myth or reality?
Open-source Android 10 on Orange Pi: myth or reality?
 
Droidcon 2013 France - Android Platform Anatomy
Droidcon 2013 France - Android Platform AnatomyDroidcon 2013 France - Android Platform Anatomy
Droidcon 2013 France - Android Platform Anatomy
 
Embedded Webinar #12 “GloDroid or Boosting True Open Source Android Stack Dev...
Embedded Webinar #12 “GloDroid or Boosting True Open Source Android Stack Dev...Embedded Webinar #12 “GloDroid or Boosting True Open Source Android Stack Dev...
Embedded Webinar #12 “GloDroid or Boosting True Open Source Android Stack Dev...
 
"Building Complete Embedded Vision Systems on Linux—From Camera to Display," ...
"Building Complete Embedded Vision Systems on Linux—From Camera to Display," ..."Building Complete Embedded Vision Systems on Linux—From Camera to Display," ...
"Building Complete Embedded Vision Systems on Linux—From Camera to Display," ...
 
2009-09-24 Get the Hype on System z Webinar with IBM, Current & Future Linux ...
2009-09-24 Get the Hype on System z Webinar with IBM, Current & Future Linux ...2009-09-24 Get the Hype on System z Webinar with IBM, Current & Future Linux ...
2009-09-24 Get the Hype on System z Webinar with IBM, Current & Future Linux ...
 
Using open source software to build an industrial grade embedded linux platfo...
Using open source software to build an industrial grade embedded linux platfo...Using open source software to build an industrial grade embedded linux platfo...
Using open source software to build an industrial grade embedded linux platfo...
 
How to run Linux on RISC-V (FOSS North 2020)
How to run Linux on RISC-V (FOSS North 2020)How to run Linux on RISC-V (FOSS North 2020)
How to run Linux on RISC-V (FOSS North 2020)
 
Why the yocto project for my io t project elc_edinburgh_2018
Why the yocto project for my io t project elc_edinburgh_2018Why the yocto project for my io t project elc_edinburgh_2018
Why the yocto project for my io t project elc_edinburgh_2018
 
HKG15: Opening Keynote - George Grey, Linaro CEO
HKG15: Opening Keynote - George Grey, Linaro CEOHKG15: Opening Keynote - George Grey, Linaro CEO
HKG15: Opening Keynote - George Grey, Linaro CEO
 
Design, Build,and Maintain the Embedded Linux Platform
Design, Build,and Maintain the Embedded Linux PlatformDesign, Build,and Maintain the Embedded Linux Platform
Design, Build,and Maintain the Embedded Linux Platform
 
Srikanth_PILLI_CV_latest
Srikanth_PILLI_CV_latestSrikanth_PILLI_CV_latest
Srikanth_PILLI_CV_latest
 
Bringing Tizen to a Raspberry Pi 2 Near You
Bringing Tizen to a Raspberry Pi 2 Near YouBringing Tizen to a Raspberry Pi 2 Near You
Bringing Tizen to a Raspberry Pi 2 Near You
 
Redfish and python-redfish for Software Defined Infrastructure
Redfish and python-redfish for Software Defined InfrastructureRedfish and python-redfish for Software Defined Infrastructure
Redfish and python-redfish for Software Defined Infrastructure
 
Civil Infrastructure Platform: Industrial Grade SLTS Kernel and Base-layer De...
Civil Infrastructure Platform: Industrial Grade SLTS Kernel and Base-layer De...Civil Infrastructure Platform: Industrial Grade SLTS Kernel and Base-layer De...
Civil Infrastructure Platform: Industrial Grade SLTS Kernel and Base-layer De...
 
Android Things Internals
Android Things InternalsAndroid Things Internals
Android Things Internals
 
Embedded Fest 2019. Wei Fu. Linux on RISC-V--Fedora and Firmware in practice
Embedded Fest 2019. Wei Fu. Linux on RISC-V--Fedora and Firmware in practiceEmbedded Fest 2019. Wei Fu. Linux on RISC-V--Fedora and Firmware in practice
Embedded Fest 2019. Wei Fu. Linux on RISC-V--Fedora and Firmware in practice
 
Developing In Python On Red Hat Platforms (Nick Coghlan & Graham Dumpleton)
Developing In Python On Red Hat Platforms (Nick Coghlan & Graham Dumpleton)Developing In Python On Red Hat Platforms (Nick Coghlan & Graham Dumpleton)
Developing In Python On Red Hat Platforms (Nick Coghlan & Graham Dumpleton)
 
Developing in Python on Red Hat Platforms (DevNation 2016)
Developing in Python on Red Hat Platforms (DevNation 2016)Developing in Python on Red Hat Platforms (DevNation 2016)
Developing in Python on Red Hat Platforms (DevNation 2016)
 
TFI2014 Session II - Requirements for SDN - Brian Field
TFI2014 Session II - Requirements for SDN - Brian FieldTFI2014 Session II - Requirements for SDN - Brian Field
TFI2014 Session II - Requirements for SDN - Brian Field
 
[Ultracode Munich Meetup #7] Building Apps for Nexus Player & Android TV
[Ultracode Munich Meetup #7] Building Apps for Nexus Player & Android TV[Ultracode Munich Meetup #7] Building Apps for Nexus Player & Android TV
[Ultracode Munich Meetup #7] Building Apps for Nexus Player & Android TV
 

Mehr von GlobalLogic Ukraine

GlobalLogic JavaScript Community Webinar #18 “Long Story Short: OSI Model”
GlobalLogic JavaScript Community Webinar #18 “Long Story Short: OSI Model”GlobalLogic JavaScript Community Webinar #18 “Long Story Short: OSI Model”
GlobalLogic JavaScript Community Webinar #18 “Long Story Short: OSI Model”GlobalLogic Ukraine
 
Штучний інтелект як допомога в навчанні, а не замінник.pptx
Штучний інтелект як допомога в навчанні, а не замінник.pptxШтучний інтелект як допомога в навчанні, а не замінник.pptx
Штучний інтелект як допомога в навчанні, а не замінник.pptxGlobalLogic Ukraine
 
Задачі AI-розробника як застосовується штучний інтелект.pptx
Задачі AI-розробника як застосовується штучний інтелект.pptxЗадачі AI-розробника як застосовується штучний інтелект.pptx
Задачі AI-розробника як застосовується штучний інтелект.pptxGlobalLogic Ukraine
 
Що треба вивчати, щоб стати розробником штучного інтелекту та нейромереж.pptx
Що треба вивчати, щоб стати розробником штучного інтелекту та нейромереж.pptxЩо треба вивчати, щоб стати розробником штучного інтелекту та нейромереж.pptx
Що треба вивчати, щоб стати розробником штучного інтелекту та нейромереж.pptxGlobalLogic Ukraine
 
GlobalLogic Java Community Webinar #16 “Zaloni’s Architecture for Data-Driven...
GlobalLogic Java Community Webinar #16 “Zaloni’s Architecture for Data-Driven...GlobalLogic Java Community Webinar #16 “Zaloni’s Architecture for Data-Driven...
GlobalLogic Java Community Webinar #16 “Zaloni’s Architecture for Data-Driven...GlobalLogic Ukraine
 
JavaScript Community Webinar #14 "Why Is Git Rebase?"
JavaScript Community Webinar #14 "Why Is Git Rebase?"JavaScript Community Webinar #14 "Why Is Git Rebase?"
JavaScript Community Webinar #14 "Why Is Git Rebase?"GlobalLogic Ukraine
 
GlobalLogic .NET Community Webinar #3 "Exploring Serverless with Azure Functi...
GlobalLogic .NET Community Webinar #3 "Exploring Serverless with Azure Functi...GlobalLogic .NET Community Webinar #3 "Exploring Serverless with Azure Functi...
GlobalLogic .NET Community Webinar #3 "Exploring Serverless with Azure Functi...GlobalLogic Ukraine
 
Страх і сила помилок - IT Inside від GlobalLogic Education
Страх і сила помилок - IT Inside від GlobalLogic EducationСтрах і сила помилок - IT Inside від GlobalLogic Education
Страх і сила помилок - IT Inside від GlobalLogic EducationGlobalLogic Ukraine
 
GlobalLogic .NET Webinar #2 “Azure RBAC and Managed Identity”
GlobalLogic .NET Webinar #2 “Azure RBAC and Managed Identity”GlobalLogic .NET Webinar #2 “Azure RBAC and Managed Identity”
GlobalLogic .NET Webinar #2 “Azure RBAC and Managed Identity”GlobalLogic Ukraine
 
GlobalLogic QA Webinar “What does it take to become a Test Engineer”
GlobalLogic QA Webinar “What does it take to become a Test Engineer”GlobalLogic QA Webinar “What does it take to become a Test Engineer”
GlobalLogic QA Webinar “What does it take to become a Test Engineer”GlobalLogic Ukraine
 
“How to Secure Your Applications With a Keycloak?
“How to Secure Your Applications With a Keycloak?“How to Secure Your Applications With a Keycloak?
“How to Secure Your Applications With a Keycloak?GlobalLogic Ukraine
 
GlobalLogic Machine Learning Webinar “Advanced Statistical Methods for Linear...
GlobalLogic Machine Learning Webinar “Advanced Statistical Methods for Linear...GlobalLogic Machine Learning Webinar “Advanced Statistical Methods for Linear...
GlobalLogic Machine Learning Webinar “Advanced Statistical Methods for Linear...GlobalLogic Ukraine
 
GlobalLogic Machine Learning Webinar “Statistical learning of linear regressi...
GlobalLogic Machine Learning Webinar “Statistical learning of linear regressi...GlobalLogic Machine Learning Webinar “Statistical learning of linear regressi...
GlobalLogic Machine Learning Webinar “Statistical learning of linear regressi...GlobalLogic Ukraine
 
GlobalLogic C++ Webinar “The Minimum Knowledge to Become a C++ Developer”
GlobalLogic C++ Webinar “The Minimum Knowledge to Become a C++ Developer”GlobalLogic C++ Webinar “The Minimum Knowledge to Become a C++ Developer”
GlobalLogic C++ Webinar “The Minimum Knowledge to Become a C++ Developer”GlobalLogic Ukraine
 
Embedded Webinar #17 "Low-level Network Testing in Embedded Devices Development"
Embedded Webinar #17 "Low-level Network Testing in Embedded Devices Development"Embedded Webinar #17 "Low-level Network Testing in Embedded Devices Development"
Embedded Webinar #17 "Low-level Network Testing in Embedded Devices Development"GlobalLogic Ukraine
 
GlobalLogic Webinar "Introduction to Embedded QA"
GlobalLogic Webinar "Introduction to Embedded QA"GlobalLogic Webinar "Introduction to Embedded QA"
GlobalLogic Webinar "Introduction to Embedded QA"GlobalLogic Ukraine
 
C++ Webinar "Why Should You Learn C++ in 2021-22?"
C++ Webinar "Why Should You Learn C++ in 2021-22?"C++ Webinar "Why Should You Learn C++ in 2021-22?"
C++ Webinar "Why Should You Learn C++ in 2021-22?"GlobalLogic Ukraine
 
GlobalLogic Test Automation Live Testing Session “Android Behind UI — Testing...
GlobalLogic Test Automation Live Testing Session “Android Behind UI — Testing...GlobalLogic Test Automation Live Testing Session “Android Behind UI — Testing...
GlobalLogic Test Automation Live Testing Session “Android Behind UI — Testing...GlobalLogic Ukraine
 
GlobalLogic Test Automation Online TechTalk “Test Driven Development as a Per...
GlobalLogic Test Automation Online TechTalk “Test Driven Development as a Per...GlobalLogic Test Automation Online TechTalk “Test Driven Development as a Per...
GlobalLogic Test Automation Online TechTalk “Test Driven Development as a Per...GlobalLogic Ukraine
 
GlobalLogic Azure TechTalk ONLINE “Marketing Data Lake in Azure”
GlobalLogic Azure TechTalk ONLINE “Marketing Data Lake in Azure”GlobalLogic Azure TechTalk ONLINE “Marketing Data Lake in Azure”
GlobalLogic Azure TechTalk ONLINE “Marketing Data Lake in Azure”GlobalLogic Ukraine
 

Mehr von GlobalLogic Ukraine (20)

GlobalLogic JavaScript Community Webinar #18 “Long Story Short: OSI Model”
GlobalLogic JavaScript Community Webinar #18 “Long Story Short: OSI Model”GlobalLogic JavaScript Community Webinar #18 “Long Story Short: OSI Model”
GlobalLogic JavaScript Community Webinar #18 “Long Story Short: OSI Model”
 
Штучний інтелект як допомога в навчанні, а не замінник.pptx
Штучний інтелект як допомога в навчанні, а не замінник.pptxШтучний інтелект як допомога в навчанні, а не замінник.pptx
Штучний інтелект як допомога в навчанні, а не замінник.pptx
 
Задачі AI-розробника як застосовується штучний інтелект.pptx
Задачі AI-розробника як застосовується штучний інтелект.pptxЗадачі AI-розробника як застосовується штучний інтелект.pptx
Задачі AI-розробника як застосовується штучний інтелект.pptx
 
Що треба вивчати, щоб стати розробником штучного інтелекту та нейромереж.pptx
Що треба вивчати, щоб стати розробником штучного інтелекту та нейромереж.pptxЩо треба вивчати, щоб стати розробником штучного інтелекту та нейромереж.pptx
Що треба вивчати, щоб стати розробником штучного інтелекту та нейромереж.pptx
 
GlobalLogic Java Community Webinar #16 “Zaloni’s Architecture for Data-Driven...
GlobalLogic Java Community Webinar #16 “Zaloni’s Architecture for Data-Driven...GlobalLogic Java Community Webinar #16 “Zaloni’s Architecture for Data-Driven...
GlobalLogic Java Community Webinar #16 “Zaloni’s Architecture for Data-Driven...
 
JavaScript Community Webinar #14 "Why Is Git Rebase?"
JavaScript Community Webinar #14 "Why Is Git Rebase?"JavaScript Community Webinar #14 "Why Is Git Rebase?"
JavaScript Community Webinar #14 "Why Is Git Rebase?"
 
GlobalLogic .NET Community Webinar #3 "Exploring Serverless with Azure Functi...
GlobalLogic .NET Community Webinar #3 "Exploring Serverless with Azure Functi...GlobalLogic .NET Community Webinar #3 "Exploring Serverless with Azure Functi...
GlobalLogic .NET Community Webinar #3 "Exploring Serverless with Azure Functi...
 
Страх і сила помилок - IT Inside від GlobalLogic Education
Страх і сила помилок - IT Inside від GlobalLogic EducationСтрах і сила помилок - IT Inside від GlobalLogic Education
Страх і сила помилок - IT Inside від GlobalLogic Education
 
GlobalLogic .NET Webinar #2 “Azure RBAC and Managed Identity”
GlobalLogic .NET Webinar #2 “Azure RBAC and Managed Identity”GlobalLogic .NET Webinar #2 “Azure RBAC and Managed Identity”
GlobalLogic .NET Webinar #2 “Azure RBAC and Managed Identity”
 
GlobalLogic QA Webinar “What does it take to become a Test Engineer”
GlobalLogic QA Webinar “What does it take to become a Test Engineer”GlobalLogic QA Webinar “What does it take to become a Test Engineer”
GlobalLogic QA Webinar “What does it take to become a Test Engineer”
 
“How to Secure Your Applications With a Keycloak?
“How to Secure Your Applications With a Keycloak?“How to Secure Your Applications With a Keycloak?
“How to Secure Your Applications With a Keycloak?
 
GlobalLogic Machine Learning Webinar “Advanced Statistical Methods for Linear...
GlobalLogic Machine Learning Webinar “Advanced Statistical Methods for Linear...GlobalLogic Machine Learning Webinar “Advanced Statistical Methods for Linear...
GlobalLogic Machine Learning Webinar “Advanced Statistical Methods for Linear...
 
GlobalLogic Machine Learning Webinar “Statistical learning of linear regressi...
GlobalLogic Machine Learning Webinar “Statistical learning of linear regressi...GlobalLogic Machine Learning Webinar “Statistical learning of linear regressi...
GlobalLogic Machine Learning Webinar “Statistical learning of linear regressi...
 
GlobalLogic C++ Webinar “The Minimum Knowledge to Become a C++ Developer”
GlobalLogic C++ Webinar “The Minimum Knowledge to Become a C++ Developer”GlobalLogic C++ Webinar “The Minimum Knowledge to Become a C++ Developer”
GlobalLogic C++ Webinar “The Minimum Knowledge to Become a C++ Developer”
 
Embedded Webinar #17 "Low-level Network Testing in Embedded Devices Development"
Embedded Webinar #17 "Low-level Network Testing in Embedded Devices Development"Embedded Webinar #17 "Low-level Network Testing in Embedded Devices Development"
Embedded Webinar #17 "Low-level Network Testing in Embedded Devices Development"
 
GlobalLogic Webinar "Introduction to Embedded QA"
GlobalLogic Webinar "Introduction to Embedded QA"GlobalLogic Webinar "Introduction to Embedded QA"
GlobalLogic Webinar "Introduction to Embedded QA"
 
C++ Webinar "Why Should You Learn C++ in 2021-22?"
C++ Webinar "Why Should You Learn C++ in 2021-22?"C++ Webinar "Why Should You Learn C++ in 2021-22?"
C++ Webinar "Why Should You Learn C++ in 2021-22?"
 
GlobalLogic Test Automation Live Testing Session “Android Behind UI — Testing...
GlobalLogic Test Automation Live Testing Session “Android Behind UI — Testing...GlobalLogic Test Automation Live Testing Session “Android Behind UI — Testing...
GlobalLogic Test Automation Live Testing Session “Android Behind UI — Testing...
 
GlobalLogic Test Automation Online TechTalk “Test Driven Development as a Per...
GlobalLogic Test Automation Online TechTalk “Test Driven Development as a Per...GlobalLogic Test Automation Online TechTalk “Test Driven Development as a Per...
GlobalLogic Test Automation Online TechTalk “Test Driven Development as a Per...
 
GlobalLogic Azure TechTalk ONLINE “Marketing Data Lake in Azure”
GlobalLogic Azure TechTalk ONLINE “Marketing Data Lake in Azure”GlobalLogic Azure TechTalk ONLINE “Marketing Data Lake in Azure”
GlobalLogic Azure TechTalk ONLINE “Marketing Data Lake in Azure”
 

Kürzlich hochgeladen

A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)wesley chun
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUK Journal
 

Kürzlich hochgeladen (20)

A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 

Open source Android 10 on Orange Pi: Meth or Reality?

  • 1. 1 Open source Android 10 on Orange Pi: Meth or Reality? Stanislav Goncharov Roman Stratiienko Maksym Prymierov
  • 2. 2 1. Overview available environment 2. Android OS 3. Requirements 4. Configuration customization 5. PoC timeline 6. Worktree structure 7. Main components structure 8. Results 9. Supported platforms 10.Demo Agenda
  • 4. 4 Boards SoC GPU Price Available RASPBERRY PI 4 MODEL B Broadcom BCM2711 Cortex-A72 Quad core VideoCore VI $52.97 Android 7.1.2 BANANA PI M2 ULTR Allwinner R40 ARM Cortex A7 Quad core Mali-400MP2 $56.99 Android 7.1.2 ODROID-C2 Amlogic S905 Cortex- A53 Quad core Mali-450 $85.40 Android 8.1 NANOPI K2 Amlogic S905 Cortex- A53 Quad core Mali-450MP $53 Android 8.1 PINE A64+ ARM Cortex A53 Quad- Core Mali-400MP2 $29 Android 7.0 Orange Pi 3 Allwinner H6 Cortex- A53 Quad core Mali-720 $34.90 Android 7.0 HiKey 960 Kirin 960 ARM Mali G71 MP8 $239.00 Android 9.0 SanCloud BeagleBone Enhanced AM3358 SGX530 $69.00 Custom Android for BBB HW Comparison Table, 2Gb DDR3
  • 7. 7 Project requirements 1. Use the last actual version of Android 2. Take cheap Single Board Computer 3. Use Open Source Projects only 4. Have an Open Source Solution 5. Have a solution from the box 6. Have fun
  • 8. 8 Project requirements 1. Use the last actual version of Android 2. Take cheap Single Board Computer 3. Use Open Source Projects only 4. Have an Open Source Solution 5. Have a solution from the box 6. Have fun
  • 10. 10 Theory of Configuration customization 1. Create Build Layers 2. Build variants 3. Build customization over Resource Overlays 4. Write the Makefiles - Makefile that declares the files and modules needed for the device (device.mk) - Product definition makefile (a specific product based on the device) (vendor.mk) - File that points to the product's makefiles (AndroidProducts.mk) - Makefile that contains board-specific configurations (BoardConfig.mk) - File to add your product (a "lunch combo") to the build along with a build variant separated by a dash (vendorsetup.sh) - Set Product Definition Variables - Set ANDROID_VENDOR_KEYS to connect over USB https://source.android.com/setup/develop/new-device
  • 11. 11 Project requirements 1. Use the last actual version of Android 2. Take cheap Single Board Computer 3. Use Open Source Projects only 4. Have an Open Source Solution 5. Have a solution from the box 6. Have fun
  • 12. 12 Orange Pi Plus2e (Shenzhen Xunlong Software) http://www.orangepi.org/orangepiplus2e/
  • 13. 13 Project requirements 1. Use the last actual version of Android 2. Take cheap Single Board Computer 3. Use Open Source Projects only 4. Have an Open Source Solution 5. Have a solution from the box 6. Have fun
  • 14. 14 Project requirements 1. Use the last actual version of Android 2. Take cheap Single Board Computer 3. Use Open Source Projects only 4. Have an Open Source Solution 5. Have a solution from the box 6. Have fun
  • 15. 15 Repo (a Google-built repository management tool that runs on top of Git) repo init -u $URL -b $BRANCH -m $MANIFEST -------------------- mkdir .repo; cd .repo git clone https://android.googlesource.com/tools/repo git clone --bare $URL manifests.git mkdir -p manifests/.git; cd manifests/.git for i in ../../manifests.git/*; do ln -s $ı .; done cd .. git checkout $BRANCH -- . cd .. ln -s manifests/$MANIFEST manifest.xml https://android.googlesource.com/tools/repo/+/maint/docs/manifest-format.txt
  • 16. 16 Project requirements 1. Use the last actual version of Android 2. Take cheap Single Board Computer 3. Use Open Source Projects only 4. Have an Open Source Solution 5. Have a solution from the box 6. Have fun
  • 18. 18 Guided by: 1. Trustworthiness - Upstream as much our work as possible into mainline repositories with high acceptance criteria. - Use repository forks only if necessary. - Keep own code clean and easy for review. - Avoid usage of proprietary binaries. 1. High performance (in progress) - Continuously bring-up and improve hardware acceleration. - Optimization in graphics path, profiling, caching. 1. Reliability (in plans after first release) - Continue to fix existing and new bugs. - Setup CI server to track regression and report to developer before applying new changes. - Use and extend VTS and CTS. - Manual testing (We hope to get your help here). 1. Free and open source - Get as much as possible feedback from the community. - Split development across the community. - Keep project alive during long period of time.
  • 19. 19 Worktree structure Path Description GL Patches device/glodroid Product makefiles All prebuilts/applications Non-AOSP applications (f-droid, kodi) All external/drm_hwcomposer Opensource HWComposer HAL based on DRM/KMS 2 external/mesa3d Opensource OpenGL & Vulkan implementation for variety of graphic cards 1 kernel/glodroid Mainline kernel (v5.4-rc7) + Google Patchset 8 external/tinyhal Opensource audio HAL from Cirrus Logic - external/gbm_gralloc Opensource gralloc HAL that is using mesa GBM interface. - external/u-boot Mainline u-boot v2019.10 - kernel/glodroid-modules/rtl8189ES_linux Out of tree wifi kernel module - prebuilts/gcc/linux-x86/arm/gcc-linaro_arm-linux-gnueabihf Prebuilt gcc from linaro (used to compile kernel and u-boot) - Other 740+ repositories Google AOSP v10.0.0-r14 - GloDroid repos Modified Forks Opensource repositories
  • 20. 20 GPU and VPU drivers timeline.
  • 21. 21 Guided by: 1. Trustworthiness - Upstream as much our work as possible into mainline repositories with high acceptance criteria. - Use repository forks only if necessary. - Keep own code clean and easy for review. - Avoid usage of proprietary binaries. 1. High performance (in progress) - Continuously bring-up and improve hardware acceleration. - Optimization in graphics path, profiling, caching. 1. Reliability (in plans after first release) - Continue to fix existing and new bugs. - Setup CI server to track regression and report to developer before applying new changes. - Use and extend VTS and CTS. - Manual testing (We hope to get your help here). 1. Free and open source - Get as much as possible feedback from the community. - Split development across the community. - Keep project alive during long period of time.
  • 23. 23 Step 1. Composer- >ValidateDisplay() Step 2: Composer- >PresentDisplay() HWComposer stages Thanks to Linaro! Link to slides: https://s3.amazonaws.com/connect.linaro.org/yvr18/presentations/yvr18-204.pdf SurfaceFlinger
  • 24. 24 Guided by: 1. Trustworthiness - Upstream as much our work as possible into mainline repositories with high acceptance criteria. - Use repository forks only if necessary. - Keep own code clean and easy for review. - Avoid usage of proprietary binaries. 1. High performance (in progress) - Continuously bring-up and improve hardware acceleration. - Optimization in graphics path, profiling, caching. 1. Reliability (in plans after first release) - Continue to fix existing and new bugs. - Setup CI server to track regression and report to developer before applying new changes. - Use and extend VTS and CTS. - Manual testing (We hope to get your help here). 1. Free and open source - Get as much as possible feedback from community. - Split development across the the community. - Keep project alive during long period of time.
  • 25. 25 Community mainlining effort For more info visit the following links: Raspberry PI 4 support: https://github.com/lategoodbye/rpi-zero/issues/43 Sunxi support: https://linux-sunxi.org/Linux_mainlining_effort H3 SOC (OPI PC) H6 SOC (OPI 3) BCM2711 (RPI 4) Device Support Kernel v3.18 Kernel v4.17 Kernel v5.5 GPU Driver Kernel v5.2 Kernel v5.5 Kernel v4.18 VPU Driver (h264) Kernel v5.3 Kernel v5.3 Optimized CPU, GPU + NEON? VPU Driver (h265) Kernel v5.5 Kernel v5.5 Optimized CPU, GPU + NEON?
  • 26. 26 Effort distribution Changed by GL: +1350 lines in makefiles +300 lines in C/C++ code
  • 28. 28 Current project status 1. Android 10.0.0 Release 14 2. Linux Kernel version 5.3 3. U-Boot v2019.10 4. Mesa (upstream) 5. HW Composer (upstream) 6. Tinyhal (upstream) 7. Built by Linaro GCC for ARM v.7.4.1
  • 29. 29 Building Android mkdir -p GloDroid cd GloDroid repo init -u https://github.com/glodroid/glodroid_manifest repo sync -cq source ./build/envsetup.sh lunch opi_plus2e-userdebug make sdcard $ dd if=out/target/product/plus2e/sdcard.img of=/dev/sdX bs=4k $ sync
  • 30. 30 Supported platforms Orange PI PC SOC: Allwinner H3 CPU: ARMv7 RAM: 1GB Retail price: 15$ Orange PI plus2e SOC: Allwinner H3 CPU: ARMv7 RAM: 2GB Retail price: 46$ Orange PI 3 SOC: Allwinner H6 CPU: ARMv8 64bit RAM: 2GB Retail price: 40$ Raspberry PI 4 SOC: Broadcom BCM2711 CPU: Cortex-A72 Quad core RAM: 1,2,4GB Retail price: 54$ (2GB) In plans
  • 31. 31 Q & A? - Follow us on GitHub :) https://github.com/glodroid/glodroid_manifest