SlideShare a Scribd company logo
A cura di Marco Ferrigno
GNU/Linux per sistemi embedded
in parole povere: un pinguino on board!
Linux Presentation Day && Open Hardware Day 2016
#lpd16 #lpdna16 #ohwd16 || @marco_ferrigno
Prerequisiti:
sapere cosa sia un kernel Linux
avere dimestichezza con gli elettrodomestici!
Cosa impareremo:
Che siamo invasi da pinguini!
Propedeuticità ed obiettiviPropedeuticità ed obiettivi
Perché sono cosi forti:In principio …In principio …
“Sono convinto che l'informatica abbia molto in
comune con la fisica.
Entrambe si occupano di come funziona il mondo
a un livello abbastanza fondamentale.
La differenza, naturalmente, è che mentre in fisica
devi capire come è fatto il mondo, in informatica
sei tu a crearlo.
Dentro i confini del computer, sei tu il creatore.
Controlli – almeno potenzialmente – tutto ciò che
vi succede.
Se sei abbastanza bravo, puoi essere un dio.
Su piccola scala.”
- Linus Benedict Torvalds
Perché sono cosi forti:embed ...chè?embed ...chè?
Un sistema embedded è un sistema
elettronico special purpose, ovvero
progettato e programmato per una
determinata applicazione e/o funzione.
Possono essere di svariate tipologie e
dimensioni ed è possibile, generalmente,
catalogarli per:
- tipo di microprocessore
- tipo di sistema operativo
- tipo di software
- tipo di funzione
Perché sono cosi forti:Esempi praticiEsempi pratici
Perché sono cosi forti:… e il software?… e il software?
Su microcontroller semplici, tipicamente opera un singolo
programma di pochi byte, il cui compito è principalmente
monitorare lo stato delle porte di I/O.
Su ambienti complessi possono trovare
applicazione i medesimi sistemi operativi
impiegati comunemente per scopi generali (con le
dovute personalizzazioni) oppure più specializzati
per gestire eventi in sistema operativo real-time o
estremamente specializzati e non disponibili sul
mercato
Ebbene ...
Perché sono cosi forti:Versatilità e adattamentoVersatilità e adattamento
Esempi pioneristici:
Perché sono cosi forti:Hw & Sw: scelte architetturaliHw & Sw: scelte architetturali
Perché sono cosi forti:Linux Embedded from scratchLinux Embedded from scratch
Costruiamocelo!
Focus obiettivi – allora, che si fa?
Boot loader – flessibilità: può essere utile
File system – quale scelgo?
Moduli – solo quelli che servono
Shell – default, può bastare?
Librerie – idem come moduli
Ulteriori packages – cfr focus obiettivi
Finito l'entry level mode ...
Perché sono cosi forti:Qualche dettaglio in piùQualche dettaglio in più
Costruiamocelo [quasi hardcore version]
Cross-compilazione
Architettura del processore
Boot loader: uno sguardo dettagliato
- APEX
- Barebox / U-boot
- Blob
- coreboot
- Kexecboot
- Micromonitor
- RedBoot (Red Hat Embedded Debug and Bootstrap firmware)
Kernel – attenzione ai dettagli: block layer, I/O scheduler
Initramfs – tutto ciò che c'è tra bootloader e init
GNU/Linux for embedded system
Perché sono cosi forti:ToolsTools
Toolschains: set di strumenti utili alla compilazione di codice per sistemi
embedded:
Binutils
Compilatori:
- C
- C++
- Java
- Ada
- Fortran
- Objective-C
Librerie C
Debugger
Free Pascal e Lazarus
Perché sono cosi forti:The swiss army: BusyBoxThe swiss army: BusyBox
BusyBox può fornire la maggior parte delle utility menzionate
nella Single UNIX Specification.
Originariamente scritto da Bruce Perens, nel 1996, lo scopo di
BusyBox era di mettere un sistema completo su un solo floppy
che sarebbe stato sia un rescue disk sia un installer per la
distribuzione Debian GNU/Linux.
È divenuto poi uno standard de facto per i dispositivi Linux
embedded e nella installazione delle distribuzioni.
Perché sono cosi forti:Il valore della communityIl valore della community
Con la disponibilità e l'aumentare dei dispositivi consumer, si sono formate molte
comunità di utenti e sviluppatori afferenti ai suddetti.
Gli interventi di ordinaria manutenzione e/o miglioramenti del kernel Linux su uno
specifico dispositivo è stato quindi reso possibile grazie alla disponibilità del codice
sorgente e alla volontà delle community.
Dato l'elevato numero di dispositivi, sono stati istituiti diversi sistemi di compilazione,
framework e distribuzioni tra cui: Yocto , OpenEmbedded , Buildroot , OpenWrt , LTIB.
Perché sono cosi forti:FocusFocus
workgroup della Linux Foundation dedicato alla realizzazione di tools per la creazione e
la messa in opera di una distribuzione Linux per sistemi embedded.
Allineatosi al progetto OpenEmbedded, forma con quest'ultimo l'OpenEmbedded-Core
Project
Framework per la costruzione di una distribuzione Linux per sistemi
embedded.
E' basata su un sistema di building chiamato BitBake a sua volta basata
su Gentoo
Perché sono cosi forti:Yocto + GENIVI: Automotive LinuxYocto + GENIVI: Automotive Linux
Perché sono cosi forti:that's all folkthat's all folk
… non proprio ...
Perché sono cosi forti:contatticontatti
Marco Ferrigno - @marco_ferrigno
- IT Infrastructure Engineer e IT Security Manager per il progetto Programma il Futuro (MIUR-CINI)
- Amazon Web Services SysOps Administrator @ VMEngine
- Security advisor for vulnerability assessment @ #entepubblico
- Developer of the Italian Debian GNU/Linux HowTos
- SailfishOS Early Adopter
- NaLUG (Napoli Linux Users Group) member #machimelohafattofare!
- ICTTF (International Cyber Threat Task Force) member
- Supporter @ Digital Champions Napoli
https://marcoferrigno.wordpress.com
mailto: marcoferrigno@cryptolab.net

