SlideShare a Scribd company logo
Introduction to OpenBricks: an Embedded Linux Framework




                   Benjamin Zores

                  6th February 2011
                  FOSDEM, Brussels
What is OpenBricks ?


      Enterprise-grade embedded
      Linux framework and build system.


      For easy and custom Linux distribution bring-up.


      Runs on a wide variety of hardware.


      For rapid prototyping or full-blown product development.



•        “Hum, seems like I’ve already heard about that ...
         So how is it different from … ?”




                                                                 B. Zores – FOSDEM 2011
State of the Art

      2011 Embedded Linux build systems:

•          OpenEmbedded (Angström, Poky, Yocto, ...)

•          Buildroot

•          OpenWRT

•          T2 SDE

•          Linux Target Image Builder (LTIB)

•          “Professional”: Windriver, Montavista, Mentor Graphics …

•          And now OpenBricks ??


•      More details in a further talk, but in the mean time:
             http://tinyurl.com/EmbeddedLinuxBuildSystems




                                                                B. Zores – FOSDEM 2011
So why yet another build system in 2011 ?


     Because Google’s Android is not the perfect embedded OS.

     History:
•      OpenBricks “brand” in itself was founded in Oct. 2010.
•      But came as an extension to the GeeXboX project - © 2002.
•      Inherited toolchain and philosophy,
          but designed to be more versatile.
•      Now used as custom build framework for GeeXboX OS.


     Each build system has pros and cons,
      but projects all have very different philosophies.
•      So it’s not exactly new …




                                                                B. Zores – FOSDEM 2011
The 5 minutes Overview

     Embedded Linux build framework
       for individuals and/or enterprises for either
       easy prototyping or full-blown products development.


     Replaces traditional BSPs with a fine-grained
      package tuning ability (through kconfig interface).


     Support for x86, ARM, PowerPC and MIPS architectures
      with reference boards optimizations.


     Brings up low-level system and features
      major applicative frameworks (Qt, EFL, GTK, SDL)
      for developers to only focus on end-user applications.


     Multimedia-oriented but with general purpose:
•     Currently sustains the GeeXboX STB OS project.
•     But allow you to build your unique one too …


                                                               B. Zores – FOSDEM 2011
Supported Architectures


     x86 (32/64 bits):
      from generic builds to custom ATOM/ION optimized ones.

     PowerPC (32/64 bits)

     MIPS (32 bits)

     ARM:

•      ARM9 (e.g. Marvell Kirkwood …)
•      ARM11 (e.g. Broadcom BCM11107 Persona family …)
•      Cortex A8 / A9 (e.g. TI OMAP3, TI OMAP4, nVidia Tegra250 …)

     With known reference boards optimizations:
      Beagleboard, IGEPv2, Touchbook, Pandaboard …

     Much more to be expected:
      Freescale i.MX, Qualcomm SnapDragon,
      Marvell Armada, Intel CE4xxx …


                                                               B. Zores – FOSDEM 2011
Applicative Features


     Supported Languages:

•      Shell, C, C++, Python, Perl, Lua, Vala


     Supported Frameworks:

•      Nokia Qt 4.7.1 with support for:

•         Webkit
•         QtMobility
•         QtDeclarative / QML

•      Enlightenment EFL 1.0

•      GTK+ 2.22

•      SDL Simple DirectMedia Layer 1.2




                                                B. Zores – FOSDEM 2011
Multimedia Features - Graphics



     Native framebuffer interface.
     Accelerated DirectFB engine.
     Accelerated X11 Infrastructure.

     Support for Khronos group standards:
•     EGL Native Platform Graphics Interface

•     Desktop OpenGL 3.0

•     Embedded OpenGL|ES 2.1

•     Embedded OpenVG 1.0

•     Provided either by Mesa or by manufacturer’s binary blobs.




                                                               B. Zores – FOSDEM 2011
Multimedia Features - Audio/Video


     Audio Frameworks:
•     ALSA, PulseAudio


     Software Video Frameworks:
•     SMP-optimized FFmpeg decoders.


     Hardware Video Frameworks:
•     Khronos OpenMAX (OMAP3, OMAP4, Tegra2).
•     nVidia VDPAU (x86 with nVidia GeForce GPU).
•     Freedesktop VA-API (x86 with Intel or ATI GPUs).
•     Broadcom CrystalHD (BCM 70012/70015 chips).
•     Other native SoC acceleration (OMAP3, OMAP4).




                                                         B. Zores – FOSDEM 2011
Multimedia Features - Applications


     Frameworks and Players:

•         MPlayer, Xine, GStreamer, VLC

•         libplayer Audio/Video abstraction framework


     Media Center frontends:

•         XBMC

•         Video Disk Recorder (VDR)

•         Enna

•         HTS Showtime

•         Nokia QtMediaHub

•         MythTV

                                                        B. Zores – FOSDEM 2011
Build System Overview

     Fully POSIX shell scripts based:

•      Easy understanding, hacking and maintenance ...
•      … at least much more than obfuscated Makefiles or Python stuff ;-)

  Does not require any externals tools or environment.
•  Required host build tools and packages are built along the way.

• Cross-Compilation Safety and Robustness
•   Triggers GCC internal errors on -I/usr/include and -L/usr/lib

     Fully customizable:

•      Supports customized distribution flavours
         pre-generated configurations.
•      Complete standalone package/feature selection
         through Kconfig interface.
•      Per-package fine-tuning through use flags (similar to Gentoo).

     Features per-package metadata rules for abstracted in/out.
     With more than 550 supported packages.

                                                                  B. Zores – FOSDEM 2011
Toolchain Overview

      Support for multiple GCC-based cross-compilers:

•     OpenBricks multi-architectures native one.

•     Linaro for ARM.

•     CodeSourcery for ARM.


• Support for multiple C libraries:

•     GNU libc (glibc)

•     Embedded GLIBC (eGlibc). This is default one !

•     uClibc

•     klibc (for early ramdisk bits).

     Do your own mix !


                                                        B. Zores – FOSDEM 2011
Configuration Overview (1/2)


      Up to 3-levels of hardware configuration tuning:

•      Architecture (e.g. ARM, x86 …)

•      Platform (e.g generic, OMAP3, OMAP4 …)

•      Machine (e.g. generic, Beagleboard, IGEPv2 …)

•      The deeper, the more optimized (footprint, selected packages …),
          but the less portable …

                -> it’s up to you to choose depending on your needs !


      Automatic package inter-dependencies
      selection and build process.


      Support for per arch/platform/machine package overlay.


                                                               B. Zores – FOSDEM 2011
Configuration Overview (2/2)


      Features fine-tuning through “use flags” (similar to Gentoo):

•      Conditionally build specific features.

•      Enable flags per-package or system-wide.

•      You can also have package-specific flags.

•      Infinite number of them …


      Pre-determined packages subset, a.k.a. build flavours:

•      Minimalist base bootable system.

•      GeeXboX MediaCenter-oriented distribution.

•      Add your own distro here !




                                                                B. Zores – FOSDEM 2011
Key Build Framework Features


      Bleeding-edge packages: latest stable package version policy.

      Support for arch/platform/machine
      specific package overlay (sources, patches …).

      Modern user-space: systemd, udev, D-Bus, connman …

      Stuff gets packaged into low-resources OPKG packages.

      Multiple OPK build residue: runtime, devel, debug.

      Multiple target system delivery forms:
•     Flashable disk images: JFFS2, UBIFS, EXT 2/3/4.
•     x86 LiveCD (ISO) and network (PXE) bootable images.
•     Flat root filesystem
•     Virtual machines images: QEMU, VMware


                                                                B. Zores – FOSDEM 2011
Package Description Template

      Files Structure:

•     build: cross-build rules

•     install: installation rules for target (optional)

•     installdev: installation rules for host toolchain (optional)

•     meta: metadata, use flags and package description.

•     unit (optional)
•        package.service: systemd service.

