SlideShare a Scribd company logo
1 of 32
Linux for development boardsLinux for development boards
Presented by: Igor PečovnikPresented by: Igor Pečovnik
www.armbian.com 2
Little about me

Founder, maintainer & developer @Armbian

Small business entrepreneur

Hamradio & tinkerer enthusiast since childhood

Studied Math and computer science in mid 90’’

Linux since Slackware 1.0

Like to read philosophy and human science

Kids, light sport and strong beer
www.armbian.com 3
Speech overview
1) Motives for start
2) Historical overview
3) Current infrastructure
4) Userspace introduction
5) Build engine overview
www.armbian.com 4
1. Why project started?
www.armbian.com 5
● Personal need
● Disappointment
● Curiosity
Why project started?
www.armbian.com 6
Why project started?
www.armbian.com 7
2. Historical overview
www.armbian.com 8
● Joined Cubieboards community
● Started messing with kernel for Cubietruck
● Collecting useful kernel patches
● Started working on a BASH build script
● Fell into a rapid development cycle
First steps
www.armbian.com 9
● 24.12.2013 Debian Wheezy 1.0 Cubietruck
Release notes:
gigabit ethernet operational, sata driver
enabled, root filesystem autoresize, MAC
address fixed at first boot, Kernel 3.4.75, root
password=1234. Bugs: wifi and BT not working
First actual release
www.armbian.com 10
● Moving to Github
● Others started to join the project
● Supporting more boards: Banana, Lime, Cubox
● Added Ubuntu Trusty
● Images hosted on public servers
● Project hosting @A20
2014 – doing something
www.armbian.com 11
● Fun
● Curiosity
● Proud to be
a maker
2014 - motivation
www.armbian.com 12
● No infrastructure
● No project name
● No stable kernels
● Few free boards
● Few special knowledge
● Few help from others
2014 - problems
www.armbian.com 13
● Dedicated domain
● 17 new boards
● Added Jessie, Xenial
● Dedicated download server
● Packages repository (aptly)
● Forums for technical support (IPS)
● Project hosting @Odroid XU4
2015 – armbian was born
www.armbian.com 14
2015 – more knowhow more problems
✔ Old problems were solved
● Bad, false or nonexisting documentation
● Most ARM hw platforms has its own kernel & uboot
● Low code quality on initial board support packages / SDK
● Little to no support from chip and boards markers
● Too small group for the problems and users with little
experience and high expectations
www.armbian.com 15
● 3D and accelerated video decoding on Allwinner boards
● Arm64, 24 new boards in 2016 and another 14 in 2017
● Torrent download options
● First notebook support
● Moving to github.com/armbian
● Dedicated build server
● Added twitter/armbian
● Project hosting went to highend servers
2016 – 2017 steady growth
www.armbian.com 16
2016 – 2017 problems are mounting up
● Most previous problems remain unsolved
● Strong pressure on our support
● Users failing to use prepared documentation
● Unrealistic users expectations
● Donations does not follow project expansion
● Supporting 59 boards and new keep comming
www.armbian.com 17
● We are admired :)
● Armbian become defacto standard Linux on
SBC
● Project might create jobs
2016 - 2017 motivation
www.armbian.com 18
3. Current infrastructure
www.armbian.com 19
Current infrastructure
● Core project developers
● Project website
● Forums for end user support
● Twitter @armbian (in making), IRC (making #armbian official)
● Download server with torrent capabilities
● Code repository, bug tracker for build script & kernels and
documentation: Github
● Organized manually testing just before release.
www.armbian.com 20
4. Userspace introduction
www.armbian.com 21
● Debian or Ubuntu based
● XFCE based desktop with Chromium or CLI
● Serial console enabled on all boards
● Password change is forced, user creation optional at first login
● Auto filesystem expand
● Wireless up and ready to connect
Userspace
www.armbian.com 22
● Reduced write frequency: memory for logging, Chromium cache and
profile. Cron sync and on shutdown. Increased fs flushing interval
● Headers and build essentials are installed by default - adding 3rd party
kernel module is quick and simple
● Unified boot with ramdisk, UUID (Universally unique identifier) on most
and DT overlay support in making
● Optimised DVFS (Dynamic voltage and frequency scaling) to achieve
best thermal / performance ratio (kernel)
● Enabled Docker support where possible (kernel)
Optimisations
www.armbian.com 23
● Armbianmonitor. Base tool when seeking support. Installs Rpi web based
monitoring, CPU miner, checks SD card speed
● H3consumption – provides various tweaks to bring down consumtion to insane
low values. Limit CPU core count, DRAM speed, disabling video out, …
● Dialog driven configuration utility for inexperienced users
Utilities
www.armbian.com 24
● Failed to read warnings and documentation
● Failed to understand powering issues (microUSB)
● Usage of old, low cost or fake SD cards
● Lack of basic Linux knowledge
● Unrealistic expectations
Users problems
www.armbian.com 25
5. Build engine
www.armbian.com 26
Build engine overview
● Language: bash, 3000+ commits, Cross compilation only (speed)
● It needs native Ubuntu X64, fully virtualized (kvm,virtualbox) or
containerised (docker)
● More than 50 board configurations
● 19 source configs with up to 3 kernel/u-boot branches for each SoC
● 6 different external compilers from Linaro. Each source has a variable to
set the compiler version.
● Menu or parameter driven
www.armbian.com 27
www.armbian.com 28
Build engine optimizations
● apt-cacher for caching packages
● Userspace remain cached (lz4) after debootstrap
● Using compiler cache (CCACHE)
● Building images in memory
● Second build is done in few minutes
www.armbian.com 29
Adding new board
● Create a board configuration with boot loader config, available
kernel branches, modules to load, ...
● Add to or define a new family. Define u-boot, kernel sources
and build targets, per board customisation scripts, ...
● Add patches to u-boot and kernel if needed
● Make few tests and create a pull request to share your work
www.armbian.com 30
Speech summary
1) Motives for start
2) Historical overview
3) Current infrastructure
4) Userspace introduction
5) Build engine overview
www.armbian.com 31
QUESTIONS?
www.armbian.com 32
Thank you for your attention!
@armbian