More Related Content

ODP
LinuxDay 2005 - Linux e FS - Storia e caratteristiche vincenti - versione rid...
KEY
FLOSS: Free Software e Open Source
ODP
Linux e fs storia e caratteristiche vincenti
ODP
E va bene, passo a Linux. Da dove inizio?
ODP
Linux e fs - Storia e caratteristiche vincenti
ODP
Linux e Free Software - Storia e caratteristiche vincenti
ODP
Ubuntu Linux
ODP
Ubuntu Linux - Corso Base
LinuxDay 2005 - Linux e FS - Storia e caratteristiche vincenti - versione rid...
FLOSS: Free Software e Open Source
Linux e fs storia e caratteristiche vincenti
E va bene, passo a Linux. Da dove inizio?
Linux e fs - Storia e caratteristiche vincenti
Linux e Free Software - Storia e caratteristiche vincenti
Ubuntu Linux
Ubuntu Linux - Corso Base

Similar to GNU/Linux for embedded system (20)

PDF
CodingGym - Lezione 1 - Corso Linux, Android e Internet of Things
ODP
Corso linux base
PDF
Fabio Riccio - Un'esperienza di free-software nelle scuole
PDF
La Unix Way vista da un DevOps
ODP
Linux per la Computer Forensics: i motivi di una scelta
PDF
Come dove perchè? Ubuntu!
PPTX
Da Thompson a Torvalds: passato, presente e futuro del mondo *nix
PDF
Linux & Tools: per la piccola azienda e i freelance
ODP
Free software & Open Source (FLOSS)
PDF
Foss ieri e oggi
PDF
Amministrazione base dei sistemi Linux
PPT
Beni Culturali 2.1 Introduzione Os
PDF
ArduinoDay17 - Creazione di un piccolo supercomputer con Raspberry PI per cal...
PDF
Corso Linux
PDF
Introduzione ad ubuntu core
PDF
The performance of microkernel based system
PDF
Hardening
PDF
Linux Security Hardening - panoramica sui principi generali per la riduzione...
CodingGym - Lezione 1 - Corso Linux, Android e Internet of Things
Corso linux base
Fabio Riccio - Un'esperienza di free-software nelle scuole
La Unix Way vista da un DevOps
Linux per la Computer Forensics: i motivi di una scelta
Come dove perchè? Ubuntu!
Da Thompson a Torvalds: passato, presente e futuro del mondo *nix
Linux & Tools: per la piccola azienda e i freelance
Free software & Open Source (FLOSS)
Foss ieri e oggi
Amministrazione base dei sistemi Linux
Beni Culturali 2.1 Introduzione Os
ArduinoDay17 - Creazione di un piccolo supercomputer con Raspberry PI per cal...
Corso Linux
Introduzione ad ubuntu core
The performance of microkernel based system
Hardening
Linux Security Hardening - panoramica sui principi generali per la riduzione...
Ad