•     patches (optional)
•        01_fix.diff
•        02_feature.diff
•        series (optional)




                                                                     B. Zores – FOSDEM 2011
“Simple” package example: syslink (1/4)

●
    Metadata description:

 PKG_NAME=syslink
 PKG_VERSION=0.24.9.2
 PKG_URL="$DISTRO_SRCS/tisyslink-${PKG_VERSION}.tar.bz2"
 PKG_REV=1
 PKG_DEPENDS="$TARGET_LIBC tiler"
 PKG_BUILD_DEPENDS="toolchain"
 PKG_PRIORITY=optional
 PKG_SECTION=libs
 PKG_SHORTDESC="TI OMAP4 SysLink DSP interface"
 PKG_LONGDESC="SysLink is the next generation IPC driver
developed for OMAP4 and beyond. SysLink is an evolution of
both the previous-generation IPC drivers - DSPBridge and
DSPLink."




                                                   B. Zores – FOSDEM 2011
“Simple” package example: syslink (2/4)



   Build Rules:

#!/bin/sh
. config/options

cd $BUILD/$1*
do_configure 
   --disable-debug 

make
make_install




                                          B. Zores – FOSDEM 2011
“Simple” package example: syslink (3/4)


  Toolchain installation files rules (dev opk file):

do_installdev usr/include
do_installdev usr/lib

  Runtime target installation files rules (runtime + dbg opk file):

do_install   usr/bin/syslink_daemon.out
do_install   usr/lib/libipc.so*
do_install   usr/lib/libipcutils.so*
do_install   usr/lib/libomap4430proc.so*
do_install   usr/lib/libprocmgr.so*
do_install   usr/lib/librcm.so*
do_install   usr/lib/libsyslinknotify.so*
do_install   usr/lib/libsysmgr.so*



                                                                B. Zores – FOSDEM 2011
“Simple” package example: syslink (4/4)

  SystemD Service:

[Unit]
Description=Ducati Syslink daemon
ConditionPathExists=/etc/syslink.conf
After=syslog.target

[Service]
EnvironmentFile=/etc/syslink.conf
Type=forking
ExecStart=/usr/bin/syslink_daemon.out $SYSM3_IMAGE $APPM3_IMAGE
Restart=always

[Install]
WantedBy=multi-user.target




                                                    B. Zores – FOSDEM 2011
“Average” package example: libplayer (1/2)

   Metadata description:

PKG_NAME=libplayer
PKG_VERSION=2.0.1
PKG_URL="http://libplayer.geexbox.org/releases/libplayer-
$PKG_VERSION.tar.bz2"
PKG_REV=1
PKG_BUILD_DEPENDS="toolchain"
PKG_RUN_DEPENDS="$TARGET_LIBC"

PKG_USE="gstreamer xorg vdpau"

# gstreamer
PKG_USE_DESC_gstreamer="Enable GStreamer backend"
PKG_USE_HELP_gstreamer="Enables the GStreamer backend."
PKG_DEPENDS_gstreamer="gstreamer gst-plugins-base"

# xorg
PKG_DEPENDS_xorg="libX11"
PKG_DEPENDS_vdpau="libvdpau"

                                                            B. Zores – FOSDEM 2011
“Average” package example: libplayer (2/2)

   Build Rules:

#!/bin/sh
. config/options

XORG_CONFIG="--disable-x11"
pkg_uses $1 xorg && 
       XORG_CONFIG="--enable-x11 --enable-xlib-hack"

GST_CONFIG="--disable-gstreamer"
pkg_uses $1 gstreamer && GST_CONFIG="--enable-gstreamer"

cd $BUILD/$1*
do_configure 
   $GST_CONFIG 
   $XORG_CONFIG 
   --cross-compile 
   --disable-doc
make && make_install



                                                       B. Zores – FOSDEM 2011
How you can one help (or get helped) ?



      Get some help or information:
•      Website provides a complete documentation on build system internals.
•      On our mailing list: devel@openbricks.org

      Join the development team:
•      Add new packages, hence features.
•      Add support for new/more hardware (yours ?).
•      Increase flavours support by adding your custom distribution subset.

      Sponsor us with a couple of reference boards.
•      Only way for the team to really support your architecture …
•      We’re still interested in Intel / Freescale / Qualcomm / Marvell boards.

      Donations
•      The usual way: helps us buy new toys to be supported ...




                                                                   B. Zores – FOSDEM 2011
Thanks ...




             http://www.openbricks.org/


                     THANKS !!

                                          B. Zores – FOSDEM 2011

More Related Content

What's hot

Run Qt on Linux embedded systems using Yocto
Run Qt on Linux embedded systems using YoctoRun Qt on Linux embedded systems using Yocto
Run Qt on Linux embedded systems using Yocto
Marco Cavallini
 
Yocto Project Dev Day Prague 2017 - Advanced class - Kernel modules with eSDK
Yocto Project Dev Day Prague 2017 - Advanced class - Kernel modules with eSDKYocto Project Dev Day Prague 2017 - Advanced class - Kernel modules with eSDK
Yocto Project Dev Day Prague 2017 - Advanced class - Kernel modules with eSDK
Marco Cavallini
 
Autobuilder2 Yocto Project Summit Lyon 2019
Autobuilder2 Yocto Project Summit Lyon 2019Autobuilder2 Yocto Project Summit Lyon 2019
Autobuilder2 Yocto Project Summit Lyon 2019
Marco Cavallini
 
The end of embedded Linux (as we know it)
The end of embedded Linux (as we know it)The end of embedded Linux (as we know it)
The end of embedded Linux (as we know it)
Chris Simmonds
 
Android beyond the smartphone
Android beyond the smartphoneAndroid beyond the smartphone
Android beyond the smartphone
Chris Simmonds
 
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
 
Debugging embedded devices using GDB
Debugging embedded devices using GDBDebugging embedded devices using GDB
Debugging embedded devices using GDB
Chris Simmonds
 
Reducing the boot time of Linux devices
Reducing the boot time of Linux devicesReducing the boot time of Linux devices
Reducing the boot time of Linux devices
Chris Simmonds
 
Android rpi-csimmonds-fosdem-2019
Android rpi-csimmonds-fosdem-2019Android rpi-csimmonds-fosdem-2019
Android rpi-csimmonds-fosdem-2019
Chris Simmonds
 
ABS 2013: Android Jelly Bean Device Porting Walkthrough
ABS 2013: Android Jelly Bean Device Porting WalkthroughABS 2013: Android Jelly Bean Device Porting Walkthrough
ABS 2013: Android Jelly Bean Device Porting Walkthrough
Benjamin Zores
 
Embedded Android: Android beyond the smartphone
Embedded Android: Android beyond the smartphoneEmbedded Android: Android beyond the smartphone
Embedded Android: Android beyond the smartphone
Chris Simmonds
 
Userspace drivers-2016
Userspace drivers-2016Userspace drivers-2016
Userspace drivers-2016
Chris Simmonds
 
Software update for IoT Embedded World 2017
Software update for IoT Embedded World 2017Software update for IoT Embedded World 2017
Software update for IoT Embedded World 2017
Chris Simmonds
 
UplinQ - ubuntu linux on the qualcomm® snapdragon™ 600 processor
UplinQ - ubuntu linux on the qualcomm® snapdragon™ 600 processorUplinQ - ubuntu linux on the qualcomm® snapdragon™ 600 processor
UplinQ - ubuntu linux on the qualcomm® snapdragon™ 600 processor
Satya Harish
 
Marco Cavallini @ LinuxLab 2018 : Workshop Yocto Project, an automatic genera...
Marco Cavallini @ LinuxLab 2018 : Workshop Yocto Project, an automatic genera...Marco Cavallini @ LinuxLab 2018 : Workshop Yocto Project, an automatic genera...
Marco Cavallini @ LinuxLab 2018 : Workshop Yocto Project, an automatic genera...
Marco Cavallini
 