More Related Content

What's hot

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
 
The True Story of FreeNAS
The True Story of FreeNASThe True Story of FreeNAS
The True Story of FreeNASiXsystems
 
Autobuilder2 Yocto Project Summit Lyon 2019
Autobuilder2 Yocto Project Summit Lyon 2019Autobuilder2 Yocto Project Summit Lyon 2019
Autobuilder2 Yocto Project Summit Lyon 2019Marco Cavallini
 
BayLISA - FreeNAS 10 by Jordan Hubbard
BayLISA - FreeNAS 10 by Jordan HubbardBayLISA - FreeNAS 10 by Jordan Hubbard
BayLISA - FreeNAS 10 by Jordan HubbardiXsystems
 
2013 Indiana LinuxFest - Getting Started With PC-BSD
2013 Indiana LinuxFest -  Getting Started With PC-BSD2013 Indiana LinuxFest -  Getting Started With PC-BSD
2013 Indiana LinuxFest - Getting Started With PC-BSDKen Moore
 
Embedded Linux primer
Embedded Linux primerEmbedded Linux primer
Embedded Linux primerDrew Fustini
 
FreeNAS 10: Challenges of Building a Modern Storage Appliance based on FreeBS...
FreeNAS 10: Challenges of Building a Modern Storage Appliance based on FreeBS...FreeNAS 10: Challenges of Building a Modern Storage Appliance based on FreeBS...
FreeNAS 10: Challenges of Building a Modern Storage Appliance based on FreeBS...iXsystems
 
Yocto usage for Graphics SDK on AM335x
Yocto usage for Graphics SDK on AM335xYocto usage for Graphics SDK on AM335x
Yocto usage for Graphics SDK on AM335xPrabindh Sundareson
 
SELF 2014: PBI v10: Application Management Made Easy
SELF 2014: PBI v10: Application Management Made EasySELF 2014: PBI v10: Application Management Made Easy
SELF 2014: PBI v10: Application Management Made EasyKen Moore
 
01 linux-quick-start
01 linux-quick-start01 linux-quick-start
01 linux-quick-startNguyen Vinh
 
