SlideShare uma empresa Scribd logo
1 de 11
Baixar para ler offline
Embedded Systems and
    Gentoo Linux: An
 Introduction/Overview
          Stephen L Arnold
       Gentoo Linux Developer
 Sci, powerpc, dev-tools, comm-fax
                herds
  CCLUG meeting, March 31, 2006

stephen.arnold@acm.org   nerdboy@gentoo.org
Embedded Devices

    What is an embedded device?
• Router-like devices: Linksys WRT54G/GL
• NAS-like devices: Kurobox/LinkStation, NSLU-2
• PDA/Phone-like devices (with or without Linux pre-
  installed)
  • Sharp Zaurus: 5000-D, 5500, C-x00, etc
  • Various iPaq models
  • Nokia 770

• Basically, anything with a processor and flash
  memory
SBCs and Eval Kits
• Single Board Computers are simply smaller and
  more integrated system boards
  • Fewer I/O ports and peripheral connectors
  • Smaller footprint, lower power consumption
  • Sometimes fixed components (e.g, CPU, memory)
  • Various flash memory/EEPROM chips
  • Multiple architectures (x86, PowerPC, ARM, MIPS, SH)

• Evaluation Kits
  • An example board/CPU combination
  • Additional hardware (eg, serial I/O)
  • Embedded development kit
     • Example: http://www.denx.de/wiki/DULG/ELDK
Hacking Embedded Devices
• Remote login or web browser interface
• Find a way in:
  • Telnet, http, etc

• Get the developer kit
  • Check Google and known vendor sites
  • Has someone already done it?

• Assimilate the developer materials
• Reverse-engineer it
• Build your own ROM (aka Linux from Scratch)
• Use your knowledge and Gentoo resources
  • Embedded stages, crossdev, portage
Gentoo Embedded
• Stages for multiple arches, C libraries, shell
  environments
• Crossdev script for building custom cross-
  compiling toolchains (binutils, gcc, glibc/uclibc,
  kernel-headers)
• Leveraging portage – e.g., the gensoekris
  meta-ebuild
   • http://dev.gentoo.org/~solar/embedded/local/local/ne
     t-wireless/gensoekris/gensoekris-0.0.8.ebuild
• Use Qemu to run arch-specific fs images
   • Supports several arches at various levels
   • See http://wiki.qemu.org/download/qemu-doc.html
Install Gentoo on the Device
• Use a working linux distribution and get the patches
  and any required daemons in order to get Gentoo
  working on the device
  • Get any required source code, drivers/patches, and kernel
    source
  • Make some new ebuilds (integrate patches, etc) or update
    the ones in portage to be compatible with the device
  • Make a new profile (ie, look for an appropriate parent
    profile and customize USE, packages, etc)
• Use crossdev and chroot to build an install image
• Adapt your Gentoo install to a reasonable size in
  case of limited storage space
• In many cases you can just follow a nominal Gentoo
  installation method
General Caveats
• Flash memory layout
  • Where the heck do I copy my kernel and root
    filesystem image?
• Boot-loader support
  • How the heck do I get this thing to boot my kernel?

• Serial console
  • How the heck do I login to this thing?

• Coming soon to a portage mirror near you
  • U-boot and mkImage tools
Embedded Resources
• Gentoo Embedded Project
  • http://gentoo-wiki.com/Embedded_Gentoo
  • http://dev.gentoo.org/~vapier/CROSS-COMPILE-HOWTO

• Embedded Linux
  • http://elinux.org/wiki/FrontPage
  • http://www.denx.de/wiki/DULG/WebHome

• Specific devices and boards
  • http://openzaurus.org/wordpress/
  • http://www.nslu2-linux.org/
  • http://www.kurobox.com/
  • http://wiki.openwrt.org/OpenWrtDocs
  • http://supernova.stanford.edu/dingdong/
Try out Gentoo Linux
• Download from http://www.gentoo.org
   • Gentoo Weekly Minimal Install CD and Stages
      • alpha, amd64, arm, hppa, ia64, ppc, s390, sh,
        sparc, x86
   • LiveDVD for x86 and amd64 (last released Oct 10,
     2009)
   • Old Universal Install CD (hppa only)

