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

Similar to GNU/Linux for embedded system (20)

PPT
I Love Linux - Pawel Zorzan Urban & Bocelli Davide
Pawel Zorzan Urban
 
PDF
CodingGym - Lezione 1 - Corso Linux, Android e Internet of Things
Mirko Mancin
 
PDF
Linux Embedded per l'automazione
Daniele Costarella
 
PDF
PIT2012: Workshop@UniNA - Compilazione del Kernel Linux
Marco Ferrigno
 
PDF
Understanding Linux
NaLUG
 
PDF
Linux@Unina
NaLUG
 
PDF
TuxIsAlive
Claudio Mignanti
 
ODP
Corso linux base
Beniamino Ferrari
 
ODP
Hardware Libero - Linux Day 2007
pino_otto
 
PDF
Understanding Linux: 20 anni di kernel tra storia e tecnica
Marco Ferrigno
 
PDF
Elio Tondo - Linux In Azienda
Better Software
 
PDF
Linux & Open Source : Lezione Tre
Dario Mazza
 
PDF
Lezione tre
Sebastiano Merlino (eTr)
 
PDF
01 linux corso teoria
vincenzo cervi
 
PDF
Amministrazione base dei sistemi Linux
Paolo Campegiani
 
PDF
Linux nelle PMI
vittoriomz
 
ODP
Un pinguino per amico
marcolinux
 
ODT
Distro linux
Alessandro Costa
 
PDF
2013 pillole 02
Vincenzo Lxcc Linux
 
I Love Linux - Pawel Zorzan Urban & Bocelli Davide
Pawel Zorzan Urban
 
CodingGym - Lezione 1 - Corso Linux, Android e Internet of Things
Mirko Mancin
 
Linux Embedded per l'automazione
Daniele Costarella
 
PIT2012: Workshop@UniNA - Compilazione del Kernel Linux
Marco Ferrigno
 
Understanding Linux
NaLUG
 
Linux@Unina
NaLUG
 
TuxIsAlive
Claudio Mignanti
 
Corso linux base
Beniamino Ferrari
 
Hardware Libero - Linux Day 2007
pino_otto
 
Understanding Linux: 20 anni di kernel tra storia e tecnica
Marco Ferrigno
 
Elio Tondo - Linux In Azienda
Better Software
 
Linux & Open Source : Lezione Tre
Dario Mazza
 
01 linux corso teoria
vincenzo cervi
 
Amministrazione base dei sistemi Linux
Paolo Campegiani
 
Linux nelle PMI
vittoriomz
 
Un pinguino per amico
marcolinux
 
Distro linux
Alessandro Costa
 
2013 pillole 02
Vincenzo Lxcc Linux
 

More from Marco Ferrigno (9)

PDF
The DevOps paradigm - the evolution of IT professionals and opensource toolkit
Marco Ferrigno
 
PDF
Hack the whale
Marco Ferrigno
 
PDF
Linux Security Hardening - panoramica sui principi generali per la riduzione...
Marco Ferrigno
 
PDF
Programma il futuro: una scelta open source
Marco Ferrigno
 
PDF
La complessità del malware: analisi strutturale ed ambienti di sviluppo
Marco Ferrigno
 
PDF
Data hiding - metodologie e strumenti open source
Marco Ferrigno
 
PDF
Security and hacking engineering - metodologie di attacco e difesa con strume...
Marco Ferrigno
 
PDF
Digital Forensics: metodologie analisi multipiattaforma
Marco Ferrigno
 
ODP
Cyber Forensics - Acquisizione e analisi dei dati
Marco Ferrigno
 
The DevOps paradigm - the evolution of IT professionals and opensource toolkit
Marco Ferrigno
 
Hack the whale
Marco Ferrigno
 
Linux Security Hardening - panoramica sui principi generali per la riduzione...
Marco Ferrigno
 
Programma il futuro: una scelta open source
Marco Ferrigno
 
La complessità del malware: analisi strutturale ed ambienti di sviluppo
Marco Ferrigno
 
Data hiding - metodologie e strumenti open source
Marco Ferrigno
 
Security and hacking engineering - metodologie di attacco e difesa con strume...
Marco Ferrigno
 
Digital Forensics: metodologie analisi multipiattaforma
Marco Ferrigno
 
Cyber Forensics - Acquisizione e analisi dei dati
Marco Ferrigno
 
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: [email protected]