Tomboy Web Sync Explained
Tomboy Web Sync ExplainedTomboy Web Sync Explained
Tomboy Web Sync ExplainedMohan Krishnan
 
Gentoo Linux, or Why in the World You Should Compile Everything
Gentoo Linux, or Why in the World You Should Compile EverythingGentoo Linux, or Why in the World You Should Compile Everything
Gentoo Linux, or Why in the World You Should Compile EverythingDonnie Berkholz
 
Eclipse IDE Yocto Plugin
Eclipse IDE Yocto PluginEclipse IDE Yocto Plugin
Eclipse IDE Yocto Plugincudma
 
Build your own embedded linux distributions by yocto project
Build your own embedded linux distributions by yocto projectBuild your own embedded linux distributions by yocto project
Build your own embedded linux distributions by yocto projectYen-Chin Lee
 
Introduction to yocto
Introduction to yoctoIntroduction to yocto
Introduction to yoctoAlex Gonzalez
 
How to be a distribution-friendly project
How to be a distribution-friendly projectHow to be a distribution-friendly project
How to be a distribution-friendly projectDonnie Berkholz
 
Dev/Stage/Prod Parity with Vagrant
Dev/Stage/Prod Parity with VagrantDev/Stage/Prod Parity with Vagrant
Dev/Stage/Prod Parity with VagrantMike Bybee
 

What's hot (20)

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?
 
Who Needs Visual Studio?
Who Needs Visual Studio?Who Needs Visual Studio?
Who Needs Visual Studio?
 
oSSN19 - openSUSE on ARM
oSSN19 - openSUSE on ARMoSSN19 - openSUSE on ARM
oSSN19 - openSUSE on ARM
 
The True Story of FreeNAS
The True Story of FreeNASThe True Story of FreeNAS
The True Story of FreeNAS
 
Autobuilder2 Yocto Project Summit Lyon 2019
Autobuilder2 Yocto Project Summit Lyon 2019Autobuilder2 Yocto Project Summit Lyon 2019
Autobuilder2 Yocto Project Summit Lyon 2019
 
BayLISA - FreeNAS 10 by Jordan Hubbard
BayLISA - FreeNAS 10 by Jordan HubbardBayLISA - FreeNAS 10 by Jordan Hubbard
BayLISA - FreeNAS 10 by Jordan Hubbard
 
2013 Indiana LinuxFest - Getting Started With PC-BSD
2013 Indiana LinuxFest -  Getting Started With PC-BSD2013 Indiana LinuxFest -  Getting Started With PC-BSD
2013 Indiana LinuxFest - Getting Started With PC-BSD
 
Embedded Linux primer
Embedded Linux primerEmbedded Linux primer
Embedded Linux primer
 
FreeNAS 10: Challenges of Building a Modern Storage Appliance based on FreeBS...
FreeNAS 10: Challenges of Building a Modern Storage Appliance based on FreeBS...FreeNAS 10: Challenges of Building a Modern Storage Appliance based on FreeBS...
FreeNAS 10: Challenges of Building a Modern Storage Appliance based on FreeBS...
 
Yocto usage for Graphics SDK on AM335x
Yocto usage for Graphics SDK on AM335xYocto usage for Graphics SDK on AM335x
Yocto usage for Graphics SDK on AM335x
 
SELF 2014: PBI v10: Application Management Made Easy
SELF 2014: PBI v10: Application Management Made EasySELF 2014: PBI v10: Application Management Made Easy
SELF 2014: PBI v10: Application Management Made Easy
 
01 linux-quick-start
01 linux-quick-start01 linux-quick-start
01 linux-quick-start
 
Tomboy Web Sync Explained
Tomboy Web Sync ExplainedTomboy Web Sync Explained
Tomboy Web Sync Explained
 
Gentoo Linux, or Why in the World You Should Compile Everything
Gentoo Linux, or Why in the World You Should Compile EverythingGentoo Linux, or Why in the World You Should Compile Everything
Gentoo Linux, or Why in the World You Should Compile Everything
 
Eclipse IDE Yocto Plugin
Eclipse IDE Yocto PluginEclipse IDE Yocto Plugin
Eclipse IDE Yocto Plugin
 