• Experimental images and stages for embedded
  and other applications
• All live CDs are both install and rescue CDs
  (larger images boot to a graphical desktop)
Gentoo Documentation
             http://www.gentoo.org/doc/
•   Gentoo Handbook
•   Installation, FAQs
•   Portage user manual
•   USE flags, ENV.D, Security guide
•   Desktop configuration guide, rc-scripts, ALSA,
    DRI, Java
•   AFS, OpenMosix, Diskless/LTSP, Printing, UML,
    IPv6, Virtual Mailhost
•   Developer documentation
    • Ebuild creation, eclass
    • Documentation guide (XML syntax)
This work is an original work by Stephen Arnold
<stephen.arnold@acm.org>

<http://www.gentoogeek.org>
Portions copyright 2006 Stephen L Arnold. Some rights reserved.

The Gentoo Linux logo is Copyright 2006 Gentoo Foundation, used with
permission.

This work is licensed under the Creative Commons Attribution-
NonCommercial-ShareAlike License. To view a copy of this license, visit
<http://creativecommons.org/licenses/by-nc-sa/1.0> or send a letter to
Creative Commons, 559 Nathan Abbott Way, Stanford, California 94305,
USA.

Please contact Stephen Arnold <stephen.arnold@acm.org>
for commercial uses of this work.

Mais conteúdo relacionado

Mais procurados

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
 
Distro Recipes 2013 : Introduction to Arch Linux: a simple, rolling-release d...
Distro Recipes 2013 : Introduction to Arch Linux: a simple, rolling-release d...Distro Recipes 2013 : Introduction to Arch Linux: a simple, rolling-release d...
Distro Recipes 2013 : Introduction to Arch Linux: a simple, rolling-release d...Anne Nicolas
 
Extending bhyve beyond FreeBSD guests - EuroBSDCon 2013
Extending bhyve beyond FreeBSD guests - EuroBSDCon 2013Extending bhyve beyond FreeBSD guests - EuroBSDCon 2013
Extending bhyve beyond FreeBSD guests - EuroBSDCon 2013bsdvirt
 
Debian & the BeagleBone Black
Debian & the BeagleBone BlackDebian & the BeagleBone Black
Debian & the BeagleBone BlackRaju Vindane
 
How to get free Wi-Fi in a whole City
How to get free Wi-Fi in a whole CityHow to get free Wi-Fi in a whole City
How to get free Wi-Fi in a whole CityYurii Bilyk
 
A brief look at Linux &amp; Ubuntu
A brief look at Linux &amp; UbuntuA brief look at Linux &amp; Ubuntu
A brief look at Linux &amp; UbuntuSteve Shinn
 
Course 101: Lecture 6: Installing Ubuntu
Course 101: Lecture 6: Installing Ubuntu Course 101: Lecture 6: Installing Ubuntu
Course 101: Lecture 6: Installing Ubuntu Ahmed El-Arabawy
 
Introduction to Free and Open Source Software - August 2005
Introduction to Free and Open Source Software - August 2005Introduction to Free and Open Source Software - August 2005
Introduction to Free and Open Source Software - August 2005Saleem Ansari
 
R0boCamp2016 Гліб Вінніков Home automation by ESP8266
R0boCamp2016  Гліб Вінніков  Home automation by ESP8266R0boCamp2016  Гліб Вінніков  Home automation by ESP8266
R0boCamp2016 Гліб Вінніков Home automation by ESP8266Lviv Startup Club
 
Fundamentals of Linux Privilege Escalation
Fundamentals of Linux Privilege EscalationFundamentals of Linux Privilege Escalation
Fundamentals of Linux Privilege Escalationnullthreat
 
Singularity: The Inner Workings of Securely Running User Containers on HPC Sy...
Singularity: The Inner Workings of Securely Running User Containers on HPC Sy...Singularity: The Inner Workings of Securely Running User Containers on HPC Sy...
Singularity: The Inner Workings of Securely Running User Containers on HPC Sy...inside-BigData.com
 