More from Marco Ferrigno (10)

PDF
The DevOps paradigm - the evolution of IT professionals and opensource toolkit
PDF
Hack the whale
PDF
Programma il futuro: una scelta open source
PDF
La complessità del malware: analisi strutturale ed ambienti di sviluppo
PDF
Data hiding - metodologie e strumenti open source
PDF
Security and hacking engineering - metodologie di attacco e difesa con strume...
PDF
PIT2012: Workshop@UniNA - Compilazione del Kernel Linux
PDF
Digital Forensics: metodologie analisi multipiattaforma
PDF
Understanding Linux: 20 anni di kernel tra storia e tecnica
ODP
Cyber Forensics - Acquisizione e analisi dei dati
The DevOps paradigm - the evolution of IT professionals and opensource toolkit
Hack the whale
Programma il futuro: una scelta open source
La complessità del malware: analisi strutturale ed ambienti di sviluppo
Data hiding - metodologie e strumenti open source
Security and hacking engineering - metodologie di attacco e difesa con strume...
PIT2012: Workshop@UniNA - Compilazione del Kernel Linux
Digital Forensics: metodologie analisi multipiattaforma
Understanding Linux: 20 anni di kernel tra storia e tecnica
Cyber Forensics - Acquisizione e analisi dei dati
Ad

