Buildroot: flexible building of a custom embedded system
Transcript of Buildroot: flexible building of a custom embedded system
![Page 1: Buildroot: flexible building of a custom embedded system](https://reader031.fdocuments.in/reader031/viewer/2022021209/62063c888c2f7b173005b965/html5/thumbnails/1.jpg)
Buildroot:flexible building
of a custom embedded system© 2012 Essensium N.V.
Parts © Thomas Petazzoni, Free ElectronsThis work is licensed under a
Creative Commons Attribution-ShareAlike 3.0 Unported License
http://mind.be/content/Presentation_Buildroot-Open-Mobile.pdf
![Page 2: Buildroot: flexible building of a custom embedded system](https://reader031.fdocuments.in/reader031/viewer/2022021209/62063c888c2f7b173005b965/html5/thumbnails/2.jpg)
![Page 3: Buildroot: flexible building of a custom embedded system](https://reader031.fdocuments.in/reader031/viewer/2022021209/62063c888c2f7b173005b965/html5/thumbnails/3.jpg)
Arnout VandecappelleBuildroot for Open Mobile
Is the device really hackable?
??
How easily can I install modified software?
![Page 4: Buildroot: flexible building of a custom embedded system](https://reader031.fdocuments.in/reader031/viewer/2022021209/62063c888c2f7b173005b965/html5/thumbnails/4.jpg)
Buildroot for Open Mobile
Buildroot:flexible building
of a custom embedded system© 2012 Essensium N.V.
Parts © Thomas Petazzoni, Free ElectronsThis work is licensed under a
Creative Commons Attribution-ShareAlike 3.0 Unported License
http://mind.be/content/Presentation_Buildroot-Open-Mobile.pdf
![Page 5: Buildroot: flexible building of a custom embedded system](https://reader031.fdocuments.in/reader031/viewer/2022021209/62063c888c2f7b173005b965/html5/thumbnails/5.jpg)
Arnout VandecappelleBuildroot for Open Mobile
Overview
1 Buildroot for the device hacker
2 Buildroot for the device “vendor”
3 What's missing
![Page 6: Buildroot: flexible building of a custom embedded system](https://reader031.fdocuments.in/reader031/viewer/2022021209/62063c888c2f7b173005b965/html5/thumbnails/6.jpg)
Arnout VandecappelleBuildroot for Open Mobile
Buildroot builds a complete system
Buildroot builds: Cross-compiling toolchain Packages Root filesystem image (ext2, jffs2, ubi, ...) Kernel image Bootloader (u-boot, barebox, syslinux, ...)
Configuration system (Kconfig) Simple make-based system No run-time packaging system Small & medium-sized embedded devices Stable releases published every three months Active user/developer community
![Page 7: Buildroot: flexible building of a custom embedded system](https://reader031.fdocuments.in/reader031/viewer/2022021209/62063c888c2f7b173005b965/html5/thumbnails/7.jpg)
Arnout VandecappelleBuildroot for Open Mobile
Workflow for Open Mobile device user (1/3)
MakefilesKconfigspatches
Neurosbuildroot
make neuros_defconfig;make xconfig
![Page 8: Buildroot: flexible building of a custom embedded system](https://reader031.fdocuments.in/reader031/viewer/2022021209/62063c888c2f7b173005b965/html5/thumbnails/8.jpg)
Arnout VandecappelleBuildroot for Open Mobile
Workflow for Open Mobile device user (2/3)
gccμClibclinuxbusyboxmtd-utils
gnu.orgkernel.org
sf.net
make
compilerC librarydebuggertools
boot loader
kernel
packagesskeletoninit
root fs image
![Page 9: Buildroot: flexible building of a custom embedded system](https://reader031.fdocuments.in/reader031/viewer/2022021209/62063c888c2f7b173005b965/html5/thumbnails/9.jpg)
Arnout VandecappelleBuildroot for Open Mobile
Workflow for Open Mobile device user (3/3)
Create upgrade image
Upload to target
![Page 10: Buildroot: flexible building of a custom embedded system](https://reader031.fdocuments.in/reader031/viewer/2022021209/62063c888c2f7b173005b965/html5/thumbnails/10.jpg)
Arnout VandecappelleBuildroot for Open Mobile
Workflow for Open Mobile device vendor (1/3)
MakefilesKconfigspatches
make xconfig;make
boardkernel
patchesdevice
applications
![Page 11: Buildroot: flexible building of a custom embedded system](https://reader031.fdocuments.in/reader031/viewer/2022021209/62063c888c2f7b173005b965/html5/thumbnails/11.jpg)
Arnout VandecappelleBuildroot for Open Mobile
Workflow for Open Mobile device vendor (2/3)
MakefilesKconfigspatchesmake linux_saveconfig;
make savedefconfig
/etc/init.d/S80startapp/etc/network/interfaces
Rootfilesystemskeleton
Neurosbuildroot
![Page 12: Buildroot: flexible building of a custom embedded system](https://reader031.fdocuments.in/reader031/viewer/2022021209/62063c888c2f7b173005b965/html5/thumbnails/12.jpg)
Arnout VandecappelleBuildroot for Open Mobile
Workflow for Open Mobile device vendor (3/3)
Create production image
Upload to target
![Page 13: Buildroot: flexible building of a custom embedded system](https://reader031.fdocuments.in/reader031/viewer/2022021209/62063c888c2f7b173005b965/html5/thumbnails/13.jpg)
Arnout VandecappelleBuildroot for Open Mobile
What is missing in buildroot
No package manager (or appstore) Doesn't generate packages to install individually
(can create a package manager, though) But can easily regenerate device firmware Actually gives you more control
No post-processing of images E.g. write images to flash using JTAG Device vendor should produce script
to prepare upgrade image Is very device-specific
No standardized upgrade system because there is no package manager Somewhat device specific See my talk in the Embedded devroom
![Page 14: Buildroot: flexible building of a custom embedded system](https://reader031.fdocuments.in/reader031/viewer/2022021209/62063c888c2f7b173005b965/html5/thumbnails/14.jpg)
Arnout VandecappelleBuildroot for Open Mobile
Similar projects
OpenWRT focused on routers does use package manager UCI for configuration data
PTXdist very similar in goals and results fully bash-based slightly smaller community
OpenEmbedded + derivatives very popular IMO more difficult to customize slow :-)
![Page 15: Buildroot: flexible building of a custom embedded system](https://reader031.fdocuments.in/reader031/viewer/2022021209/62063c888c2f7b173005b965/html5/thumbnails/15.jpg)
Arnout VandecappelleBuildroot for Open Mobile
Hacking the device is easy!
![Page 16: Buildroot: flexible building of a custom embedded system](https://reader031.fdocuments.in/reader031/viewer/2022021209/62063c888c2f7b173005b965/html5/thumbnails/16.jpg)
Arnout VandecappelleBuildroot for Open Mobile
www.mind.be
www.essensium.com
Essensium NVMind - Embedded Software DivisionGaston Geenslaan 9, B-3001 Leuven
Tel : +32 16-28 65 00Fax : +32 16-28 65 01
email : [email protected]