SlideShare une entreprise Scribd logo
1  sur  25
Télécharger pour lire hors ligne
Using FreeBSD in an Embedded Environment
              A Work in Progress


                  Philip Paeps
              philip@FreeBSD.org

             The FreeBSD Project

         OpenFest 2011 — Sofia, Bulgaria
               6 November 2011
Welcome to the Embedded World!
               Console Server: What, Why?
                       Embedding FreeBSD
                          Future Directions
                      Questions/Comments



1   Welcome to the Embedded World!
     Differences with Other Worlds
     Intellectual Property
     FreeBSD as an Embedded Platform
2   Console Server: What, Why?
     What is a Console Server Anyway?
     Why Build This Yourself
3   Embedding FreeBSD
     Development Boards
     Software Ecosystem
     Using NanoBSD
     Remember crunchgen?
4   Future Directions

                               Philip Paeps   Using FreeBSD in an Embedded Environment
Welcome to the Embedded World!
                  Console Server: What, Why?     Differences with Other Worlds
                          Embedding FreeBSD      Intellectual Property
                             Future Directions   FreeBSD as an Embedded Platform
                         Questions/Comments


Outline
   1   Welcome to the Embedded World!
        Differences with Other Worlds
        Intellectual Property
        FreeBSD as an Embedded Platform
   2   Console Server: What, Why?
        What is a Console Server Anyway?
        Why Build This Yourself
   3   Embedding FreeBSD
        Development Boards
        Software Ecosystem
        Using NanoBSD
        Remember crunchgen?
   4   Future Directions
                                  Philip Paeps   Using FreeBSD in an Embedded Environment
Welcome to the Embedded World!
                Console Server: What, Why?     Differences with Other Worlds
                        Embedding FreeBSD      Intellectual Property
                           Future Directions   FreeBSD as an Embedded Platform
                       Questions/Comments


Differences with Other Worlds




     Space is not free
     There is never any time
     Electricity costs money too




                                Philip Paeps   Using FreeBSD in an Embedded Environment
Welcome to the Embedded World!
                Console Server: What, Why?     Differences with Other Worlds
                        Embedding FreeBSD      Intellectual Property
                           Future Directions   FreeBSD as an Embedded Platform
                       Questions/Comments


Intellectual Property



      Legal uncertainty is not an option
      Some things really should not be GNU-“free”
          You do not want to hack a payment terminal
          . . . or an ATM
          . . . or an X-ray detector
      Repeat after me: GNU is not (always) “free”




                                Philip Paeps   Using FreeBSD in an Embedded Environment
Welcome to the Embedded World!
               Console Server: What, Why?     Differences with Other Worlds
                       Embedding FreeBSD      Intellectual Property
                          Future Directions   FreeBSD as an Embedded Platform
                      Questions/Comments


Traditional Embedded Systems



     Proprietary
         . . . and often expensive
     Tiny code-size (10s–100s of Kbytes)
     More or less “hard” real-time
     Task-switching or multithreaded
     Single-application optimized




                               Philip Paeps   Using FreeBSD in an Embedded Environment
Welcome to the Embedded World!
               Console Server: What, Why?     Differences with Other Worlds
                       Embedding FreeBSD      Intellectual Property
                          Future Directions   FreeBSD as an Embedded Platform
                      Questions/Comments


Features of FreeBSD


     Friendly BSD-style licence
         Contrast with GNU licence
     Integrated build-system
         Easy to build complete systems
         Easy to modify to requirements
     Support for some popular embedded platforms
         x86
         ARM
         PowerPC
         MIPS



                               Philip Paeps   Using FreeBSD in an Embedded Environment
Welcome to the Embedded World!
                Console Server: What, Why?     Differences with Other Worlds
                        Embedding FreeBSD      Intellectual Property
                           Future Directions   FreeBSD as an Embedded Platform
                       Questions/Comments


Problems with FreeBSD

     Somewhat larger than perhaps desirable
          On the order of 10s–100s of Mbytes
          Easy to strip down up to a point
          Slightly trickier to strip down further
     Chunks of infrastructure still lacking
          Support for more embedded architectures
          NAND/NOR flash device abstraction
     Hard to compete with Linux
          Linux has a lot of mindshare
          Not as bad as it used to be. . .
          Tougher to compete purely on features


                                Philip Paeps   Using FreeBSD in an Embedded Environment
Welcome to the Embedded World!
                  Console Server: What, Why?
                                                 What is a Console Server Anyway?
                          Embedding FreeBSD
                                                 Why Build This Yourself
                             Future Directions
                         Questions/Comments


Outline
   1   Welcome to the Embedded World!
        Differences with Other Worlds
        Intellectual Property
        FreeBSD as an Embedded Platform
   2   Console Server: What, Why?
        What is a Console Server Anyway?
        Why Build This Yourself
   3   Embedding FreeBSD
        Development Boards
        Software Ecosystem
        Using NanoBSD
        Remember crunchgen?
   4   Future Directions
                                  Philip Paeps   Using FreeBSD in an Embedded Environment
Welcome to the Embedded World!
               Console Server: What, Why?
                                              What is a Console Server Anyway?
                       Embedding FreeBSD
                                              Why Build This Yourself
                          Future Directions
                      Questions/Comments


What is a Console Server Anyway?



     Central component of any hacker lab
     Talk to consoles without keyboards and monitors
     Debug kernels using DDB or even GDB from a comfy chair
     Similar uses in large datacentres
         . . . for many of the same reasons




                               Philip Paeps   Using FreeBSD in an Embedded Environment
Welcome to the Embedded World!
                Console Server: What, Why?
                                               What is a Console Server Anyway?
                        Embedding FreeBSD
                                               Why Build This Yourself
                           Future Directions
                       Questions/Comments


