SlideShare ist ein Scribd-Unternehmen logo
1 von 25
Downloaden Sie, um offline zu lesen
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

Weitere ähnliche Inhalte

Was ist angesagt?

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
 

Was ist angesagt? (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
 

Andere mochten auch

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Андрей Криминенко
 

Andere mochten auch (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
 

Ähnlich wie 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
 

Ähnlich wie 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
 

Mehr von 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
 

Mehr von 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
 

Kürzlich hochgeladen

Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionDilum Bandara
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningLars Bell
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsMiki Katsuragi
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...Fwdays
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 

Kürzlich hochgeladen (20)

Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An Introduction
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine Tuning
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering Tips
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 

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