Build your own embedded linux distributions by yocto project
Build your own embedded linux distributions by yocto projectBuild your own embedded linux distributions by yocto project
Build your own embedded linux distributions by yocto project
 
Introduction to yocto
Introduction to yoctoIntroduction to yocto
Introduction to yocto
 
How to be a distribution-friendly project
How to be a distribution-friendly projectHow to be a distribution-friendly project
How to be a distribution-friendly project
 
Dev/Stage/Prod Parity with Vagrant
Dev/Stage/Prod Parity with VagrantDev/Stage/Prod Parity with Vagrant
Dev/Stage/Prod Parity with Vagrant
 
Composer
ComposerComposer
Composer
 

Similar to Armbian linux

Building Embedded Linux Full Tutorial for ARM
Building Embedded Linux Full Tutorial for ARMBuilding Embedded Linux Full Tutorial for ARM
Building Embedded Linux Full Tutorial for ARMSherif Mousa
 
Module 4 Embedded Linux
Module 4 Embedded LinuxModule 4 Embedded Linux
Module 4 Embedded LinuxTushar B Kute
 
Is Android the New Embedded Linux? at AnDevCon V
Is Android the New Embedded Linux? at AnDevCon VIs Android the New Embedded Linux? at AnDevCon V
Is Android the New Embedded Linux? at AnDevCon VOpersys inc.
 
A Tour of Open Source on the Mainframe
A Tour of Open Source on the MainframeA Tour of Open Source on the Mainframe
A Tour of Open Source on the MainframeAll Things Open
 
Is Android the New Embedded Linux? at AnDevCon VI
Is Android the New Embedded Linux? at AnDevCon VIIs Android the New Embedded Linux? at AnDevCon VI
Is Android the New Embedded Linux? at AnDevCon VIOpersys inc.
 
LMG Lightning Talks - SFO17-205
LMG Lightning Talks - SFO17-205LMG Lightning Talks - SFO17-205
LMG Lightning Talks - SFO17-205Linaro
 
embedded-linux-120203.pdf
embedded-linux-120203.pdfembedded-linux-120203.pdf
embedded-linux-120203.pdftwtester
 
Unikernel User Summit 2015: Getting started in unikernels using the rump kernel
Unikernel User Summit 2015: Getting started in unikernels using the rump kernelUnikernel User Summit 2015: Getting started in unikernels using the rump kernel
Unikernel User Summit 2015: Getting started in unikernels using the rump kernelThe Linux Foundation
 
Embedded platform choices
Embedded platform choicesEmbedded platform choices
Embedded platform choicesTavish Naruka
 
Android Variants, Hacks, Tricks and Resources presented at AnDevConII
Android Variants, Hacks, Tricks and Resources presented at AnDevConIIAndroid Variants, Hacks, Tricks and Resources presented at AnDevConII
Android Variants, Hacks, Tricks and Resources presented at AnDevConIIOpersys inc.
 
UplinQ - ubuntu linux on the qualcomm® snapdragon™ 600 processor
UplinQ - ubuntu linux on the qualcomm® snapdragon™ 600 processorUplinQ - ubuntu linux on the qualcomm® snapdragon™ 600 processor
UplinQ - ubuntu linux on the qualcomm® snapdragon™ 600 processorSatya Harish
 
LAS16-402: ARM Trusted Firmware – from Enterprise to Embedded
LAS16-402: ARM Trusted Firmware – from Enterprise to EmbeddedLAS16-402: ARM Trusted Firmware – from Enterprise to Embedded
LAS16-402: ARM Trusted Firmware – from Enterprise to EmbeddedLinaro
 
BKK16-105 HALs for LITE
BKK16-105 HALs for LITEBKK16-105 HALs for LITE
BKK16-105 HALs for LITELinaro
 
The Ultimate IBM and Lotus on Linux Workshop for Windows Admins
The Ultimate IBM and Lotus on Linux Workshop for Windows AdminsThe Ultimate IBM and Lotus on Linux Workshop for Windows Admins
The Ultimate IBM and Lotus on Linux Workshop for Windows AdminsBill Malchisky Jr.
 
[CNCF TAG-Runtime 2022-10-06] Lima
[CNCF TAG-Runtime 2022-10-06] Lima[CNCF TAG-Runtime 2022-10-06] Lima
[CNCF TAG-Runtime 2022-10-06] LimaAkihiro Suda
 
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
 