Why Build This Yourself




     Commercial units often very expensive
          Blame the datacentres!
     Retired ones on eBay loud, clunky and powerhungry
     It’s fun, of course!




                                Philip Paeps   Using FreeBSD in an Embedded Environment
Welcome to the Embedded World!
                                                 Development Boards
                  Console Server: What, Why?
                                                 Software Ecosystem
                          Embedding FreeBSD
                                                 Using NanoBSD
                             Future Directions
                                                 Remember crunchgen?
                         Questions/Comments


Outline
   1   Welcome to the Embedded World!
        Differences with Other Worlds
        Intellectual Property
        FreeBSD as an Embedded Platform
   2   Console Server: What, Why?
        What is a Console Server Anyway?
        Why Build This Yourself
   3   Embedding FreeBSD
        Development Boards
        Software Ecosystem
        Using NanoBSD
        Remember crunchgen?
   4   Future Directions
                                  Philip Paeps   Using FreeBSD in an Embedded Environment
Welcome to the Embedded World!
                                             Development Boards
              Console Server: What, Why?
                                             Software Ecosystem
                      Embedding FreeBSD
                                             Using NanoBSD
                         Future Directions
                                             Remember crunchgen?
                     Questions/Comments


Soekris Net4521


                                             100/133 Mhz AMD ElanSC520
                                             32 Mbyte RAM
                                             Compact flash storage
                                             8 GPIOs
                                             1 UART
                                             No USB on-board
                                             MiniPCI and some other stuff
                                             Max 14W power consumption



                              Philip Paeps   Using FreeBSD in an Embedded Environment
Welcome to the Embedded World!
                                              Development Boards
               Console Server: What, Why?
                                              Software Ecosystem
                       Embedding FreeBSD
                                              Using NanoBSD
                          Future Directions
                                              Remember crunchgen?
                      Questions/Comments


Artila M-501


     180MHz Atmel AT91RM9200
     64 Mbyte RAM
     16 Mbyte on-board NOR
     32 GPIOs
     4 UARTs
     USB on-board
     The usual complement of busses
     (I2 C, I2 S, SPI, SD, . . . )
     Max 2.5W power consumption


                               Philip Paeps   Using FreeBSD in an Embedded Environment
Welcome to the Embedded World!
                                                  Development Boards
                   Console Server: What, Why?
                                                  Software Ecosystem
                           Embedding FreeBSD
                                                  Using NanoBSD
                              Future Directions
                                                  Remember crunchgen?
                          Questions/Comments


Feature Comparisson


Soekris net4521:                                  Artila M-501:
    PRO: Standard PC architecture                      PRO: Lots and lots of UARTs
    PRO: Easy to flash CF cards                         PRO: Tiny power requirements
    CON: High power requirement                        PRO: Cheap(ish) to manufacture
    CON: Few UARTs                                     PRO: Very small hardware
    CON: Largish hardware                              CON: Higher porting effort
    CON: Fairly expensive                              CON: Less convenient development




                                   Philip Paeps   Using FreeBSD in an Embedded Environment
Welcome to the Embedded World!
                                                  Development Boards
                   Console Server: What, Why?
                                                  Software Ecosystem
                           Embedding FreeBSD
                                                  Using NanoBSD
                              Future Directions
                                                  Remember crunchgen?
                          Questions/Comments


Getting Software on the Boards




Development phase:                                Production system:
    Netbooting with BOOTP/TFTP                         Soekris runs from easy CF cards
    Software runs from root on NFS                     Artila has NOR flash on board
    FreeBSD makes this very easy                       Flashing NOR is a bit tricky




                                   Philip Paeps   Using FreeBSD in an Embedded Environment
Welcome to the Embedded World!
                                              Development Boards
               Console Server: What, Why?
                                              Software Ecosystem
                       Embedding FreeBSD
                                              Using NanoBSD
                          Future Directions
                                              Remember crunchgen?
                      Questions/Comments


FreeBSD as a Development Workstation




     Base system contains most required tools
     Other bits can easily be installed from ports/packages
     Netbooting FreeBSD is fairly trivial(ish)
         Once it works, it tends to keep working




                               Philip Paeps   Using FreeBSD in an Embedded Environment
Welcome to the Embedded World!
                                              Development Boards
               Console Server: What, Why?
                                              Software Ecosystem
                       Embedding FreeBSD
                                              Using NanoBSD
                          Future Directions
                                              Remember crunchgen?
                      Questions/Comments


Documentation




     Interfaces are (often) extensively documented
     Even the kernel!




                               Philip Paeps   Using FreeBSD in an Embedded Environment
Welcome to the Embedded World!
                                              Development Boards
               Console Server: What, Why?
                                              Software Ecosystem
                       Embedding FreeBSD
                                              Using NanoBSD
                          Future Directions
                                              Remember crunchgen?
                      Questions/Comments


Integrated Build Environment




     Build a cross-toolchain in one command
     Build the “world” in one command
     Yes! You can do partial builds
     No need to reinvent yet another wheel




                               Philip Paeps   Using FreeBSD in an Embedded Environment
Welcome to the Embedded World!
                                              Development Boards
               Console Server: What, Why?
                                              Software Ecosystem
                       Embedding FreeBSD
                                              Using NanoBSD
                          Future Directions
                                              Remember crunchgen?
                      Questions/Comments


Features of NanoBSD




     NanoBSD is a script to drive the “normal” build system
     Primarily optimized for producing disk images for CF
     Chops the FreeBSD world down to 10s of Mbyte easily
         That is still quite large though




                               Philip Paeps   Using FreeBSD in an Embedded Environment