The Yocto Project
The Yocto ProjectThe Yocto Project
The Yocto Project
rossburton
 
Running Android on the Raspberry Pi: Android Pie meets Raspberry Pi
Running Android on the Raspberry Pi: Android Pie meets Raspberry PiRunning Android on the Raspberry Pi: Android Pie meets Raspberry Pi
Running Android on the Raspberry Pi: Android Pie meets Raspberry Pi
Chris Simmonds
 
Memory Management in TIZEN - Samsung SW Platform Team
Memory Management in TIZEN - Samsung SW Platform TeamMemory Management in TIZEN - Samsung SW Platform Team
Memory Management in TIZEN - Samsung SW Platform Team
Ryo Jin
 
A timeline for embedded Linux
A timeline for embedded LinuxA timeline for embedded Linux
A timeline for embedded Linux
Chris Simmonds
 
Yocto project and open embedded training
Yocto project and open embedded trainingYocto project and open embedded training
Yocto project and open embedded training
H Ming
 

What's hot (20)

Run Qt on Linux embedded systems using Yocto
Run Qt on Linux embedded systems using YoctoRun Qt on Linux embedded systems using Yocto
Run Qt on Linux embedded systems using Yocto
 
Yocto Project Dev Day Prague 2017 - Advanced class - Kernel modules with eSDK
Yocto Project Dev Day Prague 2017 - Advanced class - Kernel modules with eSDKYocto Project Dev Day Prague 2017 - Advanced class - Kernel modules with eSDK
Yocto Project Dev Day Prague 2017 - Advanced class - Kernel modules with eSDK
 
Autobuilder2 Yocto Project Summit Lyon 2019
Autobuilder2 Yocto Project Summit Lyon 2019Autobuilder2 Yocto Project Summit Lyon 2019
Autobuilder2 Yocto Project Summit Lyon 2019
 
The end of embedded Linux (as we know it)
The end of embedded Linux (as we know it)The end of embedded Linux (as we know it)
The end of embedded Linux (as we know it)
 
Android beyond the smartphone
Android beyond the smartphoneAndroid beyond the smartphone
Android beyond the smartphone
 
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?
 
Debugging embedded devices using GDB
Debugging embedded devices using GDBDebugging embedded devices using GDB
Debugging embedded devices using GDB
 
Reducing the boot time of Linux devices
Reducing the boot time of Linux devicesReducing the boot time of Linux devices
Reducing the boot time of Linux devices
 
Android rpi-csimmonds-fosdem-2019
Android rpi-csimmonds-fosdem-2019Android rpi-csimmonds-fosdem-2019
Android rpi-csimmonds-fosdem-2019
 
ABS 2013: Android Jelly Bean Device Porting Walkthrough
ABS 2013: Android Jelly Bean Device Porting WalkthroughABS 2013: Android Jelly Bean Device Porting Walkthrough
ABS 2013: Android Jelly Bean Device Porting Walkthrough
 
Embedded Android: Android beyond the smartphone
Embedded Android: Android beyond the smartphoneEmbedded Android: Android beyond the smartphone
Embedded Android: Android beyond the smartphone
 
Userspace drivers-2016
Userspace drivers-2016Userspace drivers-2016
Userspace drivers-2016
 
Software update for IoT Embedded World 2017
Software update for IoT Embedded World 2017Software update for IoT Embedded World 2017
Software update for IoT Embedded World 2017
 
UplinQ - ubuntu linux on the qualcomm® snapdragon™ 600 processor
UplinQ - ubuntu linux on the qualcomm® snapdragon™ 600 processorUplinQ - ubuntu linux on the qualcomm® snapdragon™ 600 processor
UplinQ - ubuntu linux on the qualcomm® snapdragon™ 600 processor
 
Marco Cavallini @ LinuxLab 2018 : Workshop Yocto Project, an automatic genera...
Marco Cavallini @ LinuxLab 2018 : Workshop Yocto Project, an automatic genera...Marco Cavallini @ LinuxLab 2018 : Workshop Yocto Project, an automatic genera...
Marco Cavallini @ LinuxLab 2018 : Workshop Yocto Project, an automatic genera...
 
The Yocto Project
The Yocto ProjectThe Yocto Project
The Yocto Project
 
Running Android on the Raspberry Pi: Android Pie meets Raspberry Pi
Running Android on the Raspberry Pi: Android Pie meets Raspberry PiRunning Android on the Raspberry Pi: Android Pie meets Raspberry Pi
Running Android on the Raspberry Pi: Android Pie meets Raspberry Pi
 
Memory Management in TIZEN - Samsung SW Platform Team
Memory Management in TIZEN - Samsung SW Platform TeamMemory Management in TIZEN - Samsung SW Platform Team
Memory Management in TIZEN - Samsung SW Platform Team
 
A timeline for embedded Linux
A timeline for embedded LinuxA timeline for embedded Linux
A timeline for embedded Linux
 
Yocto project and open embedded training
Yocto project and open embedded trainingYocto project and open embedded training
Yocto project and open embedded training
 

Viewers also liked

Fosdem 2010 - An Introduction to Enna Media Center
Fosdem 2010 - An Introduction to Enna Media CenterFosdem 2010 - An Introduction to Enna Media Center
Fosdem 2010 - An Introduction to Enna Media Center
Benjamin Zores
 
Kariyerini Çiz
Kariyerini ÇizKariyerini Çiz
Kariyerini Çiz
Burak Selim Şenyurt
 
ELC 2010 - GeeXboX Enna: Embedded Media Center
ELC 2010 - GeeXboX Enna: Embedded Media CenterELC 2010 - GeeXboX Enna: Embedded Media Center
ELC 2010 - GeeXboX Enna: Embedded Media Center
Benjamin Zores
 
Finans Sektöründe Verimli Yazılımcı Olabilmek
Finans Sektöründe Verimli Yazılımcı OlabilmekFinans Sektöründe Verimli Yazılımcı Olabilmek
Finans Sektöründe Verimli Yazılımcı Olabilmek
Burak Selim Şenyurt
 
Bir .Net Geliştiricisinin Ruby ile İmtihanı
Bir .Net Geliştiricisinin Ruby ile İmtihanıBir .Net Geliştiricisinin Ruby ile İmtihanı
Bir .Net Geliştiricisinin Ruby ile İmtihanı
Burak Selim Şenyurt
 
Linux Sürücü Geliştirme (Linux Device Driver Development)
Linux Sürücü Geliştirme (Linux Device Driver Development)Linux Sürücü Geliştirme (Linux Device Driver Development)
Linux Sürücü Geliştirme (Linux Device Driver Development)
kyasar
 
SOA Gerçekleri
SOA GerçekleriSOA Gerçekleri
SOA Gerçekleri
Burak Selim Şenyurt
 
Design Of A Usb Device Driver (Overview)
Design Of A Usb Device Driver (Overview)Design Of A Usb Device Driver (Overview)
Design Of A Usb Device Driver (Overview)
allankliu
 
BusyBox for Embedded Linux
BusyBox for Embedded LinuxBusyBox for Embedded Linux
BusyBox for Embedded Linux
Emertxe Information Technologies Pvt Ltd
 
File systems for Embedded Linux
File systems for Embedded LinuxFile systems for Embedded Linux
File systems for Embedded Linux
Emertxe Information Technologies Pvt Ltd
 
Embedded Linux - Building toolchain
Embedded Linux - Building toolchainEmbedded Linux - Building toolchain
Embedded Linux - Building toolchain
Emertxe Information Technologies Pvt Ltd
 
Embedded Linux Kernel - Build your custom kernel
Embedded Linux Kernel - Build your custom kernelEmbedded Linux Kernel - Build your custom kernel
Embedded Linux Kernel - Build your custom kernel
Emertxe Information Technologies Pvt Ltd
 