Exploring the ABC's of Raspberry Pi with Python
Exploring the ABC's of Raspberry Pi with PythonExploring the ABC's of Raspberry Pi with Python
Exploring the ABC's of Raspberry Pi with PythonShahed Mehbub
 
Connecting Hardware to the Web with the BeagleBone
Connecting Hardware to the Web with the BeagleBoneConnecting Hardware to the Web with the BeagleBone
Connecting Hardware to the Web with the BeagleBoneFrank Hunleth
 
Up and running with Raspberry Pi
Up and running with Raspberry PiUp and running with Raspberry Pi
Up and running with Raspberry PiShahed Mehbub
 
See Hudson Run, Run Hudson, Run [SELF 2010]
See Hudson Run, Run Hudson, Run [SELF 2010]See Hudson Run, Run Hudson, Run [SELF 2010]
See Hudson Run, Run Hudson, Run [SELF 2010]Vincent Batts
 
Exploring the abc's of raspberry pi and python(day 2)
Exploring the abc's of raspberry pi and python(day 2)Exploring the abc's of raspberry pi and python(day 2)
Exploring the abc's of raspberry pi and python(day 2)Shahed Mehbub
 

Mais procurados (20)

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
 
Distro Recipes 2013 : Introduction to Arch Linux: a simple, rolling-release d...
Distro Recipes 2013 : Introduction to Arch Linux: a simple, rolling-release d...Distro Recipes 2013 : Introduction to Arch Linux: a simple, rolling-release d...
Distro Recipes 2013 : Introduction to Arch Linux: a simple, rolling-release d...
 
Extending bhyve beyond FreeBSD guests - EuroBSDCon 2013
Extending bhyve beyond FreeBSD guests - EuroBSDCon 2013Extending bhyve beyond FreeBSD guests - EuroBSDCon 2013
Extending bhyve beyond FreeBSD guests - EuroBSDCon 2013
 
Debian & the BeagleBone Black
Debian & the BeagleBone BlackDebian & the BeagleBone Black
Debian & the BeagleBone Black
 
How to get free Wi-Fi in a whole City
How to get free Wi-Fi in a whole CityHow to get free Wi-Fi in a whole City
How to get free Wi-Fi in a whole City
 
A brief look at Linux &amp; Ubuntu
A brief look at Linux &amp; UbuntuA brief look at Linux &amp; Ubuntu
A brief look at Linux &amp; Ubuntu
 
Course 101: Lecture 6: Installing Ubuntu
Course 101: Lecture 6: Installing Ubuntu Course 101: Lecture 6: Installing Ubuntu
Course 101: Lecture 6: Installing Ubuntu
 
Introduction to Free and Open Source Software - August 2005
Introduction to Free and Open Source Software - August 2005Introduction to Free and Open Source Software - August 2005
Introduction to Free and Open Source Software - August 2005
 
R0boCamp2016 Гліб Вінніков Home automation by ESP8266
R0boCamp2016  Гліб Вінніков  Home automation by ESP8266R0boCamp2016  Гліб Вінніков  Home automation by ESP8266
R0boCamp2016 Гліб Вінніков Home automation by ESP8266
 
Buntu
BuntuBuntu
Buntu
 
Fundamentals of Linux Privilege Escalation
Fundamentals of Linux Privilege EscalationFundamentals of Linux Privilege Escalation
Fundamentals of Linux Privilege Escalation
 
BeagleBone Workshop
BeagleBone WorkshopBeagleBone Workshop
BeagleBone Workshop
 
BusyBox for Embedded Linux
BusyBox for Embedded LinuxBusyBox for Embedded Linux
BusyBox for Embedded Linux
 
Singularity: The Inner Workings of Securely Running User Containers on HPC Sy...
Singularity: The Inner Workings of Securely Running User Containers on HPC Sy...Singularity: The Inner Workings of Securely Running User Containers on HPC Sy...
Singularity: The Inner Workings of Securely Running User Containers on HPC Sy...
 
