Home

OpenEmbedded - Free Electrons

image

Contents

1. Get the latest stable version of bitbake gt cd SHOME oe gt svn co svn svn berlios de bitbake branches bitbake 1 8 bitbake Keep bitbake updated gt cd SHOME oe bitbake svn update Add bitbake to the Unix PATH export PATH SHOME oe bitbake bin PATH You may check whether a new stable branch is available see http oe linuxtogo org wiki GettingStarted for details The OE database is available through a Monotone repository P Get the latest snapshot of the database gt cd SHOME oe gt wget http www openembedded org snapshots OE mtn bz2 gt bunzip2 d OE mtn bz2 Warning this file is big 170 MB as of May 23 2008 gt Choose a development branch from the list on http 0e linuxtogo org wiki DevelopmentBranches b Let s assume that you chose the org openembedded stable branch recommended gt Update your local copy of the OE database gt mtn db OE mtn pull monotone openembedded org org openembedded stable gt Now checkout your local copy of the OE tree gt mtn db OE mtn checkout branch org openembedded stable b It is recommended to keep your database updated frequently as it gets multiple updates per day gt cd SHOME oe org openembedded stable gt mtn update Create a local configuration by starting from the supplied template gt cd SHOME oe gt mkdir p build conf gt cp org openembedded stable conf local conf sample build conf local conf gt vi build co
2. Buildroot project Linux kernel begins a new life Embedded Linux kernel and driver development FOSDEM 2009 videos New features in Linux 2 6 since 2 6 10 Kernel initialization USB Ethernet device for Porting Linux to new hardware Power management in Linux Linux PCI drivers Block device drivers Linux USB drivers Linux Conference 2009 DMA Linux Program for Embedded announced Architecture specific documents Public session changes ARM Linux specifics Linux on TI OMAP processors Real hardware in our Embedded Linux system development training sessions Embedded Linux system development Real time in embedded Linux systems Block filesystems Flash filesystems Free software development tools The U boot bootloader The GRUB bootloader The blob bootloader Hotplugging with udev Introduction to uClinux Java in embedded Linux Embedded Linux optimizations Audio in embedded Linux systems Multimedia in embedded Linux systems Embedded Linux From Scratch in 40 minutes Building embedded Linux systems with Buildroot Developing embedded distributions with OpenEmbedded The Scratchbox development environment Call for presentations for the LSM embedded track Miscellaneous Introduction to the Unix command line SSH Linux virtualization solutions with an embedded perspective Advantages of Free Software and Open Source in embedded systems Introduction to G
3. the job P bitbake retrieves sources for a significant number of packages directly through CVS b CVS port often blocked by proxies b In this case can use an HTTP mirror with tarballs generated every day Just an example the below URL doesn t seem to work any more CVS TARBALL STASH http oesources org source current b Highly protected networks with no outside HTTP access can set up their own mirror P bitbake parses all configuration and recipe files found in directories specified by BBPATH environment variable P Suggestion make an overlay directory holding b Specific configuration files P Project specific packages b Any redefinition of OE files package bb files configuration files classes gt You should set the BBPATH variable as follows export BBPATH SHOME oe overlay SHOME oe org openembedded stable b The overlay directory should have the below structure P conf custom and redefined configuration files P packages project specific and redefined bb files e files figuration and packag Config Highest level of configuration files They define gt Toolchain and package versions gt Package configuration Packages can be built in several ways The distro chooses which one gt Distribution information variables gt High level settings filesystem formats use udev etc 9 TYPE Distribution NAME GMUstix DESCRIPTION Gumstix distribution for GMU Ge
4. NU Linux and Free Software All our technical presentations on http free electrons com docs P Linux kernel gt Device drivers gt Architecture specifics gt Embedded Linux system development You can help us to improve and maintain this document gt By sending corrections suggestions contributions and translations gt By asking your organization to order development consulting and training services performed by the authors of these documents see http free electrons com gt By sharing this document with your friends colleagues and with the local Free Software community gt By adding links on your website to our on line materials to increase their visibility in search engine results Linux kernel Linux device drivers Board support code Mainstreaming kernel code Kernel debugging Embedded Linux Training All materials released with a free license Unix and GNU Linux basics Linux kernel and drivers development Real time Linux uClinux Development and profiling tools Lightweight tools for embedded systems Root filesystem creation Audio and multimedia System optimization RR http Iftree TA com a Free Electrons Our services Custom Development System integration Embedded Linux demos and prototypes System optimization Application and interface development Consulting and technical support Help in decision making System architecture System design and performance r
5. OpenEmbedded OpenEmbedded Michael Opdenacker Thomas Petazzoni Free Electrons open N Free Electrons Kernel drivers and embedded Linux development consulting training and support http free electrons com Copyright 2004 2009 Free Electrons feedback free electrons com Document sources updates and translations http free electrons com docs openembedded Jereative Corrections suggestions contributions and commons translations are welcome COMMON D E E D Attribution ShareAlike 3 0 Latest update Sep 15 2009 You are free to copy distribute display and perform the work to make derivative works to make commercial use of the work Under the following conditions Attribution You must give the original author credit Share Alike If you alter transform or build upon this work you may distribute the resulting work only under a license identical to this one For any reuse or distribution you must make clear to others the license terms of this work 6 Any ofthese conditions can be waived if you get permission from the copyright holder Your fair use and other rights are in no way affected by the above License text http creativecommons org licenses by sa 3 0 legalcode b Started as the build system for the OpenZaurus distribution for Sharp Zaurus PDAs b Then developers of the Familiar distribution for PDAs decided to share their development efforts with OpenZaurus This increased the p
6. et screen used by sysvinit 2 SERIAL CONSOLE 115200 ttysoO IMAGE FSTYPES jffs2 EXTRA IMAGECMD jffs2 pad little endian eraseblock 0x20000 n require conf machine include tune arm926ejs inc KERNEL IMAGETYPE uImage 26 bb files b Declare environment variables needed by bitbake to build a package mainly package related information gt Declare methods to execute to build a package fetching configuring compiling installing b Classes Common steps for a class of packages Example all Qtopia Core packages are built in the same way with qmake b Packages Inherit classes and add or override specific settings or steps Also declare package dependencies b Tasks Define collections of packages to be built b Images Create filesystem images from tasks 9 def gnome_verdir v import re m re match 0 9 0 9 v return s s m group 1 m group 2 SECTION x11 gnome SRC_URI GNOME MIRROR PN gnome verdir PV PN PV tar bz2 DEPENDS gnome common FILES S PN S datadir application registry datadir mime info S datadir gnome 2 O inherit autotools pkgconfig gconf gnome stage includes autotools stage includes 29 DESCRIPTION Lightweight gtk browser enhanced version with support for SSL frames tabs and much more HOMEPAGE http www dillo org SECTION x1ll network PRIORITY op
7. eview Development tool and application support Investigating issues and fixing tool bugs es Way A dd Free Electrons mg Linux Experts ss
8. nf local conf Read comments in the build conf local conf file carefully You should have at least the following 3 settings b Define where bb files are available BBFILES S HOME oe org openembedded stable packages bb b Choose a machine from org openembedded stable conf machine or create a new one For example MACHINE at91sam9263ek b Choose a distribution from org openembedded stable conf distro or create a new one For example DISTRO angstrom 2008 1 b Specify a project wide download directory or mirror to save downloading time or to work behind a firewall DL DIR work project oe sources gt Enable parallel compiling and processing PARALLEL MAKE j 4 BB NUMBER THREADS 4 b Specify filesystem images to build IMAGE FSTYPES ext2 tar Oo gt Create and source an environment setting script example export PATH SHOME oe bitbake bin SPATH export BBPATH SHOME oe build SHOME org openembedded stable b Tweak for Ubuntu Hardy gt echo 0 gt proc sys vm mmap min addr b You are ready to start at last b Pick up a default system image in org openembedded stable packages images or make your own Several images such as opie image Ot based or gpe image GTK based can be available for the same core distribution P Run bitbake to create your system image bitbake your system image b Now be patient lt will take hours for your machine to complete
9. ngs determinism and reproducibility in product development provided you froze the versions of all the components gt Big user community Look at the packages directory and discover packages you didn t know about b Very long runs gt Too complex filesystems sometimes You may want to have the applications without the packages to save space in very small systems gt Builds generic filesystems by default Good for PDAs and phones or systems which are meant to be general purpose A lot of overrides needed to generate a system with a very limited purpose without creating components that you won t use b Builds all interface translations by default gt Powerful but complex Long learning curve Buildroot more difficult to customize but much easier to use b It relies on Monotone 38 Too modular b Great flexibility and great for development bb But too many shell scripts duplicating the same tests environment variables existence of files or devices device information over and over again unaware of what has already been tested Too generic e Generic scripts testing things or features which are not present in the system b Still too close to a generic GNU Linux system All this costs tens of seconds in boot time Execution performance is all right though 39 At the end of development with OE when everything works fine gt Remove unneeded and duplicate tests in init scripts b Even better
10. orge Mason University INHERIT package tar package ipk TARGET OS Iinux uclibc TARGET FPU Sort IMAGE ESTYPES jffs2 PREFERRED_PROVIDERS virtual TARGET_PREFIX gcc initial gcc cross initial PREFERRED_PROVIDERS virtual S TARGET PREFIX gcc gcc cross PREFERRED PROVIDERS virtual S TARGET PREFIX g gcc cross PREFERRED PROVIDERS virtual TARGET PREFIX libc for gcc uclibc PREFERRED PROVIDER classpath classpath minimal PREFERRED VERSION gcc cross initial 3 4 4 PREFERRED VERSION gcc cross 3 4 4 PREFERRED VERSION gcc cross sdk 3 4 4 PREFERRED VERSION Gee 3 4 4 PREFERRED VERSION ipkg native 0 99 160 PREFERRED VERSION gemu native 0 8 0 DISTRO VERSION uno IPK EXCLUDE SOURCE 1 24 Defines board specific features such as b Architecture gt Compiler version and CPU instruction set optimizations such as armv5te and i686 P Kernel version and package provider b Board specific libraries services and utilities 9 TYPE Machine Name Atmel AT91SAM9263EK Development Platform DESCRIPTION Machine configuration for the at9lsam9263ek development board with a at91sam9263 processor TARGET ARCH arm PACKAGE EXTRA ARCHS armv4t armv5te PREFERRED PROVIDER virtual kernel MS AK PREFERRED PROVIDER xserver xserver kdrive don t try to access ttyl USE VT 0 MACHINE FEATURES kernel26 alsa ext2 usbhost usbgadg
11. pies to the root filesystem and creates packages including the C library e Supports both glibc or uClibc gt Can be used to compile for several architectures in parallel Need to duplicate build directories though gt Builds filesystem images by creating and installing packages Supports several package formats rpm ipk deb gt Can be used to cross compile a single package bitbake dropbear Source code Contig fetches parses generates parses Filesystem Images Using OpenEmbedded gt Use a GNU Linux workstation with at least 512 MB of RAM 1 GB recommended Otherwise runs are extremely long because of Swapping gt Choose a partition with at least 10 GB of free space bitbake doesn t clean up sources after compiling gt Create a working directory with no symbolic link above gt mkdir SHOME oe gt You are also going to need a lot of time OE takes hours to run Oo Instructions tested on Ubuntu 8 04 W Tools to fetch code from source repositories gt apt get install wget curl gt apt get install cvs subversion monotone git Compiler related tools apt get install m4 make ccache sed bison b Python Just In Time compiler accelerates bitbake gt apt get install python psyco b Documentation related tools gt apt get install diffstat gawk help2man texi2html texinfo See http oe linuxtogo org wiki RequiredSoftware if anything changes in the future
12. replace individual init scripts by a single startup one gt Remove any file or executable you do not need b Look for duplicate files bb Block storage put all your programs and libraries in a SquashFS partition Reading files faster can boost startup time too gt ELC 2008 presentation by Matthew Locke http www celinux org elcO8 presentations mlocke elc2008 oe pdi b First Project a very nice testimonial and getting started instructions http 0e linuxtogo org node 65 diff 416 417 gt OpenEmbedded getting started guide http oe linuxtogo org wiki GettingStarted b BitBake user manual http bitbake berlios de manual P OpenEmbedded Wiki http 0e linuxtogo org wiki B OE mailing lists http www openembedded org contact 41 Free Electrons Embedded Freedom HOME DEVELOPMENT SERVICES TRAINING Docs COMMUNITY COMPANY Docs Recent blog posts Most of the below documents are presentations used in our training sessions or in technical conferences ELC Europe in Grenoble Free Electrons at ELC License Linux kernel 2 6 29 New features for embedded ShareAlike 3 0 license This essentially means that you are free to download distribute and even modify them provided you mention us as the original authors and that you share these documents under the same conditions All our documents are available under the terms of the Creative Commons Attribution users The
13. roject momentum and made it more generic b Then other embedded distributions started to adopt OE too Unslug OpenSimpad GPE Phone Edition Angstrom OpenMoko See http oe linuxtogo org wiki SuccesStories for an impressive list of projects relying on OE b bitbake self contained cross compiling and building environment for embedded devices gt OpenEmbedded collection of bitbake recipes metadata describing how to build b Packages for thousands of tools applications libraries kernels bootloaders In May 2008 1600 packages in packages lt tool gt 5100 package versions in packages lt tool gt bb gt Target machines May 2008 161 machines defined in conf machine P Distributions machine and package configurations May 2008 34 machines defined in conf distro 4 Generates everything from scratch using package descriptions gt Implemented in Python Created from Gentoo s emerge tool Still many similarities bb Fetches sources from the Internet either from tarballs or from source control repositories svn cvs dit It can also use source mirrors gt Applies patches contained in package descriptions gt By default builds the latest version of all components unless specific versions are chosen by the distribution gt Even builds the compiler and cross compiler versions you specified as well as configuration tools autoconi 5 gt Configures compiles and deploys co
14. system images for block storage ext2 ext3 squashfs b Tarballs for nfsroot initramfs or init ramdisks gt Remember that root filesystems are created from packages gt Images files are created in tmp deploy images IMAGE LINGUAS IMAGE INSTALL N MACHINE TASK PROVIDER task openmoko linux task openmoko net task openmoko ui task openmoko base task openmoko phone task openmoko games task openmoko pim DEPENDS MACHINE TASK PROVIDER task openmoko Y inherit image ROOTFS POSTPROCESS COMMAND date m d H M Y gt IMAGE ROOTFS etc timestamp 34 gt When you build a new application for an OE based system OE is a too heavy environment to compile your application every time you update the sources b With OE it s possible to export a standalone SDK which can be used to develop your application gt The SDK can be shared by the whole team b Of course at the end you can add a recipe for your package and build your system with it See packages meta meta toolchain gpe bb and packages meta meta toolchain bb for more information Conclusions and references gt Best tool for embedded distribution makers targeting multiple devices of the same kind or generic devices open to third party community applications gt Allows developers to share their experience building common libraries and utilities and compete only on the embedded system itself gt Bri
15. tional LICENSE GPL DEPENDS gtk 1 2 libpng openssl RCONFLICTS dillo2 PR r2 W SRC_URI http www dillo org download dillo PV tar bz2 N file dillo il8n diff patch 1 file dillo desktop file dillo png S S WORKDIR dillo PV inherit autotools pkgconfig FILES S PN usr lib dillo usr bin dpid usr bin dpidc FILES PN dbg libdir dillo dpi debug export PNG CONFIG SISTAGING BINDIR_CROSS libpng config EXTRA OECONF disable dlgui disable anti alias do install append ki install d D datadir applications install d D S datadir pixmaps install m 0644 WORKDIR dillo desktop D datadir applications dillo desktop install m 0644 WORKDIR dillo png D S datadir pixmaps dillo png 30 Typical classes b Base basic user space applications to boot to a command line prompt C library BusyBox init scripts sshd gt Core core tools and libraries needed by the applications gt Apps UI class of applications corresponding to product applications DESCRIPTION Games task package for GPE Palmtop Environment PR r6 LICENSE MIT inherit task RDEPENDS PN gpe go gpe lights gpe othello gpe tetris gsoko xdemineur P Specify what goes into the root filesystem gt Image types defined in the distro or local configuration b Flash file systems to store on flash storage jffs2 P Other file

Download Pdf Manuals

image

Related Search

Related Contents

APC AR7581A  Parts & Maintenance Manual Ersatzteil  LEGEND VALVE 108-904RVTV Use and Care Manual  DS1800 einbauen  User Manual  Peerless ACC912  Samsung GT-I8510 User Manual      Istruzioni per l`uso  

Copyright © All rights reserved.
Failed to retrieve file