Welcome to the Embedded World!
                                                Development Boards
                 Console Server: What, Why?
                                                Software Ecosystem
                         Embedding FreeBSD
                                                Using NanoBSD
                            Future Directions
                                                Remember crunchgen?
                        Questions/Comments


Remember crunchgen?



     A bit like “busybox” from the Linux/GNU world
     . . . but not really
     Originally from PicoBSD
     Now mainly used in /rescue
     Can chop FreeBSD down to < 10 Mbyte




                                 Philip Paeps   Using FreeBSD in an Embedded Environment
Welcome to the Embedded World!
                  Console Server: What, Why?
                          Embedding FreeBSD
                             Future Directions
                         Questions/Comments


Outline
   1   Welcome to the Embedded World!
        Differences with Other Worlds
        Intellectual Property
        FreeBSD as an Embedded Platform
   2   Console Server: What, Why?
        What is a Console Server Anyway?
        Why Build This Yourself
   3   Embedding FreeBSD
        Development Boards
        Software Ecosystem
        Using NanoBSD
        Remember crunchgen?
   4   Future Directions
                                  Philip Paeps   Using FreeBSD in an Embedded Environment
Welcome to the Embedded World!
                 Console Server: What, Why?
                         Embedding FreeBSD
                            Future Directions
                        Questions/Comments


Make FreeBSD Better



     Bootloader improvements for development
     Generic flash layer in the kernel
     Cross-platform pkg add
     Better integration of crunchgen with the build
          Perhaps with NanoBSD
          Call it FemtoBSD?
     . . . your wishlist here . . .




                                 Philip Paeps   Using FreeBSD in an Embedded Environment
Welcome to the Embedded World!
              Console Server: What, Why?
                      Embedding FreeBSD
                         Future Directions
                     Questions/Comments


Porting FreeBSD to CHERI



                                             My current “big” project
                                             64bit-only MIPS on an FPGA
                                             Security research with
                                             University of Cambridge
                                             FreeBSD target operating
                                             system




                              Philip Paeps     Using FreeBSD in an Embedded Environment
Welcome to the Embedded World!
              Console Server: What, Why?
                      Embedding FreeBSD
                         Future Directions
                     Questions/Comments




Questions? Comments?




                              Philip Paeps   Using FreeBSD in an Embedded Environment

Contenu connexe

Tendances

Reverse, Multi-Process and Non-Stop Debugging come to the CDT
Reverse, Multi-Process and Non-Stop Debugging come to the CDTReverse, Multi-Process and Non-Stop Debugging come to the CDT
Reverse, Multi-Process and Non-Stop Debugging come to the CDTmarckhouzam
 
Debian or Yocto Project? Which is the best for your Embedded Linux project?
Debian or Yocto Project? Which is the best for your Embedded Linux project?Debian or Yocto Project? Which is the best for your Embedded Linux project?
Debian or Yocto Project? Which is the best for your Embedded Linux project?Chris Simmonds
 
ELCE 2011 - BZ - Embedded Linux Optimization Techniques - How Not To Be Slow
ELCE 2011 - BZ - Embedded Linux Optimization Techniques - How Not To Be SlowELCE 2011 - BZ - Embedded Linux Optimization Techniques - How Not To Be Slow
ELCE 2011 - BZ - Embedded Linux Optimization Techniques - How Not To Be SlowBenjamin Zores
 
Enea Linux and LWRT FTF China 2012
Enea Linux and LWRT FTF China 2012Enea Linux and LWRT FTF China 2012
Enea Linux and LWRT FTF China 2012EneaSoftware
 

Tendances (6)

Explore Android Internals
Explore Android InternalsExplore Android Internals
Explore Android Internals
 
Guides To Analyzing WebKit Performance
Guides To Analyzing WebKit PerformanceGuides To Analyzing WebKit Performance
Guides To Analyzing WebKit Performance
 
Reverse, Multi-Process and Non-Stop Debugging come to the CDT
Reverse, Multi-Process and Non-Stop Debugging come to the CDTReverse, Multi-Process and Non-Stop Debugging come to the CDT
Reverse, Multi-Process and Non-Stop Debugging come to the CDT
 
Debian or Yocto Project? Which is the best for your Embedded Linux project?
Debian or Yocto Project? Which is the best for your Embedded Linux project?Debian or Yocto Project? Which is the best for your Embedded Linux project?
Debian or Yocto Project? Which is the best for your Embedded Linux project?
 
ELCE 2011 - BZ - Embedded Linux Optimization Techniques - How Not To Be Slow
ELCE 2011 - BZ - Embedded Linux Optimization Techniques - How Not To Be SlowELCE 2011 - BZ - Embedded Linux Optimization Techniques - How Not To Be Slow
ELCE 2011 - BZ - Embedded Linux Optimization Techniques - How Not To Be Slow
 
Enea Linux and LWRT FTF China 2012
Enea Linux and LWRT FTF China 2012Enea Linux and LWRT FTF China 2012
Enea Linux and LWRT FTF China 2012
 

En vedette

Arth2051 sp2015 syllabus
Arth2051 sp2015 syllabusArth2051 sp2015 syllabus
Arth2051 sp2015 syllabusProfWillAdams
 
Свободни курсове за обучение
Свободни курсове за обучениеСвободни курсове за обучение
Свободни курсове за обучениеOpenFest team
 
2005 Summer Newsletter
2005 Summer Newsletter2005 Summer Newsletter
2005 Summer NewsletterDirect Relief
 
2006 Spring Newsletter
2006 Spring Newsletter2006 Spring Newsletter
2006 Spring NewsletterDirect Relief
 
"Green Urbanism" & "Contextualism"
"Green Urbanism" & "Contextualism""Green Urbanism" & "Contextualism"
"Green Urbanism" & "Contextualism"Jerrie Kee
 