Exploring the ABC's of Raspberry Pi with Python
Exploring the ABC's of Raspberry Pi with PythonExploring the ABC's of Raspberry Pi with Python
Exploring the ABC's of Raspberry Pi with Python
 
Polstra 44con2012
Polstra 44con2012Polstra 44con2012
Polstra 44con2012
 
Connecting Hardware to the Web with the BeagleBone
Connecting Hardware to the Web with the BeagleBoneConnecting Hardware to the Web with the BeagleBone
Connecting Hardware to the Web with the BeagleBone
 
Up and running with Raspberry Pi
Up and running with Raspberry PiUp and running with Raspberry Pi
Up and running with Raspberry Pi
 
See Hudson Run, Run Hudson, Run [SELF 2010]
See Hudson Run, Run Hudson, Run [SELF 2010]See Hudson Run, Run Hudson, Run [SELF 2010]
See Hudson Run, Run Hudson, Run [SELF 2010]
 
Exploring the abc's of raspberry pi and python(day 2)
Exploring the abc's of raspberry pi and python(day 2)Exploring the abc's of raspberry pi and python(day 2)
Exploring the abc's of raspberry pi and python(day 2)
 

Destaque

Peninsula seniors pg workshop power point
Peninsula seniors pg workshop power pointPeninsula seniors pg workshop power point
Peninsula seniors pg workshop power pointtzajac2792
 
Boletín Informativo Agosto - Organizaciones políticas aprobadas para eleccion...
Boletín Informativo Agosto - Organizaciones políticas aprobadas para eleccion...Boletín Informativo Agosto - Organizaciones políticas aprobadas para eleccion...
Boletín Informativo Agosto - Organizaciones políticas aprobadas para eleccion...Dra. Roxana Silva Ch.
 
XII Jornada DESIGUALDADES SOCIALES y SALUD
XII Jornada DESIGUALDADES SOCIALES y SALUD XII Jornada DESIGUALDADES SOCIALES y SALUD
XII Jornada DESIGUALDADES SOCIALES y SALUD Rafa Cofiño
 
Feng Shui Fitness signup form green
Feng Shui Fitness signup form greenFeng Shui Fitness signup form green
Feng Shui Fitness signup form greenFeng Shui Fitness
 
Présentation Quartier vert
Présentation Quartier vertPrésentation Quartier vert
Présentation Quartier vertbaobab81
 
HMRC Achieves Biggest Ever Digital Self Assessment in 2015
HMRC Achieves Biggest Ever Digital Self Assessment in 2015HMRC Achieves Biggest Ever Digital Self Assessment in 2015
HMRC Achieves Biggest Ever Digital Self Assessment in 2015Capgemini
 
Gauri Nanda Clocky
Gauri Nanda ClockyGauri Nanda Clocky
Gauri Nanda Clockyguest77510c
 
Oracle web center suite offering at yash
Oracle web center suite offering at yashOracle web center suite offering at yash
Oracle web center suite offering at yashYASH Technologies
 
Presentacion candidatura PP al concello de Verín
Presentacion candidatura PP al concello de VerínPresentacion candidatura PP al concello de Verín
Presentacion candidatura PP al concello de VerínDaniel Dieguez
 
Activ 21 Annonce Presse Nov 2007
Activ 21 Annonce Presse Nov 2007Activ 21 Annonce Presse Nov 2007
Activ 21 Annonce Presse Nov 2007eugler
 
Was der Kanton Basel-Landschaft alles zur Bekämpfung der Neobiota tit
Was der Kanton Basel-Landschaft alles zur Bekämpfung der Neobiota titWas der Kanton Basel-Landschaft alles zur Bekämpfung der Neobiota tit
Was der Kanton Basel-Landschaft alles zur Bekämpfung der Neobiota titBUDBL
 
Grlweap frank rausche
Grlweap  frank rauscheGrlweap  frank rausche
Grlweap frank rauschecfpbolivia
 