Linux systems - Getting started with setting up and embedded platform
Linux systems - Getting started with setting up and embedded platformLinux systems - Getting started with setting up and embedded platform
Linux systems - Getting started with setting up and embedded platform
Emertxe Information Technologies Pvt Ltd
 
Embedded Android : System Development - Part III
Embedded Android : System Development - Part IIIEmbedded Android : System Development - Part III
Embedded Android : System Development - Part III
Emertxe Information Technologies Pvt Ltd
 
Embedded Android : System Development - Part IV
Embedded Android : System Development - Part IVEmbedded Android : System Development - Part IV
Embedded Android : System Development - Part IV
Emertxe Information Technologies Pvt Ltd
 
Data Structures & Algorithm design using C
Data Structures & Algorithm design using C Data Structures & Algorithm design using C
Data Structures & Algorithm design using C
Emertxe Information Technologies Pvt Ltd
 
Embedded Android : System Development - Part I
Embedded Android : System Development - Part IEmbedded Android : System Development - Part I
Embedded Android : System Development - Part I
Emertxe Information Technologies Pvt Ltd
 
Embedded C - Optimization techniques
Embedded C - Optimization techniquesEmbedded C - Optimization techniques
Embedded C - Optimization techniques
Emertxe Information Technologies Pvt Ltd
 
Embedded Linux on ARM
Embedded Linux on ARMEmbedded Linux on ARM

Viewers also liked (20)

Ready to Rock
Ready to RockReady to Rock
Ready to Rock
 
Fosdem 2010 - An Introduction to Enna Media Center
Fosdem 2010 - An Introduction to Enna Media CenterFosdem 2010 - An Introduction to Enna Media Center
Fosdem 2010 - An Introduction to Enna Media Center
 
Kariyerini Çiz
Kariyerini ÇizKariyerini Çiz
Kariyerini Çiz
 
ELC 2010 - GeeXboX Enna: Embedded Media Center
ELC 2010 - GeeXboX Enna: Embedded Media CenterELC 2010 - GeeXboX Enna: Embedded Media Center
ELC 2010 - GeeXboX Enna: Embedded Media Center
 
Finans Sektöründe Verimli Yazılımcı Olabilmek
Finans Sektöründe Verimli Yazılımcı OlabilmekFinans Sektöründe Verimli Yazılımcı Olabilmek
Finans Sektöründe Verimli Yazılımcı Olabilmek
 
Bir .Net Geliştiricisinin Ruby ile İmtihanı
Bir .Net Geliştiricisinin Ruby ile İmtihanıBir .Net Geliştiricisinin Ruby ile İmtihanı
Bir .Net Geliştiricisinin Ruby ile İmtihanı
 
Linux Sürücü Geliştirme (Linux Device Driver Development)
Linux Sürücü Geliştirme (Linux Device Driver Development)Linux Sürücü Geliştirme (Linux Device Driver Development)
Linux Sürücü Geliştirme (Linux Device Driver Development)
 
SOA Gerçekleri
SOA GerçekleriSOA Gerçekleri
SOA Gerçekleri
 
Design Of A Usb Device Driver (Overview)
Design Of A Usb Device Driver (Overview)Design Of A Usb Device Driver (Overview)
Design Of A Usb Device Driver (Overview)
 
BusyBox for Embedded Linux
BusyBox for Embedded LinuxBusyBox for Embedded Linux
BusyBox for Embedded Linux
 
File systems for Embedded Linux
File systems for Embedded LinuxFile systems for Embedded Linux
File systems for Embedded Linux
 
Embedded Linux - Building toolchain
Embedded Linux - Building toolchainEmbedded Linux - Building toolchain
Embedded Linux - Building toolchain
 
Embedded Linux Kernel - Build your custom kernel
Embedded Linux Kernel - Build your custom kernelEmbedded Linux Kernel - Build your custom kernel
Embedded Linux Kernel - Build your custom kernel
 
Linux systems - Getting started with setting up and embedded platform
Linux systems - Getting started with setting up and embedded platformLinux systems - Getting started with setting up and embedded platform
Linux systems - Getting started with setting up and embedded platform
 
Embedded Android : System Development - Part III
Embedded Android : System Development - Part IIIEmbedded Android : System Development - Part III
Embedded Android : System Development - Part III
 
Embedded Android : System Development - Part IV
Embedded Android : System Development - Part IVEmbedded Android : System Development - Part IV
Embedded Android : System Development - Part IV
 
Data Structures & Algorithm design using C
Data Structures & Algorithm design using C Data Structures & Algorithm design using C
Data Structures & Algorithm design using C
 
Embedded Android : System Development - Part I
Embedded Android : System Development - Part IEmbedded Android : System Development - Part I
Embedded Android : System Development - Part I
 
Embedded C - Optimization techniques
Embedded C - Optimization techniquesEmbedded C - Optimization techniques
Embedded C - Optimization techniques
 
Embedded Linux on ARM
Embedded Linux on ARMEmbedded Linux on ARM
Embedded Linux on ARM
 

Similar to Introduction to OpenBricks: an Embedded Linux Framework

Building Embedded Linux Full Tutorial for ARM
Building Embedded Linux Full Tutorial for ARMBuilding Embedded Linux Full Tutorial for ARM
Building Embedded Linux Full Tutorial for ARM
Sherif Mousa
 
Embedded Linux BSP Training (Intro)
Embedded Linux BSP Training (Intro)Embedded Linux BSP Training (Intro)
Embedded Linux BSP Training (Intro)
RuggedBoardGroup
 
Intro To Gentoo Embedded Cclug
Intro To Gentoo Embedded CclugIntro To Gentoo Embedded Cclug
Intro To Gentoo Embedded Cclug
Steve Arnold
 
Pearce Barry Resume
Pearce Barry ResumePearce Barry Resume
Pearce Barry Resume
Pearce Barry
 
Linux on System z Update: Current & Future Linux on System z Technology
Linux on System z Update: Current & Future Linux on System z TechnologyLinux on System z Update: Current & Future Linux on System z Technology
Linux on System z Update: Current & Future Linux on System z Technology
IBM India Smarter Computing
 
Gentoo Linux, or Why in the World You Should Compile Everything
Gentoo Linux, or Why in the World You Should Compile EverythingGentoo Linux, or Why in the World You Should Compile Everything
Gentoo Linux, or Why in the World You Should Compile Everything
Donnie Berkholz
 
Intro to linux
Intro to linux Intro to linux
Intro to linux
Islam Nabil
 
FILEgrain: Transport-Agnostic, Fine-Grained Content-Addressable Container Ima...
FILEgrain: Transport-Agnostic, Fine-Grained Content-Addressable Container Ima...FILEgrain: Transport-Agnostic, Fine-Grained Content-Addressable Container Ima...
FILEgrain: Transport-Agnostic, Fine-Grained Content-Addressable Container Ima...
Akihiro Suda
 
Linux OS presentation
Linux OS presentationLinux OS presentation
Linux OS presentation
SahilGothoskar
 
Design, Build,and Maintain the Embedded Linux Platform
Design, Build,and Maintain the Embedded Linux PlatformDesign, Build,and Maintain the Embedded Linux Platform
Design, Build,and Maintain the Embedded Linux Platform
SZ Lin
 
Building Embedded Linux Systems Introduction
Building Embedded Linux Systems IntroductionBuilding Embedded Linux Systems Introduction
Building Embedded Linux Systems Introduction
Sherif Mousa
 
Module 4 Embedded Linux
Module 4 Embedded LinuxModule 4 Embedded Linux
Module 4 Embedded Linux
Tushar B Kute
 
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
InfinIT - Innovationsnetværket for it
 
C# on a CHIPs
C# on a CHIPsC# on a CHIPs
C# on a CHIPs
Mirco Vanini
 
"Building Complete Embedded Vision Systems on Linux—From Camera to Display," ...
"Building Complete Embedded Vision Systems on Linux—From Camera to Display," ..."Building Complete Embedded Vision Systems on Linux—From Camera to Display," ...
"Building Complete Embedded Vision Systems on Linux—From Camera to Display," ...
Edge AI and Vision Alliance
 