Arh1000 sm2015 syllabus
Arh1000 sm2015 syllabusArh1000 sm2015 syllabus
Arh1000 sm2015 syllabusProfWillAdams
 
8 instrumento autoeficacia grupo 8
8   instrumento autoeficacia  grupo 88   instrumento autoeficacia  grupo 8
8 instrumento autoeficacia grupo 8Luis Aracas
 
Hum2220 sp2016 proust questionnaire
Hum2220 sp2016 proust questionnaireHum2220 sp2016 proust questionnaire
Hum2220 sp2016 proust questionnaireProfWillAdams
 
Hum1020 sp2015 syllabus
Hum1020 sp2015 syllabusHum1020 sp2015 syllabus
Hum1020 sp2015 syllabusProfWillAdams
 
2005 Summer Newsletter
2005 Summer Newsletter2005 Summer Newsletter
2005 Summer NewsletterDirect Relief
 
Hum2310 sm2015 syllabus
Hum2310 sm2015 syllabusHum2310 sm2015 syllabus
Hum2310 sm2015 syllabusProfWillAdams
 
Minnesota’S Finest
Minnesota’S FinestMinnesota’S Finest
Minnesota’S Finestcarrieann6482
 
Bài giảng Đường lối quân sự
Bài giảng Đường lối quân sự Bài giảng Đường lối quân sự
Bài giảng Đường lối quân sự Minh Nghĩa Trần
 
кудрявцев презентация цпе наборная компания 2011 2012
кудрявцев презентация цпе наборная компания 2011 2012кудрявцев презентация цпе наборная компания 2011 2012
кудрявцев презентация цпе наборная компания 2011 2012Андрей Криминенко
 

En vedette (20)

Arth2051 sp2015 syllabus
Arth2051 sp2015 syllabusArth2051 sp2015 syllabus
Arth2051 sp2015 syllabus
 
October pti
October ptiOctober pti
October pti
 
Свободни курсове за обучение
Свободни курсове за обучениеСвободни курсове за обучение
Свободни курсове за обучение
 
2005 Summer Newsletter
2005 Summer Newsletter2005 Summer Newsletter
2005 Summer Newsletter
 
2006 Spring Newsletter
2006 Spring Newsletter2006 Spring Newsletter
2006 Spring Newsletter
 
"Green Urbanism" & "Contextualism"
"Green Urbanism" & "Contextualism""Green Urbanism" & "Contextualism"
"Green Urbanism" & "Contextualism"
 
Arh1000 sm2015 syllabus
Arh1000 sm2015 syllabusArh1000 sm2015 syllabus
Arh1000 sm2015 syllabus
 
8 instrumento autoeficacia grupo 8
8   instrumento autoeficacia  grupo 88   instrumento autoeficacia  grupo 8
8 instrumento autoeficacia grupo 8
 
Hum2220 sp2016 proust questionnaire
Hum2220 sp2016 proust questionnaireHum2220 sp2016 proust questionnaire
Hum2220 sp2016 proust questionnaire
 
Hum1020 sp2015 syllabus
Hum1020 sp2015 syllabusHum1020 sp2015 syllabus
Hum1020 sp2015 syllabus
 
2010 Fall Newsletter
2010 Fall Newsletter2010 Fall Newsletter
2010 Fall Newsletter
 
2005 Summer Newsletter
2005 Summer Newsletter2005 Summer Newsletter
2005 Summer Newsletter
 
Tsahim 3
Tsahim 3Tsahim 3
Tsahim 3
 
Hum2310 sm2015 syllabus
Hum2310 sm2015 syllabusHum2310 sm2015 syllabus
Hum2310 sm2015 syllabus
 
Autismo
AutismoAutismo
Autismo
 
ARH2050 Syllabus
ARH2050 SyllabusARH2050 Syllabus
ARH2050 Syllabus
 
Minnesota’S Finest
Minnesota’S FinestMinnesota’S Finest
Minnesota’S Finest
 
Pembenahan perpajakan
Pembenahan perpajakanPembenahan perpajakan
Pembenahan perpajakan
 
Bài giảng Đường lối quân sự
Bài giảng Đường lối quân sự Bài giảng Đường lối quân sự
Bài giảng Đường lối quân sự
 
кудрявцев презентация цпе наборная компания 2011 2012
кудрявцев презентация цпе наборная компания 2011 2012кудрявцев презентация цпе наборная компания 2011 2012
кудрявцев презентация цпе наборная компания 2011 2012
 

Similaire à Embedding FreeBSD: for large and small beds

FreeBSD - LinuxExpo
FreeBSD - LinuxExpoFreeBSD - LinuxExpo
FreeBSD - LinuxExpowebuploader
 
Enlightenment: A Cross Platform Window Manager & Toolkit
Enlightenment: A Cross Platform Window Manager & ToolkitEnlightenment: A Cross Platform Window Manager & Toolkit
Enlightenment: A Cross Platform Window Manager & ToolkitSamsung Open Source Group
 
BSD for Linux Users
BSD for Linux UsersBSD for Linux Users
BSD for Linux UsersDru Lavigne
 
BSD for Linux Users
BSD for Linux UsersBSD for Linux Users
BSD for Linux UsersDru Lavigne
 
Scale 2010: BSD for Linux Users
Scale 2010: BSD for Linux UsersScale 2010: BSD for Linux Users
Scale 2010: BSD for Linux UsersDru Lavigne
 
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
 
SELF 2010: BSD For Linux Users
SELF 2010: BSD For Linux UsersSELF 2010: BSD For Linux Users
SELF 2010: BSD For Linux UsersDru Lavigne
 
Portinig Application, Drivers And Os
Portinig Application, Drivers And OsPortinig Application, Drivers And Os
Portinig Application, Drivers And Osmomobangalore
 