Tabulador gdf marzo 2102
Tabulador gdf  marzo 2102Tabulador gdf  marzo 2102
Tabulador gdf marzo 2102wateque
 
Fuehrung in Extremsituationen
Fuehrung in ExtremsituationenFuehrung in Extremsituationen
Fuehrung in ExtremsituationenHinz.Wirkt!
 
Diferencia entre velocidad, potencia y resistencia Keiser M3, M3+ y M3i
Diferencia entre velocidad, potencia y resistencia Keiser M3, M3+ y M3iDiferencia entre velocidad, potencia y resistencia Keiser M3, M3+ y M3i
Diferencia entre velocidad, potencia y resistencia Keiser M3, M3+ y M3iFIPsport
 

Destaque (20)

Peninsula seniors pg workshop power point
Peninsula seniors pg workshop power pointPeninsula seniors pg workshop power point
Peninsula seniors pg workshop power point
 
Boletín Informativo Agosto - Organizaciones políticas aprobadas para eleccion...
Boletín Informativo Agosto - Organizaciones políticas aprobadas para eleccion...Boletín Informativo Agosto - Organizaciones políticas aprobadas para eleccion...
Boletín Informativo Agosto - Organizaciones políticas aprobadas para eleccion...
 
XII Jornada DESIGUALDADES SOCIALES y SALUD
XII Jornada DESIGUALDADES SOCIALES y SALUD XII Jornada DESIGUALDADES SOCIALES y SALUD
XII Jornada DESIGUALDADES SOCIALES y SALUD
 
Feng Shui Fitness signup form green
Feng Shui Fitness signup form greenFeng Shui Fitness signup form green
Feng Shui Fitness signup form green
 
Présentation Quartier vert
Présentation Quartier vertPrésentation Quartier vert
Présentation Quartier vert
 
Imagine cup 2012
Imagine cup 2012Imagine cup 2012
Imagine cup 2012
 
HMRC Achieves Biggest Ever Digital Self Assessment in 2015
HMRC Achieves Biggest Ever Digital Self Assessment in 2015HMRC Achieves Biggest Ever Digital Self Assessment in 2015
HMRC Achieves Biggest Ever Digital Self Assessment in 2015
 
Gauri Nanda Clocky
Gauri Nanda ClockyGauri Nanda Clocky
Gauri Nanda Clocky
 
Oracle web center suite offering at yash
Oracle web center suite offering at yashOracle web center suite offering at yash
Oracle web center suite offering at yash
 
Presentacion candidatura PP al concello de Verín
Presentacion candidatura PP al concello de VerínPresentacion candidatura PP al concello de Verín
Presentacion candidatura PP al concello de Verín
 
Activ 21 Annonce Presse Nov 2007
Activ 21 Annonce Presse Nov 2007Activ 21 Annonce Presse Nov 2007
Activ 21 Annonce Presse Nov 2007
 
Was der Kanton Basel-Landschaft alles zur Bekämpfung der Neobiota tit
Was der Kanton Basel-Landschaft alles zur Bekämpfung der Neobiota titWas der Kanton Basel-Landschaft alles zur Bekämpfung der Neobiota tit
Was der Kanton Basel-Landschaft alles zur Bekämpfung der Neobiota tit
 
Roztočte pípy! - panely z výstavy
Roztočte pípy! - panely z výstavyRoztočte pípy! - panely z výstavy
Roztočte pípy! - panely z výstavy
 
La Vida Es Una CancióN
La Vida Es Una CancióNLa Vida Es Una CancióN
La Vida Es Una CancióN
 
Grlweap frank rausche
Grlweap  frank rauscheGrlweap  frank rausche
Grlweap frank rausche
 
Dafo
DafoDafo
Dafo
 
Asociación Joyas de Autor - Hemeroteca Gold and Time 2013
Asociación Joyas de Autor - Hemeroteca Gold and Time 2013Asociación Joyas de Autor - Hemeroteca Gold and Time 2013
Asociación Joyas de Autor - Hemeroteca Gold and Time 2013
 