Xilinx manual
Xilinx manualXilinx manual
Xilinx manual
anilkusuma
 
A Tour of Open Source on the Mainframe
A Tour of Open Source on the MainframeA Tour of Open Source on the Mainframe
A Tour of Open Source on the Mainframe
All Things Open
 
Embedded Linux Multimedia
Embedded Linux MultimediaEmbedded Linux Multimedia
Embedded Linux Multimedia
Caglar Dursun
 
Embedded linux
Embedded linuxEmbedded linux
Embedded linux
Wingston
 
Introduction to LinuxKit - Docker Bangalore Meetup
Introduction to LinuxKit - Docker Bangalore MeetupIntroduction to LinuxKit - Docker Bangalore Meetup
Introduction to LinuxKit - Docker Bangalore Meetup
Ajeet Singh Raina
 

Similar to Introduction to OpenBricks: an Embedded Linux Framework (20)

Building Embedded Linux Full Tutorial for ARM
Building Embedded Linux Full Tutorial for ARMBuilding Embedded Linux Full Tutorial for ARM
Building Embedded Linux Full Tutorial for ARM
 
Embedded Linux BSP Training (Intro)
Embedded Linux BSP Training (Intro)Embedded Linux BSP Training (Intro)
Embedded Linux BSP Training (Intro)
 
Intro To Gentoo Embedded Cclug
Intro To Gentoo Embedded CclugIntro To Gentoo Embedded Cclug
Intro To Gentoo Embedded Cclug
 
Pearce Barry Resume
Pearce Barry ResumePearce Barry Resume
Pearce Barry Resume
 
Linux on System z Update: Current & Future Linux on System z Technology
Linux on System z Update: Current & Future Linux on System z TechnologyLinux on System z Update: Current & Future Linux on System z Technology
Linux on System z Update: Current & Future Linux on System z Technology
 
Gentoo Linux, or Why in the World You Should Compile Everything
Gentoo Linux, or Why in the World You Should Compile EverythingGentoo Linux, or Why in the World You Should Compile Everything
Gentoo Linux, or Why in the World You Should Compile Everything
 
Intro to linux
Intro to linux Intro to linux
Intro to linux
 
FILEgrain: Transport-Agnostic, Fine-Grained Content-Addressable Container Ima...
FILEgrain: Transport-Agnostic, Fine-Grained Content-Addressable Container Ima...FILEgrain: Transport-Agnostic, Fine-Grained Content-Addressable Container Ima...
FILEgrain: Transport-Agnostic, Fine-Grained Content-Addressable Container Ima...
 
Linux OS presentation
Linux OS presentationLinux OS presentation
Linux OS presentation
 
Design, Build,and Maintain the Embedded Linux Platform
Design, Build,and Maintain the Embedded Linux PlatformDesign, Build,and Maintain the Embedded Linux Platform
Design, Build,and Maintain the Embedded Linux Platform
 
Building Embedded Linux Systems Introduction
Building Embedded Linux Systems IntroductionBuilding Embedded Linux Systems Introduction
Building Embedded Linux Systems Introduction
 
Module 4 Embedded Linux
Module 4 Embedded LinuxModule 4 Embedded Linux
Module 4 Embedded Linux
 
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
 
C# on a CHIPs
C# on a CHIPsC# on a CHIPs
C# on a CHIPs
 
"Building Complete Embedded Vision Systems on Linux—From Camera to Display," ...
"Building Complete Embedded Vision Systems on Linux—From Camera to Display," ..."Building Complete Embedded Vision Systems on Linux—From Camera to Display," ...
"Building Complete Embedded Vision Systems on Linux—From Camera to Display," ...
 
Xilinx manual
Xilinx manualXilinx manual
Xilinx manual
 
A Tour of Open Source on the Mainframe
A Tour of Open Source on the MainframeA Tour of Open Source on the Mainframe
A Tour of Open Source on the Mainframe
 
Embedded Linux Multimedia
Embedded Linux MultimediaEmbedded Linux Multimedia
Embedded Linux Multimedia
 
Embedded linux
Embedded linuxEmbedded linux
Embedded linux
 
Introduction to LinuxKit - Docker Bangalore Meetup
Introduction to LinuxKit - Docker Bangalore MeetupIntroduction to LinuxKit - Docker Bangalore Meetup
Introduction to LinuxKit - Docker Bangalore Meetup
 

Recently uploaded

HR STRATEGIES AND EMPLOYEE OUTCOMES: A STUDY ON COMPENSATION, APPRAISAL, RECO...
HR STRATEGIES AND EMPLOYEE OUTCOMES: A STUDY ON COMPENSATION, APPRAISAL, RECO...HR STRATEGIES AND EMPLOYEE OUTCOMES: A STUDY ON COMPENSATION, APPRAISAL, RECO...
HR STRATEGIES AND EMPLOYEE OUTCOMES: A STUDY ON COMPENSATION, APPRAISAL, RECO...
indexPub
 
美洲杯下注-美洲杯下注最好的投注软件-美洲杯下注在哪个软件买球|【​网址​🎉ac22.net🎉​】
美洲杯下注-美洲杯下注最好的投注软件-美洲杯下注在哪个软件买球|【​网址​🎉ac22.net🎉​】美洲杯下注-美洲杯下注最好的投注软件-美洲杯下注在哪个软件买球|【​网址​🎉ac22.net🎉​】
美洲杯下注-美洲杯下注最好的投注软件-美洲杯下注在哪个软件买球|【​网址​🎉ac22.net🎉​】
velosonando62
 
The Uttoxeter and Cheadle Voice Issue 123
The Uttoxeter and Cheadle Voice Issue 123The Uttoxeter and Cheadle Voice Issue 123
The Uttoxeter and Cheadle Voice Issue 123
Noel Sergeant
 
MISS RAIPUR 2024 - WINNER POONAM BHARTI.
MISS RAIPUR 2024 - WINNER POONAM BHARTI.MISS RAIPUR 2024 - WINNER POONAM BHARTI.
MISS RAIPUR 2024 - WINNER POONAM BHARTI.
DK PAGEANT
 
快速办理(加拿大CBU毕业证书)卡普顿大学毕业证毕业完成信一模一样
快速办理(加拿大CBU毕业证书)卡普顿大学毕业证毕业完成信一模一样快速办理(加拿大CBU毕业证书)卡普顿大学毕业证毕业完成信一模一样
快速办理(加拿大CBU毕业证书)卡普顿大学毕业证毕业完成信一模一样
ubopub
 
buy diamond ring in india by tanishq near by delhi
buy diamond ring in india by tanishq near by delhibuy diamond ring in india by tanishq near by delhi
buy diamond ring in india by tanishq near by delhi
vandanarajput83020
 
The Power of Gratitude: How Gratitude Can Change Your Life
The Power of Gratitude: How Gratitude Can Change Your LifeThe Power of Gratitude: How Gratitude Can Change Your Life
The Power of Gratitude: How Gratitude Can Change Your Life
bluetroyvictorVinay
 
2024欧洲杯比分投注-2024欧洲杯比分投注推荐-2024欧洲杯比分投注|【​网址​🎉ac99.net🎉​】
2024欧洲杯比分投注-2024欧洲杯比分投注推荐-2024欧洲杯比分投注|【​网址​🎉ac99.net🎉​】2024欧洲杯比分投注-2024欧洲杯比分投注推荐-2024欧洲杯比分投注|【​网址​🎉ac99.net🎉​】
2024欧洲杯比分投注-2024欧洲杯比分投注推荐-2024欧洲杯比分投注|【​网址​🎉ac99.net🎉​】
ramaysha335
 