Eric Vyncke - IPv6 Security Vendor Point of View
Eric Vyncke - IPv6 Security Vendor Point of ViewEric Vyncke - IPv6 Security Vendor Point of View
Eric Vyncke - IPv6 Security Vendor Point of ViewIPv6 Conference
 
BayLISA - FreeNAS 10 by Jordan Hubbard
BayLISA - FreeNAS 10 by Jordan HubbardBayLISA - FreeNAS 10 by Jordan Hubbard
BayLISA - FreeNAS 10 by Jordan HubbardiXsystems
 
This one goes to 11!
This one goes to 11!This one goes to 11!
This one goes to 11!APNIC
 
RackN Physical Layer Automation Innovation
RackN Physical Layer Automation InnovationRackN Physical Layer Automation Innovation
RackN Physical Layer Automation Innovationrhirschfeld
 

Similaire à Embedding FreeBSD: for large and small beds (20)

FreeBSD - LinuxExpo
FreeBSD - LinuxExpoFreeBSD - LinuxExpo
FreeBSD - LinuxExpo
 
Enlightenment: A Cross Platform Window Manager & Toolkit
Enlightenment: A Cross Platform Window Manager & ToolkitEnlightenment: A Cross Platform Window Manager & Toolkit
Enlightenment: A Cross Platform Window Manager & Toolkit
 
BSD for Linux Users
BSD for Linux UsersBSD for Linux Users
BSD for Linux Users
 
Zend Server - OSI Days
Zend Server - OSI DaysZend Server - OSI Days
Zend Server - OSI Days
 
BSD for Linux Users
BSD for Linux UsersBSD for Linux Users
BSD for Linux Users
 
Scale 2010: BSD for Linux Users
Scale 2010: BSD for Linux UsersScale 2010: BSD for Linux Users
Scale 2010: BSD for Linux Users
 
Linux Porting
Linux PortingLinux Porting
Linux Porting
 
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...
 
SELF 2010: BSD For Linux Users
SELF 2010: BSD For Linux UsersSELF 2010: BSD For Linux Users
SELF 2010: BSD For Linux Users
 
Portinig Application, Drivers And Os
Portinig Application, Drivers And OsPortinig Application, Drivers And Os
Portinig Application, Drivers And Os
 
Msu free bsd
Msu   free bsdMsu   free bsd
Msu free bsd
 
Eric Vyncke - IPv6 Security Vendor Point of View
Eric Vyncke - IPv6 Security Vendor Point of ViewEric Vyncke - IPv6 Security Vendor Point of View
Eric Vyncke - IPv6 Security Vendor Point of View
 
BayLISA - FreeNAS 10 by Jordan Hubbard
BayLISA - FreeNAS 10 by Jordan HubbardBayLISA - FreeNAS 10 by Jordan Hubbard
BayLISA - FreeNAS 10 by Jordan Hubbard
 
Creating your own datacenter
Creating your own datacenterCreating your own datacenter
Creating your own datacenter
 
This one goes to 11!
This one goes to 11!This one goes to 11!
This one goes to 11!
 
FreeBSD is not Linux
FreeBSD is not LinuxFreeBSD is not Linux
FreeBSD is not Linux
 
Linux Presentation
Linux PresentationLinux Presentation
Linux Presentation
 
RackN Physical Layer Automation Innovation
RackN Physical Layer Automation InnovationRackN Physical Layer Automation Innovation
RackN Physical Layer Automation Innovation
 
Dedicated embedded linux af Esben Haabendal, Prevas A/S
Dedicated embedded linux af Esben Haabendal, Prevas A/SDedicated embedded linux af Esben Haabendal, Prevas A/S
Dedicated embedded linux af Esben Haabendal, Prevas A/S
 
Open Source in the Enterprise
Open Source in the EnterpriseOpen Source in the Enterprise
Open Source in the Enterprise
 

Plus de OpenFest team

Why you can charge for open source software
Why you can charge for open source softwareWhy you can charge for open source software
Why you can charge for open source softwareOpenFest team
 
Microinvest Warehouse Open
Microinvest Warehouse OpenMicroinvest Warehouse Open
Microinvest Warehouse OpenOpenFest team
 
Как да правим по-добър бизнес с услуги около софтуера с отворен код
Как да правим по-добър бизнес с услуги около софтуера с отворен кодКак да правим по-добър бизнес с услуги около софтуера с отворен код
Как да правим по-добър бизнес с услуги около софтуера с отворен кодOpenFest team
 
Електронни пари: Пътят до BitCoin и поглед напред
Електронни пари: Пътят до BitCoin и поглед напредЕлектронни пари: Пътят до BitCoin и поглед напред
Електронни пари: Пътят до BitCoin и поглед напредOpenFest team
 
Виртуализирано видеонаблюдение под FreeBSD
Виртуализирано видеонаблюдение под FreeBSDВиртуализирано видеонаблюдение под FreeBSD
Виртуализирано видеонаблюдение под FreeBSDOpenFest team
 
RFID технологии и проблеми със сигурността им
RFID технологии и проблеми със сигурността имRFID технологии и проблеми със сигурността им
RFID технологии и проблеми със сигурността имOpenFest team
 
Redis the better NoSQL
Redis the better NoSQLRedis the better NoSQL
Redis the better NoSQLOpenFest team
 
Свободни PLC
Свободни PLCСвободни PLC
Свободни PLCOpenFest team
 
Distributed WPA PSK security audit
Distributed WPA PSK security auditDistributed WPA PSK security audit
Distributed WPA PSK security auditOpenFest team
 
Why kernelspace sucks?
Why kernelspace sucks?Why kernelspace sucks?
Why kernelspace sucks?OpenFest team
 