Tabulador gdf marzo 2102
Tabulador gdf  marzo 2102Tabulador gdf  marzo 2102
Tabulador gdf marzo 2102
 
Fuehrung in Extremsituationen
Fuehrung in ExtremsituationenFuehrung in Extremsituationen
Fuehrung in Extremsituationen
 
Diferencia entre velocidad, potencia y resistencia Keiser M3, M3+ y M3i
Diferencia entre velocidad, potencia y resistencia Keiser M3, M3+ y M3iDiferencia entre velocidad, potencia y resistencia Keiser M3, M3+ y M3i
Diferencia entre velocidad, potencia y resistencia Keiser M3, M3+ y M3i
 

Semelhante a Intro To Gentoo Embedded Cclug

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
 
Embedded Linux primer
Embedded Linux primerEmbedded Linux primer
Embedded Linux primerDrew Fustini
 
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
 
Lec 10-linux-review
Lec 10-linux-reviewLec 10-linux-review
Lec 10-linux-reviewabinaya m
 
The Deck by Phil Polstra GrrCON2012
The Deck by Phil Polstra GrrCON2012The Deck by Phil Polstra GrrCON2012
The Deck by Phil Polstra GrrCON2012Philip Polstra
 
Module 4 Embedded Linux
Module 4 Embedded LinuxModule 4 Embedded Linux
Module 4 Embedded LinuxTushar B Kute
 
OpenStack Cinder Best Practices - Meet Up
OpenStack Cinder Best Practices - Meet UpOpenStack Cinder Best Practices - Meet Up
OpenStack Cinder Best Practices - Meet UpAaron Delp
 
Hacking and Forensics on the Go - 44CON 2012
Hacking and Forensics on the Go - 44CON 2012Hacking and Forensics on the Go - 44CON 2012
Hacking and Forensics on the Go - 44CON 201244CON
 
yocto_scale_handout-with-notes
yocto_scale_handout-with-notesyocto_scale_handout-with-notes
yocto_scale_handout-with-notesSteve Arnold
 
Proxmox Talk - Linux Fest Northwest 2018
Proxmox Talk - Linux Fest Northwest 2018Proxmox Talk - Linux Fest Northwest 2018
Proxmox Talk - Linux Fest Northwest 2018Richard Clark
 
Workshop : 45 minutes pour comprendre Docker avec Jérôme Petazzoni
Workshop : 45 minutes pour comprendre Docker avec Jérôme PetazzoniWorkshop : 45 minutes pour comprendre Docker avec Jérôme Petazzoni
Workshop : 45 minutes pour comprendre Docker avec Jérôme PetazzoniTheFamily
 
Introduction to Docker, December 2014 "Tour de France" Edition
Introduction to Docker, December 2014 "Tour de France" EditionIntroduction to Docker, December 2014 "Tour de France" Edition
Introduction to Docker, December 2014 "Tour de France" EditionJérôme Petazzoni
 
Introduction to OpenBricks: an Embedded Linux Framework
Introduction to OpenBricks: an Embedded Linux FrameworkIntroduction to OpenBricks: an Embedded Linux Framework
Introduction to OpenBricks: an Embedded Linux FrameworkBenjamin Zores
 
Deployment of WebObjects applications on CentOS Linux
Deployment of WebObjects applications on CentOS LinuxDeployment of WebObjects applications on CentOS Linux
Deployment of WebObjects applications on CentOS LinuxWO Community
 
NXP IMX6 Processor - Embedded Linux
NXP IMX6 Processor - Embedded LinuxNXP IMX6 Processor - Embedded Linux
NXP IMX6 Processor - Embedded LinuxNEEVEE Technologies
 
Docking postgres
Docking postgresDocking postgres
Docking postgresrycamor
 

Semelhante a Intro To Gentoo Embedded Cclug (20)

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
 
Embedded Linux primer
Embedded Linux primerEmbedded Linux primer
Embedded Linux primer
 
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
 
Lec 10-linux-review
Lec 10-linux-reviewLec 10-linux-review
Lec 10-linux-review
 