欧洲杯赌钱-欧洲杯赌钱比赛投注-欧洲杯赌钱比赛投注官网|【​网址​🎉ac22.net🎉​】
欧洲杯赌钱-欧洲杯赌钱比赛投注-欧洲杯赌钱比赛投注官网|【​网址​🎉ac22.net🎉​】欧洲杯赌钱-欧洲杯赌钱比赛投注-欧洲杯赌钱比赛投注官网|【​网址​🎉ac22.net🎉​】
欧洲杯赌钱-欧洲杯赌钱比赛投注-欧洲杯赌钱比赛投注官网|【​网址​🎉ac22.net🎉​】
arcosarturo900
 
欧洲杯足彩-欧洲杯足彩线上体育买球-欧洲杯足彩买球推荐网站|【​网址​🎉ac55.net🎉​】
欧洲杯足彩-欧洲杯足彩线上体育买球-欧洲杯足彩买球推荐网站|【​网址​🎉ac55.net🎉​】欧洲杯足彩-欧洲杯足彩线上体育买球-欧洲杯足彩买球推荐网站|【​网址​🎉ac55.net🎉​】
欧洲杯足彩-欧洲杯足彩线上体育买球-欧洲杯足彩买球推荐网站|【​网址​🎉ac55.net🎉​】
brunasordi905
 
Goldsetu a leading B2b jewellery App for all your Business
Goldsetu a leading B2b jewellery App for  all your BusinessGoldsetu a leading B2b jewellery App for  all your Business
Goldsetu a leading B2b jewellery App for all your Business
dizilearn
 
MISS TEEN HYDERABAD 2024 - WINNER RYKA TANDON
MISS TEEN HYDERABAD 2024 - WINNER RYKA TANDONMISS TEEN HYDERABAD 2024 - WINNER RYKA TANDON
MISS TEEN HYDERABAD 2024 - WINNER RYKA TANDON
DK PAGEANT
 
The Traditional Weddings of the United States of America
The Traditional Weddings of the United States of AmericaThe Traditional Weddings of the United States of America
The Traditional Weddings of the United States of America
KokoStevan
 
Navigating the World of Topsoil: A Guide to the Right Choice for Your Garden
Navigating the World of Topsoil: A Guide to the Right Choice for Your GardenNavigating the World of Topsoil: A Guide to the Right Choice for Your Garden
Navigating the World of Topsoil: A Guide to the Right Choice for Your Garden
nerissacampuzano
 
欧洲杯买球-欧洲杯买球猜球-欧洲杯买球猜球网站|【​网址​🎉ac10.net🎉​】
欧洲杯买球-欧洲杯买球猜球-欧洲杯买球猜球网站|【​网址​🎉ac10.net🎉​】欧洲杯买球-欧洲杯买球猜球-欧洲杯买球猜球网站|【​网址​🎉ac10.net🎉​】
欧洲杯买球-欧洲杯买球猜球-欧洲杯买球猜球网站|【​网址​🎉ac10.net🎉​】
barajasfr42922
 
Green Illustrated Sustainable World Presentation.pdf
Green Illustrated Sustainable World Presentation.pdfGreen Illustrated Sustainable World Presentation.pdf
Green Illustrated Sustainable World Presentation.pdf
liwangshu074
 
What Does Professional Yard Clean Up Include
What Does Professional Yard Clean Up IncludeWhat Does Professional Yard Clean Up Include
What Does Professional Yard Clean Up Include
Landscape Express
 
欧洲杯下注-欧洲杯下注买球网-欧洲杯下注买球网站|【​网址​🎉ac10.net🎉​】
欧洲杯下注-欧洲杯下注买球网-欧洲杯下注买球网站|【​网址​🎉ac10.net🎉​】欧洲杯下注-欧洲杯下注买球网-欧洲杯下注买球网站|【​网址​🎉ac10.net🎉​】
欧洲杯下注-欧洲杯下注买球网-欧洲杯下注买球网站|【​网址​🎉ac10.net🎉​】
brendonbrash97589
 
一比一原版塔夫斯大学毕业证Tufts成绩单一模一样
一比一原版塔夫斯大学毕业证Tufts成绩单一模一样一比一原版塔夫斯大学毕业证Tufts成绩单一模一样
一比一原版塔夫斯大学毕业证Tufts成绩单一模一样
stgq9v39
 
美洲杯投注冠军赔率揭晓!谁将问鼎南美之王?|【​网址​🎉ac22.net🎉​】
美洲杯投注冠军赔率揭晓!谁将问鼎南美之王?|【​网址​🎉ac22.net🎉​】美洲杯投注冠军赔率揭晓!谁将问鼎南美之王?|【​网址​🎉ac22.net🎉​】
美洲杯投注冠军赔率揭晓!谁将问鼎南美之王?|【​网址​🎉ac22.net🎉​】
callottermanha18096
 

Recently uploaded (20)

HR STRATEGIES AND EMPLOYEE OUTCOMES: A STUDY ON COMPENSATION, APPRAISAL, RECO...
HR STRATEGIES AND EMPLOYEE OUTCOMES: A STUDY ON COMPENSATION, APPRAISAL, RECO...HR STRATEGIES AND EMPLOYEE OUTCOMES: A STUDY ON COMPENSATION, APPRAISAL, RECO...
HR STRATEGIES AND EMPLOYEE OUTCOMES: A STUDY ON COMPENSATION, APPRAISAL, RECO...
 
美洲杯下注-美洲杯下注最好的投注软件-美洲杯下注在哪个软件买球|【​网址​🎉ac22.net🎉​】
美洲杯下注-美洲杯下注最好的投注软件-美洲杯下注在哪个软件买球|【​网址​🎉ac22.net🎉​】美洲杯下注-美洲杯下注最好的投注软件-美洲杯下注在哪个软件买球|【​网址​🎉ac22.net🎉​】
美洲杯下注-美洲杯下注最好的投注软件-美洲杯下注在哪个软件买球|【​网址​🎉ac22.net🎉​】
 
The Uttoxeter and Cheadle Voice Issue 123
The Uttoxeter and Cheadle Voice Issue 123The Uttoxeter and Cheadle Voice Issue 123
The Uttoxeter and Cheadle Voice Issue 123
 
MISS RAIPUR 2024 - WINNER POONAM BHARTI.
MISS RAIPUR 2024 - WINNER POONAM BHARTI.MISS RAIPUR 2024 - WINNER POONAM BHARTI.
MISS RAIPUR 2024 - WINNER POONAM BHARTI.
 
快速办理(加拿大CBU毕业证书)卡普顿大学毕业证毕业完成信一模一样
快速办理(加拿大CBU毕业证书)卡普顿大学毕业证毕业完成信一模一样快速办理(加拿大CBU毕业证书)卡普顿大学毕业证毕业完成信一模一样
快速办理(加拿大CBU毕业证书)卡普顿大学毕业证毕业完成信一模一样
 
buy diamond ring in india by tanishq near by delhi
buy diamond ring in india by tanishq near by delhibuy diamond ring in india by tanishq near by delhi
buy diamond ring in india by tanishq near by delhi
 
The Power of Gratitude: How Gratitude Can Change Your Life
The Power of Gratitude: How Gratitude Can Change Your LifeThe Power of Gratitude: How Gratitude Can Change Your Life
The Power of Gratitude: How Gratitude Can Change Your Life
 
2024欧洲杯比分投注-2024欧洲杯比分投注推荐-2024欧洲杯比分投注|【​网址​🎉ac99.net🎉​】
2024欧洲杯比分投注-2024欧洲杯比分投注推荐-2024欧洲杯比分投注|【​网址​🎉ac99.net🎉​】2024欧洲杯比分投注-2024欧洲杯比分投注推荐-2024欧洲杯比分投注|【​网址​🎉ac99.net🎉​】
2024欧洲杯比分投注-2024欧洲杯比分投注推荐-2024欧洲杯比分投注|【​网址​🎉ac99.net🎉​】
 