Направи си сам суперкомпютър
Направи си сам суперкомпютърНаправи си сам суперкомпютър
Направи си сам суперкомпютърOpenFest team
 
Using Open Source technologies to create Enterprise Level Cloud System
Using Open Source technologies to create Enterprise Level Cloud SystemUsing Open Source technologies to create Enterprise Level Cloud System
Using Open Source technologies to create Enterprise Level Cloud SystemOpenFest team
 
Behaviour-Driven Development, Ruby Style
Behaviour-Driven Development, Ruby StyleBehaviour-Driven Development, Ruby Style
Behaviour-Driven Development, Ruby StyleOpenFest team
 

Plus de OpenFest team (19)

Why you can charge for open source software
Why you can charge for open source softwareWhy you can charge for open source software
Why you can charge for open source software
 
Microinvest Warehouse Open
Microinvest Warehouse OpenMicroinvest Warehouse Open
Microinvest Warehouse Open
 
Backbone.js
Backbone.jsBackbone.js
Backbone.js
 
Как да правим по-добър бизнес с услуги около софтуера с отворен код
Как да правим по-добър бизнес с услуги около софтуера с отворен кодКак да правим по-добър бизнес с услуги около софтуера с отворен код
Как да правим по-добър бизнес с услуги около софтуера с отворен код
 
Pf sense 2.0
Pf sense 2.0Pf sense 2.0
Pf sense 2.0
 
Електронни пари: Пътят до BitCoin и поглед напред
Електронни пари: Пътят до BitCoin и поглед напредЕлектронни пари: Пътят до BitCoin и поглед напред
Електронни пари: Пътят до BitCoin и поглед напред
 
Node.social
Node.socialNode.social
Node.social
 
Виртуализирано видеонаблюдение под FreeBSD
Виртуализирано видеонаблюдение под FreeBSDВиртуализирано видеонаблюдение под FreeBSD
Виртуализирано видеонаблюдение под FreeBSD
 
RFID технологии и проблеми със сигурността им
RFID технологии и проблеми със сигурността имRFID технологии и проблеми със сигурността им
RFID технологии и проблеми със сигурността им
 
Redis the better NoSQL
Redis the better NoSQLRedis the better NoSQL
Redis the better NoSQL
 
initLab
initLabinitLab
initLab
 
Свободни PLC
Свободни PLCСвободни PLC
Свободни PLC
 
Distributed WPA PSK security audit
Distributed WPA PSK security auditDistributed WPA PSK security audit
Distributed WPA PSK security audit
 
Aesaes
AesaesAesaes
Aesaes
 
Why kernelspace sucks?
Why kernelspace sucks?Why kernelspace sucks?
Why kernelspace sucks?
 
Направи си сам суперкомпютър
Направи си сам суперкомпютърНаправи си сам суперкомпютър
Направи си сам суперкомпютър
 
Using Open Source technologies to create Enterprise Level Cloud System
Using Open Source technologies to create Enterprise Level Cloud SystemUsing Open Source technologies to create Enterprise Level Cloud System
Using Open Source technologies to create Enterprise Level Cloud System
 
Emacs reborn
Emacs rebornEmacs reborn
Emacs reborn
 
Behaviour-Driven Development, Ruby Style
Behaviour-Driven Development, Ruby StyleBehaviour-Driven Development, Ruby Style
Behaviour-Driven Development, Ruby Style
 

Dernier

The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxLoriGlavin3
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity PlanDatabarracks
 
Time Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsTime Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsNathaniel Shimoni
 
Sample pptx for embedding into website for demo
Sample pptx for embedding into website for demoSample pptx for embedding into website for demo
Sample pptx for embedding into website for demoHarshalMandlekar2
 
Assure Ecommerce and Retail Operations Uptime with ThousandEyes
Assure Ecommerce and Retail Operations Uptime with ThousandEyesAssure Ecommerce and Retail Operations Uptime with ThousandEyes
Assure Ecommerce and Retail Operations Uptime with ThousandEyesThousandEyes
 
A Framework for Development in the AI Age
A Framework for Development in the AI AgeA Framework for Development in the AI Age
A Framework for Development in the AI AgeCprime
 
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Mark Goldstein
 
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...Wes McKinney
 
Decarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityDecarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityIES VE
 
Connecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfConnecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfNeo4j
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024Lonnie McRorey
 
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesHow to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesThousandEyes
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxLoriGlavin3
 
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersNicole Novielli
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersRaghuram Pandurangan
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxLoriGlavin3
 
Data governance with Unity Catalog Presentation
Data governance with Unity Catalog PresentationData governance with Unity Catalog Presentation
Data governance with Unity Catalog PresentationKnoldus Inc.
 
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentEmixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentPim van der Noll
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc
 

Dernier (20)

The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptx
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity Plan
 
Time Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsTime Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directions
 
Sample pptx for embedding into website for demo
Sample pptx for embedding into website for demoSample pptx for embedding into website for demo
Sample pptx for embedding into website for demo
 
Assure Ecommerce and Retail Operations Uptime with ThousandEyes
Assure Ecommerce and Retail Operations Uptime with ThousandEyesAssure Ecommerce and Retail Operations Uptime with ThousandEyes
Assure Ecommerce and Retail Operations Uptime with ThousandEyes
 
A Framework for Development in the AI Age
A Framework for Development in the AI AgeA Framework for Development in the AI Age
A Framework for Development in the AI Age
 
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
 
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
 
Decarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityDecarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a reality
 
Connecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfConnecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdf
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024
 
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesHow to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
 
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software Developers
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information Developers
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
 
Data governance with Unity Catalog Presentation
Data governance with Unity Catalog PresentationData governance with Unity Catalog Presentation
Data governance with Unity Catalog Presentation
 
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentEmixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
 