GNU/Linux for embedded system

  • 1. A cura di Marco Ferrigno GNU/Linux per sistemi embedded in parole povere: un pinguino on board! Linux Presentation Day && Open Hardware Day 2016 #lpd16 #lpdna16 #ohwd16 || @marco_ferrigno
  • 2. Prerequisiti: sapere cosa sia un kernel Linux avere dimestichezza con gli elettrodomestici! Cosa impareremo: Che siamo invasi da pinguini! Propedeuticità ed obiettiviPropedeuticità ed obiettivi
  • 3. Perché sono cosi forti:In principio …In principio … “Sono convinto che l'informatica abbia molto in comune con la fisica. Entrambe si occupano di come funziona il mondo a un livello abbastanza fondamentale. La differenza, naturalmente, è che mentre in fisica devi capire come è fatto il mondo, in informatica sei tu a crearlo. Dentro i confini del computer, sei tu il creatore. Controlli – almeno potenzialmente – tutto ciò che vi succede. Se sei abbastanza bravo, puoi essere un dio. Su piccola scala.” - Linus Benedict Torvalds
  • 4. Perché sono cosi forti:embed ...chè?embed ...chè? Un sistema embedded è un sistema elettronico special purpose, ovvero progettato e programmato per una determinata applicazione e/o funzione. Possono essere di svariate tipologie e dimensioni ed è possibile, generalmente, catalogarli per: - tipo di microprocessore - tipo di sistema operativo - tipo di software - tipo di funzione
  • 5. Perché sono cosi forti:Esempi praticiEsempi pratici
  • 6. Perché sono cosi forti:… e il software?… e il software? Su microcontroller semplici, tipicamente opera un singolo programma di pochi byte, il cui compito è principalmente monitorare lo stato delle porte di I/O. Su ambienti complessi possono trovare applicazione i medesimi sistemi operativi impiegati comunemente per scopi generali (con le dovute personalizzazioni) oppure più specializzati per gestire eventi in sistema operativo real-time o estremamente specializzati e non disponibili sul mercato Ebbene ...
  • 7. Perché sono cosi forti:Versatilità e adattamentoVersatilità e adattamento Esempi pioneristici:
  • 8. Perché sono cosi forti:Hw & Sw: scelte architetturaliHw & Sw: scelte architetturali
  • 9. Perché sono cosi forti:Linux Embedded from scratchLinux Embedded from scratch Costruiamocelo! Focus obiettivi – allora, che si fa? Boot loader – flessibilità: può essere utile File system – quale scelgo? Moduli – solo quelli che servono Shell – default, può bastare? Librerie – idem come moduli Ulteriori packages – cfr focus obiettivi Finito l'entry level mode ...
  • 10. Perché sono cosi forti:Qualche dettaglio in piùQualche dettaglio in più Costruiamocelo [quasi hardcore version] Cross-compilazione Architettura del processore Boot loader: uno sguardo dettagliato - APEX - Barebox / U-boot - Blob - coreboot - Kexecboot - Micromonitor - RedBoot (Red Hat Embedded Debug and Bootstrap firmware) Kernel – attenzione ai dettagli: block layer, I/O scheduler Initramfs – tutto ciò che c'è tra bootloader e init
  • 12. Perché sono cosi forti:ToolsTools Toolschains: set di strumenti utili alla compilazione di codice per sistemi embedded: Binutils Compilatori: - C - C++ - Java - Ada - Fortran - Objective-C Librerie C Debugger Free Pascal e Lazarus
  • 13. Perché sono cosi forti:The swiss army: BusyBoxThe swiss army: BusyBox BusyBox può fornire la maggior parte delle utility menzionate nella Single UNIX Specification. Originariamente scritto da Bruce Perens, nel 1996, lo scopo di BusyBox era di mettere un sistema completo su un solo floppy che sarebbe stato sia un rescue disk sia un installer per la distribuzione Debian GNU/Linux. È divenuto poi uno standard de facto per i dispositivi Linux embedded e nella installazione delle distribuzioni.
  • 14. Perché sono cosi forti:Il valore della communityIl valore della community Con la disponibilità e l'aumentare dei dispositivi consumer, si sono formate molte comunità di utenti e sviluppatori afferenti ai suddetti. Gli interventi di ordinaria manutenzione e/o miglioramenti del kernel Linux su uno specifico dispositivo è stato quindi reso possibile grazie alla disponibilità del codice sorgente e alla volontà delle community. Dato l'elevato numero di dispositivi, sono stati istituiti diversi sistemi di compilazione, framework e distribuzioni tra cui: Yocto , OpenEmbedded , Buildroot , OpenWrt , LTIB.
  • 15. Perché sono cosi forti:FocusFocus workgroup della Linux Foundation dedicato alla realizzazione di tools per la creazione e la messa in opera di una distribuzione Linux per sistemi embedded. Allineatosi al progetto OpenEmbedded, forma con quest'ultimo l'OpenEmbedded-Core Project Framework per la costruzione di una distribuzione Linux per sistemi embedded. E' basata su un sistema di building chiamato BitBake a sua volta basata su Gentoo
  • 16. Perché sono cosi forti:Yocto + GENIVI: Automotive LinuxYocto + GENIVI: Automotive Linux
  • 17. Perché sono cosi forti:that's all folkthat's all folk … non proprio ...
  • 18. Perché sono cosi forti:contatticontatti Marco Ferrigno - @marco_ferrigno - IT Infrastructure Engineer e IT Security Manager per il progetto Programma il Futuro (MIUR-CINI) - Amazon Web Services SysOps Administrator @ VMEngine - Security advisor for vulnerability assessment @ #entepubblico - Developer of the Italian Debian GNU/Linux HowTos - SailfishOS Early Adopter - NaLUG (Napoli Linux Users Group) member #machimelohafattofare! - ICTTF (International Cyber Threat Task Force) member - Supporter @ Digital Champions Napoli https://marcoferrigno.wordpress.com mailto: marcoferrigno@cryptolab.net