欧洲杯赌钱-欧洲杯赌钱比赛投注-欧洲杯赌钱比赛投注官网|【​网址​🎉ac22.net🎉​】
欧洲杯赌钱-欧洲杯赌钱比赛投注-欧洲杯赌钱比赛投注官网|【​网址​🎉ac22.net🎉​】欧洲杯赌钱-欧洲杯赌钱比赛投注-欧洲杯赌钱比赛投注官网|【​网址​🎉ac22.net🎉​】
欧洲杯赌钱-欧洲杯赌钱比赛投注-欧洲杯赌钱比赛投注官网|【​网址​🎉ac22.net🎉​】
 
欧洲杯足彩-欧洲杯足彩线上体育买球-欧洲杯足彩买球推荐网站|【​网址​🎉ac55.net🎉​】
欧洲杯足彩-欧洲杯足彩线上体育买球-欧洲杯足彩买球推荐网站|【​网址​🎉ac55.net🎉​】欧洲杯足彩-欧洲杯足彩线上体育买球-欧洲杯足彩买球推荐网站|【​网址​🎉ac55.net🎉​】
欧洲杯足彩-欧洲杯足彩线上体育买球-欧洲杯足彩买球推荐网站|【​网址​🎉ac55.net🎉​】
 
Goldsetu a leading B2b jewellery App for all your Business
Goldsetu a leading B2b jewellery App for  all your BusinessGoldsetu a leading B2b jewellery App for  all your Business
Goldsetu a leading B2b jewellery App for all your Business
 
MISS TEEN HYDERABAD 2024 - WINNER RYKA TANDON
MISS TEEN HYDERABAD 2024 - WINNER RYKA TANDONMISS TEEN HYDERABAD 2024 - WINNER RYKA TANDON
MISS TEEN HYDERABAD 2024 - WINNER RYKA TANDON
 
The Traditional Weddings of the United States of America
The Traditional Weddings of the United States of AmericaThe Traditional Weddings of the United States of America
The Traditional Weddings of the United States of America
 
Navigating the World of Topsoil: A Guide to the Right Choice for Your Garden
Navigating the World of Topsoil: A Guide to the Right Choice for Your GardenNavigating the World of Topsoil: A Guide to the Right Choice for Your Garden
Navigating the World of Topsoil: A Guide to the Right Choice for Your Garden
 
欧洲杯买球-欧洲杯买球猜球-欧洲杯买球猜球网站|【​网址​🎉ac10.net🎉​】
欧洲杯买球-欧洲杯买球猜球-欧洲杯买球猜球网站|【​网址​🎉ac10.net🎉​】欧洲杯买球-欧洲杯买球猜球-欧洲杯买球猜球网站|【​网址​🎉ac10.net🎉​】
欧洲杯买球-欧洲杯买球猜球-欧洲杯买球猜球网站|【​网址​🎉ac10.net🎉​】
 
Green Illustrated Sustainable World Presentation.pdf
Green Illustrated Sustainable World Presentation.pdfGreen Illustrated Sustainable World Presentation.pdf
Green Illustrated Sustainable World Presentation.pdf
 
What Does Professional Yard Clean Up Include
What Does Professional Yard Clean Up IncludeWhat Does Professional Yard Clean Up Include
What Does Professional Yard Clean Up Include
 
欧洲杯下注-欧洲杯下注买球网-欧洲杯下注买球网站|【​网址​🎉ac10.net🎉​】
欧洲杯下注-欧洲杯下注买球网-欧洲杯下注买球网站|【​网址​🎉ac10.net🎉​】欧洲杯下注-欧洲杯下注买球网-欧洲杯下注买球网站|【​网址​🎉ac10.net🎉​】
欧洲杯下注-欧洲杯下注买球网-欧洲杯下注买球网站|【​网址​🎉ac10.net🎉​】
 
一比一原版塔夫斯大学毕业证Tufts成绩单一模一样
一比一原版塔夫斯大学毕业证Tufts成绩单一模一样一比一原版塔夫斯大学毕业证Tufts成绩单一模一样
一比一原版塔夫斯大学毕业证Tufts成绩单一模一样
 
美洲杯投注冠军赔率揭晓!谁将问鼎南美之王?|【​网址​🎉ac22.net🎉​】
美洲杯投注冠军赔率揭晓!谁将问鼎南美之王?|【​网址​🎉ac22.net🎉​】美洲杯投注冠军赔率揭晓!谁将问鼎南美之王?|【​网址​🎉ac22.net🎉​】
美洲杯投注冠军赔率揭晓!谁将问鼎南美之王?|【​网址​🎉ac22.net🎉​】
 