Similar to Armbian linux (20)

Building Embedded Linux Full Tutorial for ARM
Building Embedded Linux Full Tutorial for ARMBuilding Embedded Linux Full Tutorial for ARM
Building Embedded Linux Full Tutorial for ARM
 
Module 4 Embedded Linux
Module 4 Embedded LinuxModule 4 Embedded Linux
Module 4 Embedded Linux
 
Is Android the New Embedded Linux? at AnDevCon V
Is Android the New Embedded Linux? at AnDevCon VIs Android the New Embedded Linux? at AnDevCon V
Is Android the New Embedded Linux? at AnDevCon V
 
A Tour of Open Source on the Mainframe
A Tour of Open Source on the MainframeA Tour of Open Source on the Mainframe
A Tour of Open Source on the Mainframe
 
Is Android the New Embedded Linux? at AnDevCon VI
Is Android the New Embedded Linux? at AnDevCon VIIs Android the New Embedded Linux? at AnDevCon VI
Is Android the New Embedded Linux? at AnDevCon VI
 
LMG Lightning Talks - SFO17-205
LMG Lightning Talks - SFO17-205LMG Lightning Talks - SFO17-205
LMG Lightning Talks - SFO17-205
 
Introduction and course Details of Embedded Linux Platform Developer Training
Introduction and course Details of Embedded Linux Platform Developer TrainingIntroduction and course Details of Embedded Linux Platform Developer Training
Introduction and course Details of Embedded Linux Platform Developer Training
 
embedded-linux-120203.pdf
embedded-linux-120203.pdfembedded-linux-120203.pdf
embedded-linux-120203.pdf
 
Unikernel User Summit 2015: Getting started in unikernels using the rump kernel
Unikernel User Summit 2015: Getting started in unikernels using the rump kernelUnikernel User Summit 2015: Getting started in unikernels using the rump kernel
Unikernel User Summit 2015: Getting started in unikernels using the rump kernel
 
Embedded platform choices
Embedded platform choicesEmbedded platform choices
Embedded platform choices
 
Android Variants, Hacks, Tricks and Resources presented at AnDevConII
Android Variants, Hacks, Tricks and Resources presented at AnDevConIIAndroid Variants, Hacks, Tricks and Resources presented at AnDevConII
Android Variants, Hacks, Tricks and Resources presented at AnDevConII
 
UplinQ - ubuntu linux on the qualcomm® snapdragon™ 600 processor
UplinQ - ubuntu linux on the qualcomm® snapdragon™ 600 processorUplinQ - ubuntu linux on the qualcomm® snapdragon™ 600 processor
UplinQ - ubuntu linux on the qualcomm® snapdragon™ 600 processor
 
Embedded Operating System - Linux
Embedded Operating System - LinuxEmbedded Operating System - Linux
Embedded Operating System - Linux
 
Embedded Linux on ARM
Embedded Linux on ARMEmbedded Linux on ARM
Embedded Linux on ARM
 
LAS16-402: ARM Trusted Firmware – from Enterprise to Embedded
LAS16-402: ARM Trusted Firmware – from Enterprise to EmbeddedLAS16-402: ARM Trusted Firmware – from Enterprise to Embedded
LAS16-402: ARM Trusted Firmware – from Enterprise to Embedded
 
Embedded Linux on ARM
Embedded Linux on ARMEmbedded Linux on ARM
Embedded Linux on ARM
 
BKK16-105 HALs for LITE
BKK16-105 HALs for LITEBKK16-105 HALs for LITE
BKK16-105 HALs for LITE
 
The Ultimate IBM and Lotus on Linux Workshop for Windows Admins
The Ultimate IBM and Lotus on Linux Workshop for Windows AdminsThe Ultimate IBM and Lotus on Linux Workshop for Windows Admins
The Ultimate IBM and Lotus on Linux Workshop for Windows Admins
 
[CNCF TAG-Runtime 2022-10-06] Lima
[CNCF TAG-Runtime 2022-10-06] Lima[CNCF TAG-Runtime 2022-10-06] Lima
[CNCF TAG-Runtime 2022-10-06] Lima
 
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
 

