Introduction to OpenBricks - Embedded Linux Framework
Presentation about the OpenBricks framework, by the GeeXboX team, and how it can help you easily create your own embedded Linux distribution for a various amount of x86, MIPS and ARM targets.
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 … ?” What is OpenBricks ? B. Zores – FOSDEM 2011
...) • 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 State of the Art B. Zores – FOSDEM 2011
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 … The 5 minutes Overview B. Zores – FOSDEM 2011
Audio/Video abstraction framework Media Center frontends: • XBMC • Video Disk Recorder (VDR) • Enna • HTS Showtime • Nokia QtMediaHub • MythTV Multimedia Features - Applications B. Zores – FOSDEM 2011
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. Build System Overview B. Zores – FOSDEM 2011
• 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 ! Toolchain Overview B. Zores – FOSDEM 2011
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. Configuration Overview (1/2) B. Zores – FOSDEM 2011
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 ! Configuration Overview (2/2) B. Zores – FOSDEM 2011
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." “Simple” package example: syslink (1/4) B. Zores – FOSDEM 2011
documentation on build system internals. • On our mailing list: [email protected] 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 ... How you can one help (or get helped) ? B. Zores – FOSDEM 2011