The Deck by Phil Polstra GrrCON2012
The Deck by Phil Polstra GrrCON2012The Deck by Phil Polstra GrrCON2012
The Deck by Phil Polstra GrrCON2012
 
Module 4 Embedded Linux
Module 4 Embedded LinuxModule 4 Embedded Linux
Module 4 Embedded Linux
 
OpenStack Cinder Best Practices - Meet Up
OpenStack Cinder Best Practices - Meet UpOpenStack Cinder Best Practices - Meet Up
OpenStack Cinder Best Practices - Meet Up
 
Hacking and Forensics on the Go - 44CON 2012
Hacking and Forensics on the Go - 44CON 2012Hacking and Forensics on the Go - 44CON 2012
Hacking and Forensics on the Go - 44CON 2012
 
yocto_scale_handout-with-notes
yocto_scale_handout-with-notesyocto_scale_handout-with-notes
yocto_scale_handout-with-notes
 
Intro to linux
Intro to linux Intro to linux
Intro to linux
 
Proxmox Talk - Linux Fest Northwest 2018
Proxmox Talk - Linux Fest Northwest 2018Proxmox Talk - Linux Fest Northwest 2018
Proxmox Talk - Linux Fest Northwest 2018
 
Workshop : 45 minutes pour comprendre Docker avec Jérôme Petazzoni
Workshop : 45 minutes pour comprendre Docker avec Jérôme PetazzoniWorkshop : 45 minutes pour comprendre Docker avec Jérôme Petazzoni
Workshop : 45 minutes pour comprendre Docker avec Jérôme Petazzoni
 
Introduction to Docker, December 2014 "Tour de France" Edition
Introduction to Docker, December 2014 "Tour de France" EditionIntroduction to Docker, December 2014 "Tour de France" Edition
Introduction to Docker, December 2014 "Tour de France" Edition
 
Introduction to OpenBricks: an Embedded Linux Framework
Introduction to OpenBricks: an Embedded Linux FrameworkIntroduction to OpenBricks: an Embedded Linux Framework
Introduction to OpenBricks: an Embedded Linux Framework
 
Linux basics (part 2)
Linux basics (part 2)Linux basics (part 2)
Linux basics (part 2)
 
Deployment of WebObjects applications on CentOS Linux
Deployment of WebObjects applications on CentOS LinuxDeployment of WebObjects applications on CentOS Linux
Deployment of WebObjects applications on CentOS Linux
 
NXP IMX6 Processor - Embedded Linux
NXP IMX6 Processor - Embedded LinuxNXP IMX6 Processor - Embedded Linux
NXP IMX6 Processor - Embedded Linux
 
Embedded Linux on ARM
Embedded Linux on ARMEmbedded Linux on ARM
Embedded Linux on ARM
 
Docking postgres
Docking postgresDocking postgres
Docking postgres
 
Embedded Operating System - Linux
Embedded Operating System - LinuxEmbedded Operating System - Linux
Embedded Operating System - Linux
 

