... 311 K25Free Software tools for embedded systems © Copyright 20042008, Free ElectronsCreative Commons AttributionShareAlike 2.5 licensehttp://freeelectrons.comJan 24, 2008Scratchbox featuresMain benefitsChrooted environment:you are still on the host, but you only see the target files.Transparent crosscompiling: the crosscompiler looks like a native one.Transparent execution: either through remote execution on the target. Or through CPU code emulation (qemu).Other featuresShips with crosscompiling toolchainsand software to create Debian packages.Supports both uClibc and glibc.Very basic root filesystems available.100Free Software tools for embedded systems © Copyright 20042008, Free ElectronsCreative Commons AttributionShareAlike 2.5 licensehttp://freeelectrons.comJan 24, 2008BusyBox viIf you are using BusyBox, adding vi supports only adds 20K. (built with shared libraries, using uClibc).You can select which exact features to compile in.Users hardly realize that they are using a lightweight vi version!Tip: you can learn vi on the desktop,by running the vimtutor command.26Free Software tools for embedded systems © Copyright 20042008, Free ElectronsCreative Commons AttributionShareAlike 2.5 licensehttp://freeelectrons.comJan 24, 2008Toolchains useful resourceseLinux.org toolchain page:http://elinux.org/Tool_Chains101Free Software tools for embedded systems © Copyright 20042008, Free ElectronsCreative Commons AttributionShareAlike 2.5 licensehttp://freeelectrons.comJan 24, 2008e3 editorhttp://freshmeat.net/projects/e3/Extremely small textonly text editor:13K for i386 Linux35K for arm LinuxWritten in assembly for i386 and arm.Supports key commandsfor WordStar, Emacs, Pico, Nedit, or vi.Key help available in the interface.C implementation available for other platforms(only supports WordStar).27Free Software tools for embedded systems © Copyright 20042008, Free ElectronsCreative Commons AttributionShareAlike 2.5 licensehttp://freeelectrons.comJan 24, 2008Crosscompiling toolchains SummaryBuilding a toolchain by yourselfTough and very long to master.Readytouse toolchainsAvailable from several locations for most platforms.Tools to build toolchains: Buildroot and Crosstool.Make it easy to create a toolchain for your exact needs. Build systems: Scratchbox, OpenEmbedded (see annex section)Help you to create and populate root filesystem.102Free Software tools for embedded systems © Copyright 20042008, Free ElectronsCreative Commons AttributionShareAlike 2.5 licensehttp://freeelectrons.comJan 24, 2008Free Software tools for embedded systems Tools for the target devicePrecompiled packages, distributions28Free Software tools for embedded systems © Copyright 20042008, Free ElectronsCreative Commons AttributionShareAlike 2.5 licensehttp://freeelectrons.comJan 24, 2008Practical lab – Using buildrootTime to start Lab 1!Configure buildrootRun it to build your own crosscompiling toolchain103Free Software tools for embedded systems © Copyright 20042008, Free ElectronsCreative Commons AttributionShareAlike 2.5 licensehttp://freeelectrons.comJan 24, 2008DistributionsDistribute ready to use root filesystems.Can be used by any binary compatible platform.Example: running Familiar Linux on a mobile phone!Can be reused even on an early development phase.No need to create your root filesystem from scratch!Easy to upgrade, remove or add applications through binary packages.29Free Software tools for embedded systems © Copyright 20042008, Free ElectronsCreative Commons AttributionShareAlike 2.5 licensehttp://freeelectrons.comJan 24, 2008Free Software tools for embedded systems GNU / Linux workstationEmulators ... 311 K25Free Software tools for embedded systems © Copyright 20042008, Free ElectronsCreative Commons AttributionShareAlike 2.5 licensehttp://freeelectrons.comJan 24, 2008Scratchbox featuresMain benefitsChrooted environment:you are still on the host, but you only see the target files.Transparent crosscompiling: the crosscompiler looks like a native one.Transparent execution: either through remote execution on the target. Or through CPU code emulation (qemu).Other featuresShips with crosscompiling toolchainsand software to create Debian packages.Supports both uClibc and glibc.Very basic root filesystems available.100Free Software tools for embedded systems © Copyright 20042008, Free ElectronsCreative Commons AttributionShareAlike 2.5 licensehttp://freeelectrons.comJan 24, 2008BusyBox viIf you are using BusyBox, adding vi supports only adds 20K. (built with shared libraries, using uClibc).You can select which exact features to compile in.Users hardly realize that they are using a lightweight vi version!Tip: you can learn vi on the desktop,by running the vimtutor command.26Free Software tools for embedded systems © Copyright 20042008, Free ElectronsCreative Commons AttributionShareAlike 2.5 licensehttp://freeelectrons.comJan 24, 2008Toolchains useful resourceseLinux.org toolchain page:http://elinux.org/Tool_Chains101Free Software tools for embedded systems © Copyright 20042008, Free ElectronsCreative Commons AttributionShareAlike 2.5 licensehttp://freeelectrons.comJan 24, 2008e3 editorhttp://freshmeat.net/projects/e3/Extremely small textonly text editor:13K for i386 Linux35K for arm LinuxWritten in assembly for i386 and arm.Supports key commandsfor WordStar, Emacs, Pico, Nedit, or vi.Key help available in the interface.C implementation available for other platforms(only supports WordStar).27Free Software tools for embedded systems © Copyright 20042008, Free ElectronsCreative Commons AttributionShareAlike 2.5 licensehttp://freeelectrons.comJan 24, 2008Crosscompiling toolchains SummaryBuilding a toolchain by yourselfTough and very long to master.Readytouse toolchainsAvailable from several locations for most platforms.Tools to build toolchains: Buildroot and Crosstool.Make it easy to create a toolchain for your exact needs. Build systems: Scratchbox, OpenEmbedded (see annex section)Help you to create and populate root filesystem.102Free Software tools for embedded systems © Copyright 20042008, Free ElectronsCreative Commons AttributionShareAlike 2.5 licensehttp://freeelectrons.comJan 24, 2008Free Software tools for embedded systems Tools for the target devicePrecompiled packages, distributions28Free Software tools for embedded systems © Copyright 20042008, Free ElectronsCreative Commons AttributionShareAlike 2.5 licensehttp://freeelectrons.comJan 24, 2008Practical lab – Using buildrootTime to start Lab 1!Configure buildrootRun it to build your own crosscompiling toolchain103Free Software tools for embedded systems © Copyright 20042008, Free ElectronsCreative Commons AttributionShareAlike 2.5 licensehttp://freeelectrons.comJan 24, 2008DistributionsDistribute ready to use root filesystems.Can be used by any binary compatible platform.Example: running Familiar Linux on a mobile phone!Can be reused even on an early development phase.No need to create your root filesystem from scratch!Easy to upgrade, remove or add applications through binary packages.29Free Software tools for embedded systems © Copyright 20042008, Free ElectronsCreative Commons AttributionShareAlike 2.5 licensehttp://freeelectrons.comJan 24, 2008Free Software tools for embedded systems GNU / Linux workstationEmulators ... 311 K25Free Software tools for embedded systems © Copyright 20042008, Free ElectronsCreative Commons AttributionShareAlike 2.5 licensehttp://freeelectrons.comJan 24, 2008Scratchbox featuresMain benefitsChrooted environment:you are still on the host, but you only see the target files.Transparent crosscompiling: the crosscompiler looks like a native one.Transparent execution: either through remote execution on the target. Or through CPU code emulation (qemu).Other featuresShips with crosscompiling toolchainsand software to create Debian packages.Supports both uClibc and glibc.Very basic root filesystems available.100Free Software tools for embedded systems © Copyright 20042008, Free ElectronsCreative Commons AttributionShareAlike 2.5 licensehttp://freeelectrons.comJan 24, 2008BusyBox viIf you are using BusyBox, adding vi supports only adds 20K. (built with shared libraries, using uClibc).You can select which exact features to compile in.Users hardly realize that they are using a lightweight vi version!Tip: you can learn vi on the desktop,by running the vimtutor command.26Free Software tools for embedded systems © Copyright 20042008, Free ElectronsCreative Commons AttributionShareAlike 2.5 licensehttp://freeelectrons.comJan 24, 2008Toolchains useful resourceseLinux.org toolchain page:http://elinux.org/Tool_Chains101Free Software tools for embedded systems © Copyright 20042008, Free ElectronsCreative Commons AttributionShareAlike 2.5 licensehttp://freeelectrons.comJan 24, 2008e3 editorhttp://freshmeat.net/projects/e3/Extremely small textonly text editor:13K for i386 Linux35K for arm LinuxWritten in assembly for i386 and arm.Supports key commandsfor WordStar, Emacs, Pico, Nedit, or vi.Key help available in the interface.C implementation available for other platforms(only supports WordStar).27Free Software tools for embedded systems © Copyright 20042008, Free ElectronsCreative Commons AttributionShareAlike 2.5 licensehttp://freeelectrons.comJan 24, 2008Crosscompiling toolchains SummaryBuilding a toolchain by yourselfTough and very long to master.Readytouse toolchainsAvailable from several locations for most platforms.Tools to build toolchains: Buildroot and Crosstool.Make it easy to create a toolchain for your exact needs. Build systems: Scratchbox, OpenEmbedded (see annex section)Help you to create and populate root filesystem.102Free Software tools for embedded systems © Copyright 20042008, Free ElectronsCreative Commons AttributionShareAlike 2.5 licensehttp://freeelectrons.comJan 24, 2008Free Software tools for embedded systems Tools for the target devicePrecompiled packages, distributions28Free Software tools for embedded systems © Copyright 20042008, Free ElectronsCreative Commons AttributionShareAlike 2.5 licensehttp://freeelectrons.comJan 24, 2008Practical lab – Using buildrootTime to start Lab 1!Configure buildrootRun it to build your own crosscompiling toolchain103Free Software tools for embedded systems © Copyright 20042008, Free ElectronsCreative Commons AttributionShareAlike 2.5 licensehttp://freeelectrons.comJan 24, 2008DistributionsDistribute ready to use root filesystems.Can be used by any binary compatible platform.Example: running Familiar Linux on a mobile phone!Can be reused even on an early development phase.No need to create your root filesystem from scratch!Easy to upgrade, remove or add applications through binary packages.29Free Software tools for embedded systems © Copyright 20042008, Free ElectronsCreative Commons AttributionShareAlike 2.5 licensehttp://freeelectrons.comJan 24, 2008Free Software tools for embedded systems GNU / Linux workstationEmulators...