Recently uploaded

Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...OnePlan Solutions
 
why an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfwhy an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfjoe51371421
 
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideBuilding Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideChristina Lin
 
Diamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionDiamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionSolGuruz
 
Test Automation Strategy for Frontend and Backend
Test Automation Strategy for Frontend and BackendTest Automation Strategy for Frontend and Backend
Test Automation Strategy for Frontend and BackendArshad QA
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsAlberto González Trastoy
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...harshavardhanraghave
 
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...stazi3110
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...MyIntelliSource, Inc.
 
Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...OnePlan Solutions
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsJhone kinadey
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsArshad QA
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxbodapatigopi8531
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfkalichargn70th171
 
Cloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackCloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackVICTOR MAESTRE RAMIREZ
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...ICS
 
Project Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanationProject Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanationkaushalgiri8080
 
Active Directory Penetration Testing, cionsystems.com.pdf
Active Directory Penetration Testing, cionsystems.com.pdfActive Directory Penetration Testing, cionsystems.com.pdf
Active Directory Penetration Testing, cionsystems.com.pdfCionsystems
 
Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)OPEN KNOWLEDGE GmbH
 

Recently uploaded (20)

Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
 
why an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfwhy an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdf
 
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideBuilding Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
 
Diamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionDiamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with Precision
 
Test Automation Strategy for Frontend and Backend
Test Automation Strategy for Frontend and BackendTest Automation Strategy for Frontend and Backend
Test Automation Strategy for Frontend and Backend
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
 
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
 
Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial Goals
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview Questions
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptx
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
 
Cloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackCloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStack
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
 
Call Girls In Mukherjee Nagar 📱 9999965857 🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
Call Girls In Mukherjee Nagar 📱  9999965857  🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...Call Girls In Mukherjee Nagar 📱  9999965857  🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
Call Girls In Mukherjee Nagar 📱 9999965857 🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
 
Project Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanationProject Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanation
 
Active Directory Penetration Testing, cionsystems.com.pdf
Active Directory Penetration Testing, cionsystems.com.pdfActive Directory Penetration Testing, cionsystems.com.pdf
Active Directory Penetration Testing, cionsystems.com.pdf
 
Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)
 