Intro To Gentoo Embedded Cclug

  • 1. Embedded Systems and Gentoo Linux: An Introduction/Overview Stephen L Arnold Gentoo Linux Developer Sci, powerpc, dev-tools, comm-fax herds CCLUG meeting, March 31, 2006 stephen.arnold@acm.org nerdboy@gentoo.org
  • 2. Embedded Devices What is an embedded device? • Router-like devices: Linksys WRT54G/GL • NAS-like devices: Kurobox/LinkStation, NSLU-2 • PDA/Phone-like devices (with or without Linux pre- installed) • Sharp Zaurus: 5000-D, 5500, C-x00, etc • Various iPaq models • Nokia 770 • Basically, anything with a processor and flash memory
  • 3. SBCs and Eval Kits • Single Board Computers are simply smaller and more integrated system boards • Fewer I/O ports and peripheral connectors • Smaller footprint, lower power consumption • Sometimes fixed components (e.g, CPU, memory) • Various flash memory/EEPROM chips • Multiple architectures (x86, PowerPC, ARM, MIPS, SH) • Evaluation Kits • An example board/CPU combination • Additional hardware (eg, serial I/O) • Embedded development kit • Example: http://www.denx.de/wiki/DULG/ELDK
  • 4. Hacking Embedded Devices • Remote login or web browser interface • Find a way in: • Telnet, http, etc • Get the developer kit • Check Google and known vendor sites • Has someone already done it? • Assimilate the developer materials • Reverse-engineer it • Build your own ROM (aka Linux from Scratch) • Use your knowledge and Gentoo resources • Embedded stages, crossdev, portage
  • 5. Gentoo Embedded • Stages for multiple arches, C libraries, shell environments • Crossdev script for building custom cross- compiling toolchains (binutils, gcc, glibc/uclibc, kernel-headers) • Leveraging portage – e.g., the gensoekris meta-ebuild • http://dev.gentoo.org/~solar/embedded/local/local/ne t-wireless/gensoekris/gensoekris-0.0.8.ebuild • Use Qemu to run arch-specific fs images • Supports several arches at various levels • See http://wiki.qemu.org/download/qemu-doc.html
  • 6. Install Gentoo on the Device • Use a working linux distribution and get the patches and any required daemons in order to get Gentoo working on the device • Get any required source code, drivers/patches, and kernel source • Make some new ebuilds (integrate patches, etc) or update the ones in portage to be compatible with the device • Make a new profile (ie, look for an appropriate parent profile and customize USE, packages, etc) • Use crossdev and chroot to build an install image • Adapt your Gentoo install to a reasonable size in case of limited storage space • In many cases you can just follow a nominal Gentoo installation method
  • 7. General Caveats • Flash memory layout • Where the heck do I copy my kernel and root filesystem image? • Boot-loader support • How the heck do I get this thing to boot my kernel? • Serial console • How the heck do I login to this thing? • Coming soon to a portage mirror near you • U-boot and mkImage tools
  • 8. Embedded Resources • Gentoo Embedded Project • http://gentoo-wiki.com/Embedded_Gentoo • http://dev.gentoo.org/~vapier/CROSS-COMPILE-HOWTO • Embedded Linux • http://elinux.org/wiki/FrontPage • http://www.denx.de/wiki/DULG/WebHome • Specific devices and boards • http://openzaurus.org/wordpress/ • http://www.nslu2-linux.org/ • http://www.kurobox.com/ • http://wiki.openwrt.org/OpenWrtDocs • http://supernova.stanford.edu/dingdong/
  • 9. Try out Gentoo Linux • Download from http://www.gentoo.org • Gentoo Weekly Minimal Install CD and Stages • alpha, amd64, arm, hppa, ia64, ppc, s390, sh, sparc, x86 • LiveDVD for x86 and amd64 (last released Oct 10, 2009) • Old Universal Install CD (hppa only) • Experimental images and stages for embedded and other applications • All live CDs are both install and rescue CDs (larger images boot to a graphical desktop)
  • 10. Gentoo Documentation http://www.gentoo.org/doc/ • Gentoo Handbook • Installation, FAQs • Portage user manual • USE flags, ENV.D, Security guide • Desktop configuration guide, rc-scripts, ALSA, DRI, Java • AFS, OpenMosix, Diskless/LTSP, Printing, UML, IPv6, Virtual Mailhost • Developer documentation • Ebuild creation, eclass • Documentation guide (XML syntax)
  • 11. This work is an original work by Stephen Arnold <stephen.arnold@acm.org> <http://www.gentoogeek.org> Portions copyright 2006 Stephen L Arnold. Some rights reserved. The Gentoo Linux logo is Copyright 2006 Gentoo Foundation, used with permission. This work is licensed under the Creative Commons Attribution- NonCommercial-ShareAlike License. To view a copy of this license, visit <http://creativecommons.org/licenses/by-nc-sa/1.0> or send a letter to Creative Commons, 559 Nathan Abbott Way, Stanford, California 94305, USA. Please contact Stephen Arnold <stephen.arnold@acm.org> for commercial uses of this work.