Embedding FreeBSD: for large and small beds

  • 1. Using FreeBSD in an Embedded Environment A Work in Progress Philip Paeps philip@FreeBSD.org The FreeBSD Project OpenFest 2011 — Sofia, Bulgaria 6 November 2011
  • 2. Welcome to the Embedded World! Console Server: What, Why? Embedding FreeBSD Future Directions Questions/Comments 1 Welcome to the Embedded World! Differences with Other Worlds Intellectual Property FreeBSD as an Embedded Platform 2 Console Server: What, Why? What is a Console Server Anyway? Why Build This Yourself 3 Embedding FreeBSD Development Boards Software Ecosystem Using NanoBSD Remember crunchgen? 4 Future Directions Philip Paeps Using FreeBSD in an Embedded Environment
  • 3. Welcome to the Embedded World! Console Server: What, Why? Differences with Other Worlds Embedding FreeBSD Intellectual Property Future Directions FreeBSD as an Embedded Platform Questions/Comments Outline 1 Welcome to the Embedded World! Differences with Other Worlds Intellectual Property FreeBSD as an Embedded Platform 2 Console Server: What, Why? What is a Console Server Anyway? Why Build This Yourself 3 Embedding FreeBSD Development Boards Software Ecosystem Using NanoBSD Remember crunchgen? 4 Future Directions Philip Paeps Using FreeBSD in an Embedded Environment
  • 4. Welcome to the Embedded World! Console Server: What, Why? Differences with Other Worlds Embedding FreeBSD Intellectual Property Future Directions FreeBSD as an Embedded Platform Questions/Comments Differences with Other Worlds Space is not free There is never any time Electricity costs money too Philip Paeps Using FreeBSD in an Embedded Environment
  • 5. Welcome to the Embedded World! Console Server: What, Why? Differences with Other Worlds Embedding FreeBSD Intellectual Property Future Directions FreeBSD as an Embedded Platform Questions/Comments Intellectual Property Legal uncertainty is not an option Some things really should not be GNU-“free” You do not want to hack a payment terminal . . . or an ATM . . . or an X-ray detector Repeat after me: GNU is not (always) “free” Philip Paeps Using FreeBSD in an Embedded Environment
  • 6. Welcome to the Embedded World! Console Server: What, Why? Differences with Other Worlds Embedding FreeBSD Intellectual Property Future Directions FreeBSD as an Embedded Platform Questions/Comments Traditional Embedded Systems Proprietary . . . and often expensive Tiny code-size (10s–100s of Kbytes) More or less “hard” real-time Task-switching or multithreaded Single-application optimized Philip Paeps Using FreeBSD in an Embedded Environment
  • 7. Welcome to the Embedded World! Console Server: What, Why? Differences with Other Worlds Embedding FreeBSD Intellectual Property Future Directions FreeBSD as an Embedded Platform Questions/Comments Features of FreeBSD Friendly BSD-style licence Contrast with GNU licence Integrated build-system Easy to build complete systems Easy to modify to requirements Support for some popular embedded platforms x86 ARM PowerPC MIPS Philip Paeps Using FreeBSD in an Embedded Environment
  • 8. Welcome to the Embedded World! Console Server: What, Why? Differences with Other Worlds Embedding FreeBSD Intellectual Property Future Directions FreeBSD as an Embedded Platform Questions/Comments Problems with FreeBSD Somewhat larger than perhaps desirable On the order of 10s–100s of Mbytes Easy to strip down up to a point Slightly trickier to strip down further Chunks of infrastructure still lacking Support for more embedded architectures NAND/NOR flash device abstraction Hard to compete with Linux Linux has a lot of mindshare Not as bad as it used to be. . . Tougher to compete purely on features Philip Paeps Using FreeBSD in an Embedded Environment
  • 9. Welcome to the Embedded World! Console Server: What, Why? What is a Console Server Anyway? Embedding FreeBSD Why Build This Yourself Future Directions Questions/Comments Outline 1 Welcome to the Embedded World! Differences with Other Worlds Intellectual Property FreeBSD as an Embedded Platform 2 Console Server: What, Why? What is a Console Server Anyway? Why Build This Yourself 3 Embedding FreeBSD Development Boards Software Ecosystem Using NanoBSD Remember crunchgen? 4 Future Directions Philip Paeps Using FreeBSD in an Embedded Environment
  • 10. Welcome to the Embedded World! Console Server: What, Why? What is a Console Server Anyway? Embedding FreeBSD Why Build This Yourself Future Directions Questions/Comments What is a Console Server Anyway? Central component of any hacker lab Talk to consoles without keyboards and monitors Debug kernels using DDB or even GDB from a comfy chair Similar uses in large datacentres . . . for many of the same reasons Philip Paeps Using FreeBSD in an Embedded Environment
  • 11. Welcome to the Embedded World! Console Server: What, Why? What is a Console Server Anyway? Embedding FreeBSD Why Build This Yourself Future Directions Questions/Comments Why Build This Yourself Commercial units often very expensive Blame the datacentres! Retired ones on eBay loud, clunky and powerhungry It’s fun, of course! Philip Paeps Using FreeBSD in an Embedded Environment
  • 12. Welcome to the Embedded World! Development Boards Console Server: What, Why? Software Ecosystem Embedding FreeBSD Using NanoBSD Future Directions Remember crunchgen? Questions/Comments Outline 1 Welcome to the Embedded World! Differences with Other Worlds Intellectual Property FreeBSD as an Embedded Platform 2 Console Server: What, Why? What is a Console Server Anyway? Why Build This Yourself 3 Embedding FreeBSD Development Boards Software Ecosystem Using NanoBSD Remember crunchgen? 4 Future Directions Philip Paeps Using FreeBSD in an Embedded Environment
  • 13. Welcome to the Embedded World! Development Boards Console Server: What, Why? Software Ecosystem Embedding FreeBSD Using NanoBSD Future Directions Remember crunchgen? Questions/Comments Soekris Net4521 100/133 Mhz AMD ElanSC520 32 Mbyte RAM Compact flash storage 8 GPIOs 1 UART No USB on-board MiniPCI and some other stuff Max 14W power consumption Philip Paeps Using FreeBSD in an Embedded Environment
  • 14. Welcome to the Embedded World! Development Boards Console Server: What, Why? Software Ecosystem Embedding FreeBSD Using NanoBSD Future Directions Remember crunchgen? Questions/Comments Artila M-501 180MHz Atmel AT91RM9200 64 Mbyte RAM 16 Mbyte on-board NOR 32 GPIOs 4 UARTs USB on-board The usual complement of busses (I2 C, I2 S, SPI, SD, . . . ) Max 2.5W power consumption Philip Paeps Using FreeBSD in an Embedded Environment
  • 15. Welcome to the Embedded World! Development Boards Console Server: What, Why? Software Ecosystem Embedding FreeBSD Using NanoBSD Future Directions Remember crunchgen? Questions/Comments Feature Comparisson Soekris net4521: Artila M-501: PRO: Standard PC architecture PRO: Lots and lots of UARTs PRO: Easy to flash CF cards PRO: Tiny power requirements CON: High power requirement PRO: Cheap(ish) to manufacture CON: Few UARTs PRO: Very small hardware CON: Largish hardware CON: Higher porting effort CON: Fairly expensive CON: Less convenient development Philip Paeps Using FreeBSD in an Embedded Environment
  • 16. Welcome to the Embedded World! Development Boards Console Server: What, Why? Software Ecosystem Embedding FreeBSD Using NanoBSD Future Directions Remember crunchgen? Questions/Comments Getting Software on the Boards Development phase: Production system: Netbooting with BOOTP/TFTP Soekris runs from easy CF cards Software runs from root on NFS Artila has NOR flash on board FreeBSD makes this very easy Flashing NOR is a bit tricky Philip Paeps Using FreeBSD in an Embedded Environment
  • 17. Welcome to the Embedded World! Development Boards Console Server: What, Why? Software Ecosystem Embedding FreeBSD Using NanoBSD Future Directions Remember crunchgen? Questions/Comments FreeBSD as a Development Workstation Base system contains most required tools Other bits can easily be installed from ports/packages Netbooting FreeBSD is fairly trivial(ish) Once it works, it tends to keep working Philip Paeps Using FreeBSD in an Embedded Environment
  • 18. Welcome to the Embedded World! Development Boards Console Server: What, Why? Software Ecosystem Embedding FreeBSD Using NanoBSD Future Directions Remember crunchgen? Questions/Comments Documentation Interfaces are (often) extensively documented Even the kernel! Philip Paeps Using FreeBSD in an Embedded Environment
  • 19. Welcome to the Embedded World! Development Boards Console Server: What, Why? Software Ecosystem Embedding FreeBSD Using NanoBSD Future Directions Remember crunchgen? Questions/Comments Integrated Build Environment Build a cross-toolchain in one command Build the “world” in one command Yes! You can do partial builds No need to reinvent yet another wheel Philip Paeps Using FreeBSD in an Embedded Environment
  • 20. Welcome to the Embedded World! Development Boards Console Server: What, Why? Software Ecosystem Embedding FreeBSD Using NanoBSD Future Directions Remember crunchgen? Questions/Comments Features of NanoBSD NanoBSD is a script to drive the “normal” build system Primarily optimized for producing disk images for CF Chops the FreeBSD world down to 10s of Mbyte easily That is still quite large though Philip Paeps Using FreeBSD in an Embedded Environment
  • 21. Welcome to the Embedded World! Development Boards Console Server: What, Why? Software Ecosystem Embedding FreeBSD Using NanoBSD Future Directions Remember crunchgen? Questions/Comments Remember crunchgen? A bit like “busybox” from the Linux/GNU world . . . but not really Originally from PicoBSD Now mainly used in /rescue Can chop FreeBSD down to < 10 Mbyte Philip Paeps Using FreeBSD in an Embedded Environment
  • 22. Welcome to the Embedded World! Console Server: What, Why? Embedding FreeBSD Future Directions Questions/Comments Outline 1 Welcome to the Embedded World! Differences with Other Worlds Intellectual Property FreeBSD as an Embedded Platform 2 Console Server: What, Why? What is a Console Server Anyway? Why Build This Yourself 3 Embedding FreeBSD Development Boards Software Ecosystem Using NanoBSD Remember crunchgen? 4 Future Directions Philip Paeps Using FreeBSD in an Embedded Environment
  • 23. Welcome to the Embedded World! Console Server: What, Why? Embedding FreeBSD Future Directions Questions/Comments Make FreeBSD Better Bootloader improvements for development Generic flash layer in the kernel Cross-platform pkg add Better integration of crunchgen with the build Perhaps with NanoBSD Call it FemtoBSD? . . . your wishlist here . . . Philip Paeps Using FreeBSD in an Embedded Environment
  • 24. Welcome to the Embedded World! Console Server: What, Why? Embedding FreeBSD Future Directions Questions/Comments Porting FreeBSD to CHERI My current “big” project 64bit-only MIPS on an FPGA Security research with University of Cambridge FreeBSD target operating system Philip Paeps Using FreeBSD in an Embedded Environment
  • 25. Welcome to the Embedded World! Console Server: What, Why? Embedding FreeBSD Future Directions Questions/Comments Questions? Comments? Philip Paeps Using FreeBSD in an Embedded Environment