Armbian linux

  • 1. Linux for development boardsLinux for development boards Presented by: Igor PečovnikPresented by: Igor Pečovnik
  • 2. www.armbian.com 2 Little about me  Founder, maintainer & developer @Armbian  Small business entrepreneur  Hamradio & tinkerer enthusiast since childhood  Studied Math and computer science in mid 90’’  Linux since Slackware 1.0  Like to read philosophy and human science  Kids, light sport and strong beer
  • 3. www.armbian.com 3 Speech overview 1) Motives for start 2) Historical overview 3) Current infrastructure 4) Userspace introduction 5) Build engine overview
  • 4. www.armbian.com 4 1. Why project started?
  • 5. www.armbian.com 5 ● Personal need ● Disappointment ● Curiosity Why project started?
  • 8. www.armbian.com 8 ● Joined Cubieboards community ● Started messing with kernel for Cubietruck ● Collecting useful kernel patches ● Started working on a BASH build script ● Fell into a rapid development cycle First steps
  • 9. www.armbian.com 9 ● 24.12.2013 Debian Wheezy 1.0 Cubietruck Release notes: gigabit ethernet operational, sata driver enabled, root filesystem autoresize, MAC address fixed at first boot, Kernel 3.4.75, root password=1234. Bugs: wifi and BT not working First actual release
  • 10. www.armbian.com 10 ● Moving to Github ● Others started to join the project ● Supporting more boards: Banana, Lime, Cubox ● Added Ubuntu Trusty ● Images hosted on public servers ● Project hosting @A20 2014 – doing something
  • 11. www.armbian.com 11 ● Fun ● Curiosity ● Proud to be a maker 2014 - motivation
  • 12. www.armbian.com 12 ● No infrastructure ● No project name ● No stable kernels ● Few free boards ● Few special knowledge ● Few help from others 2014 - problems
  • 13. www.armbian.com 13 ● Dedicated domain ● 17 new boards ● Added Jessie, Xenial ● Dedicated download server ● Packages repository (aptly) ● Forums for technical support (IPS) ● Project hosting @Odroid XU4 2015 – armbian was born
  • 14. www.armbian.com 14 2015 – more knowhow more problems ✔ Old problems were solved ● Bad, false or nonexisting documentation ● Most ARM hw platforms has its own kernel & uboot ● Low code quality on initial board support packages / SDK ● Little to no support from chip and boards markers ● Too small group for the problems and users with little experience and high expectations
  • 15. www.armbian.com 15 ● 3D and accelerated video decoding on Allwinner boards ● Arm64, 24 new boards in 2016 and another 14 in 2017 ● Torrent download options ● First notebook support ● Moving to github.com/armbian ● Dedicated build server ● Added twitter/armbian ● Project hosting went to highend servers 2016 – 2017 steady growth
  • 16. www.armbian.com 16 2016 – 2017 problems are mounting up ● Most previous problems remain unsolved ● Strong pressure on our support ● Users failing to use prepared documentation ● Unrealistic users expectations ● Donations does not follow project expansion ● Supporting 59 boards and new keep comming
  • 17. www.armbian.com 17 ● We are admired :) ● Armbian become defacto standard Linux on SBC ● Project might create jobs 2016 - 2017 motivation
  • 19. www.armbian.com 19 Current infrastructure ● Core project developers ● Project website ● Forums for end user support ● Twitter @armbian (in making), IRC (making #armbian official) ● Download server with torrent capabilities ● Code repository, bug tracker for build script & kernels and documentation: Github ● Organized manually testing just before release.
  • 21. www.armbian.com 21 ● Debian or Ubuntu based ● XFCE based desktop with Chromium or CLI ● Serial console enabled on all boards ● Password change is forced, user creation optional at first login ● Auto filesystem expand ● Wireless up and ready to connect Userspace
  • 22. www.armbian.com 22 ● Reduced write frequency: memory for logging, Chromium cache and profile. Cron sync and on shutdown. Increased fs flushing interval ● Headers and build essentials are installed by default - adding 3rd party kernel module is quick and simple ● Unified boot with ramdisk, UUID (Universally unique identifier) on most and DT overlay support in making ● Optimised DVFS (Dynamic voltage and frequency scaling) to achieve best thermal / performance ratio (kernel) ● Enabled Docker support where possible (kernel) Optimisations
  • 23. www.armbian.com 23 ● Armbianmonitor. Base tool when seeking support. Installs Rpi web based monitoring, CPU miner, checks SD card speed ● H3consumption – provides various tweaks to bring down consumtion to insane low values. Limit CPU core count, DRAM speed, disabling video out, … ● Dialog driven configuration utility for inexperienced users Utilities
  • 24. www.armbian.com 24 ● Failed to read warnings and documentation ● Failed to understand powering issues (microUSB) ● Usage of old, low cost or fake SD cards ● Lack of basic Linux knowledge ● Unrealistic expectations Users problems
  • 26. www.armbian.com 26 Build engine overview ● Language: bash, 3000+ commits, Cross compilation only (speed) ● It needs native Ubuntu X64, fully virtualized (kvm,virtualbox) or containerised (docker) ● More than 50 board configurations ● 19 source configs with up to 3 kernel/u-boot branches for each SoC ● 6 different external compilers from Linaro. Each source has a variable to set the compiler version. ● Menu or parameter driven
  • 28. www.armbian.com 28 Build engine optimizations ● apt-cacher for caching packages ● Userspace remain cached (lz4) after debootstrap ● Using compiler cache (CCACHE) ● Building images in memory ● Second build is done in few minutes
  • 29. www.armbian.com 29 Adding new board ● Create a board configuration with boot loader config, available kernel branches, modules to load, ... ● Add to or define a new family. Define u-boot, kernel sources and build targets, per board customisation scripts, ... ● Add patches to u-boot and kernel if needed ● Make few tests and create a pull request to share your work
  • 30. www.armbian.com 30 Speech summary 1) Motives for start 2) Historical overview 3) Current infrastructure 4) Userspace introduction 5) Build engine overview
  • 32. www.armbian.com 32 Thank you for your attention! @armbian