Introduction to OpenBricks: an Embedded Linux Framework

  • 1. Introduction to OpenBricks: an Embedded Linux Framework Benjamin Zores 6th February 2011 FOSDEM, Brussels
  • 2. What is OpenBricks ? Enterprise-grade embedded Linux framework and build system. For easy and custom Linux distribution bring-up. Runs on a wide variety of hardware. For rapid prototyping or full-blown product development. • “Hum, seems like I’ve already heard about that ... So how is it different from … ?” B. Zores – FOSDEM 2011
  • 3. State of the Art 2011 Embedded Linux build systems: • OpenEmbedded (Angström, Poky, Yocto, ...) • Buildroot • OpenWRT • T2 SDE • Linux Target Image Builder (LTIB) • “Professional”: Windriver, Montavista, Mentor Graphics … • And now OpenBricks ?? • More details in a further talk, but in the mean time: http://tinyurl.com/EmbeddedLinuxBuildSystems B. Zores – FOSDEM 2011
  • 4. So why yet another build system in 2011 ? Because Google’s Android is not the perfect embedded OS. History: • OpenBricks “brand” in itself was founded in Oct. 2010. • But came as an extension to the GeeXboX project - © 2002. • Inherited toolchain and philosophy, but designed to be more versatile. • Now used as custom build framework for GeeXboX OS. Each build system has pros and cons, but projects all have very different philosophies. • So it’s not exactly new … B. Zores – FOSDEM 2011
  • 5. The 5 minutes Overview Embedded Linux build framework for individuals and/or enterprises for either easy prototyping or full-blown products development. Replaces traditional BSPs with a fine-grained package tuning ability (through kconfig interface). Support for x86, ARM, PowerPC and MIPS architectures with reference boards optimizations. Brings up low-level system and features major applicative frameworks (Qt, EFL, GTK, SDL) for developers to only focus on end-user applications. Multimedia-oriented but with general purpose: • Currently sustains the GeeXboX STB OS project. • But allow you to build your unique one too … B. Zores – FOSDEM 2011
  • 6. Supported Architectures x86 (32/64 bits): from generic builds to custom ATOM/ION optimized ones. PowerPC (32/64 bits) MIPS (32 bits) ARM: • ARM9 (e.g. Marvell Kirkwood …) • ARM11 (e.g. Broadcom BCM11107 Persona family …) • Cortex A8 / A9 (e.g. TI OMAP3, TI OMAP4, nVidia Tegra250 …) With known reference boards optimizations: Beagleboard, IGEPv2, Touchbook, Pandaboard … Much more to be expected: Freescale i.MX, Qualcomm SnapDragon, Marvell Armada, Intel CE4xxx … B. Zores – FOSDEM 2011
  • 7. Applicative Features Supported Languages: • Shell, C, C++, Python, Perl, Lua, Vala Supported Frameworks: • Nokia Qt 4.7.1 with support for: • Webkit • QtMobility • QtDeclarative / QML • Enlightenment EFL 1.0 • GTK+ 2.22 • SDL Simple DirectMedia Layer 1.2 B. Zores – FOSDEM 2011
  • 8. Multimedia Features - Graphics Native framebuffer interface. Accelerated DirectFB engine. Accelerated X11 Infrastructure. Support for Khronos group standards: • EGL Native Platform Graphics Interface • Desktop OpenGL 3.0 • Embedded OpenGL|ES 2.1 • Embedded OpenVG 1.0 • Provided either by Mesa or by manufacturer’s binary blobs. B. Zores – FOSDEM 2011
  • 9. Multimedia Features - Audio/Video Audio Frameworks: • ALSA, PulseAudio Software Video Frameworks: • SMP-optimized FFmpeg decoders. Hardware Video Frameworks: • Khronos OpenMAX (OMAP3, OMAP4, Tegra2). • nVidia VDPAU (x86 with nVidia GeForce GPU). • Freedesktop VA-API (x86 with Intel or ATI GPUs). • Broadcom CrystalHD (BCM 70012/70015 chips). • Other native SoC acceleration (OMAP3, OMAP4). B. Zores – FOSDEM 2011
  • 10. Multimedia Features - Applications Frameworks and Players: • MPlayer, Xine, GStreamer, VLC • libplayer Audio/Video abstraction framework Media Center frontends: • XBMC • Video Disk Recorder (VDR) • Enna • HTS Showtime • Nokia QtMediaHub • MythTV B. Zores – FOSDEM 2011
  • 11. Build System Overview Fully POSIX shell scripts based: • Easy understanding, hacking and maintenance ... • … at least much more than obfuscated Makefiles or Python stuff ;-) Does not require any externals tools or environment. • Required host build tools and packages are built along the way. • Cross-Compilation Safety and Robustness • Triggers GCC internal errors on -I/usr/include and -L/usr/lib Fully customizable: • Supports customized distribution flavours pre-generated configurations. • Complete standalone package/feature selection through Kconfig interface. • Per-package fine-tuning through use flags (similar to Gentoo). Features per-package metadata rules for abstracted in/out. With more than 550 supported packages. B. Zores – FOSDEM 2011
  • 12. Toolchain Overview Support for multiple GCC-based cross-compilers: • OpenBricks multi-architectures native one. • Linaro for ARM. • CodeSourcery for ARM. • Support for multiple C libraries: • GNU libc (glibc) • Embedded GLIBC (eGlibc). This is default one ! • uClibc • klibc (for early ramdisk bits). Do your own mix ! B. Zores – FOSDEM 2011
  • 13. Configuration Overview (1/2) Up to 3-levels of hardware configuration tuning: • Architecture (e.g. ARM, x86 …) • Platform (e.g generic, OMAP3, OMAP4 …) • Machine (e.g. generic, Beagleboard, IGEPv2 …) • The deeper, the more optimized (footprint, selected packages …), but the less portable … -> it’s up to you to choose depending on your needs ! Automatic package inter-dependencies selection and build process. Support for per arch/platform/machine package overlay. B. Zores – FOSDEM 2011
  • 14. Configuration Overview (2/2) Features fine-tuning through “use flags” (similar to Gentoo): • Conditionally build specific features. • Enable flags per-package or system-wide. • You can also have package-specific flags. • Infinite number of them … Pre-determined packages subset, a.k.a. build flavours: • Minimalist base bootable system. • GeeXboX MediaCenter-oriented distribution. • Add your own distro here ! B. Zores – FOSDEM 2011
  • 15. Key Build Framework Features Bleeding-edge packages: latest stable package version policy. Support for arch/platform/machine specific package overlay (sources, patches …). Modern user-space: systemd, udev, D-Bus, connman … Stuff gets packaged into low-resources OPKG packages. Multiple OPK build residue: runtime, devel, debug. Multiple target system delivery forms: • Flashable disk images: JFFS2, UBIFS, EXT 2/3/4. • x86 LiveCD (ISO) and network (PXE) bootable images. • Flat root filesystem • Virtual machines images: QEMU, VMware B. Zores – FOSDEM 2011
  • 16. Package Description Template Files Structure: • build: cross-build rules • install: installation rules for target (optional) • installdev: installation rules for host toolchain (optional) • meta: metadata, use flags and package description. • unit (optional) • package.service: systemd service. • patches (optional) • 01_fix.diff • 02_feature.diff • series (optional) B. Zores – FOSDEM 2011
  • 17. “Simple” package example: syslink (1/4) ● Metadata description: PKG_NAME=syslink PKG_VERSION=0.24.9.2 PKG_URL="$DISTRO_SRCS/tisyslink-${PKG_VERSION}.tar.bz2" PKG_REV=1 PKG_DEPENDS="$TARGET_LIBC tiler" PKG_BUILD_DEPENDS="toolchain" PKG_PRIORITY=optional PKG_SECTION=libs PKG_SHORTDESC="TI OMAP4 SysLink DSP interface" PKG_LONGDESC="SysLink is the next generation IPC driver developed for OMAP4 and beyond. SysLink is an evolution of both the previous-generation IPC drivers - DSPBridge and DSPLink." B. Zores – FOSDEM 2011
  • 18. “Simple” package example: syslink (2/4) Build Rules: #!/bin/sh . config/options cd $BUILD/$1* do_configure --disable-debug make make_install B. Zores – FOSDEM 2011
  • 19. “Simple” package example: syslink (3/4) Toolchain installation files rules (dev opk file): do_installdev usr/include do_installdev usr/lib Runtime target installation files rules (runtime + dbg opk file): do_install usr/bin/syslink_daemon.out do_install usr/lib/libipc.so* do_install usr/lib/libipcutils.so* do_install usr/lib/libomap4430proc.so* do_install usr/lib/libprocmgr.so* do_install usr/lib/librcm.so* do_install usr/lib/libsyslinknotify.so* do_install usr/lib/libsysmgr.so* B. Zores – FOSDEM 2011
  • 20. “Simple” package example: syslink (4/4) SystemD Service: [Unit] Description=Ducati Syslink daemon ConditionPathExists=/etc/syslink.conf After=syslog.target [Service] EnvironmentFile=/etc/syslink.conf Type=forking ExecStart=/usr/bin/syslink_daemon.out $SYSM3_IMAGE $APPM3_IMAGE Restart=always [Install] WantedBy=multi-user.target B. Zores – FOSDEM 2011
  • 21. “Average” package example: libplayer (1/2) Metadata description: PKG_NAME=libplayer PKG_VERSION=2.0.1 PKG_URL="http://libplayer.geexbox.org/releases/libplayer- $PKG_VERSION.tar.bz2" PKG_REV=1 PKG_BUILD_DEPENDS="toolchain" PKG_RUN_DEPENDS="$TARGET_LIBC" PKG_USE="gstreamer xorg vdpau" # gstreamer PKG_USE_DESC_gstreamer="Enable GStreamer backend" PKG_USE_HELP_gstreamer="Enables the GStreamer backend." PKG_DEPENDS_gstreamer="gstreamer gst-plugins-base" # xorg PKG_DEPENDS_xorg="libX11" PKG_DEPENDS_vdpau="libvdpau" B. Zores – FOSDEM 2011
  • 22. “Average” package example: libplayer (2/2) Build Rules: #!/bin/sh . config/options XORG_CONFIG="--disable-x11" pkg_uses $1 xorg && XORG_CONFIG="--enable-x11 --enable-xlib-hack" GST_CONFIG="--disable-gstreamer" pkg_uses $1 gstreamer && GST_CONFIG="--enable-gstreamer" cd $BUILD/$1* do_configure $GST_CONFIG $XORG_CONFIG --cross-compile --disable-doc make && make_install B. Zores – FOSDEM 2011
  • 23. How you can one help (or get helped) ? Get some help or information: • Website provides a complete documentation on build system internals. • On our mailing list: devel@openbricks.org Join the development team: • Add new packages, hence features. • Add support for new/more hardware (yours ?). • Increase flavours support by adding your custom distribution subset. Sponsor us with a couple of reference boards. • Only way for the team to really support your architecture … • We’re still interested in Intel / Freescale / Qualcomm / Marvell boards. Donations • The usual way: helps us buy new toys to be supported ... B. Zores – FOSDEM 2011
  • 24. Thanks ... http://www.openbricks.org/ THANKS !! B. Zores – FOSDEM 2011