Buildroot: What’S New?

Buildroot: What’S New?

Embedded Linux Conference 2018 Buildroot: what's new? Thomas Petazzoni [email protected] c Copyright 2004-2018, Bootlin. Creative Commons BY-SA 3.0 license. Formerly Free Electrons Corrections, suggestions, contributions and translations are welcome! - Kernel, drivers and embedded Linux - Development, consulting, training and support - https://bootlin.com 1/31 Thomas Petazzoni I CTO and Embedded Linux engineer at Free Electrons ! Bootlin I Embedded Linux specialists. I Development, consulting and training. I https://bootlin.com I Contributions I Kernel support for the Marvell Armada ARM SoCs from Marvell I Major contributor to Buildroot, an open-source, simple and fast embedded Linux build system I Toulouse, south west of France I Windsurfing, snowboarding - Kernel, drivers and embedded Linux - Development, consulting, training and support - https://bootlin.com 2/31 I Who is already using Buildroot ? I Who is using OpenEmbedded / Yocto Project ? I Who is using OpenWRT / LEDE ? I Who is using another build system ? Poll time I Who already knows about Buildroot ? - Kernel, drivers and embedded Linux - Development, consulting, training and support - https://bootlin.com 3/31 I Who is using OpenEmbedded / Yocto Project ? I Who is using OpenWRT / LEDE ? I Who is using another build system ? Poll time I Who already knows about Buildroot ? I Who is already using Buildroot ? - Kernel, drivers and embedded Linux - Development, consulting, training and support - https://bootlin.com 3/31 I Who is using OpenWRT / LEDE ? I Who is using another build system ? Poll time I Who already knows about Buildroot ? I Who is already using Buildroot ? I Who is using OpenEmbedded / Yocto Project ? - Kernel, drivers and embedded Linux - Development, consulting, training and support - https://bootlin.com 3/31 I Who is using another build system ? Poll time I Who already knows about Buildroot ? I Who is already using Buildroot ? I Who is using OpenEmbedded / Yocto Project ? I Who is using OpenWRT / LEDE ? - Kernel, drivers and embedded Linux - Development, consulting, training and support - https://bootlin.com 3/31 Poll time I Who already knows about Buildroot ? I Who is already using Buildroot ? I Who is using OpenEmbedded / Yocto Project ? I Who is using OpenWRT / LEDE ? I Who is using another build system ? - Kernel, drivers and embedded Linux - Development, consulting, training and support - https://bootlin.com 3/31 Buildroot at a glance I Is an embedded Linux build system, builds from source: I cross-compilation toolchain I root filesystem with many libraries/applications, cross-built I kernel and bootloader images I Fast, simple root filesystem in minutes I Easy to use and understand: kconfig and make I Small root filesystem, default 2 MB I More than 2300 packages available I Generates filesystem images, not a distribution I Vendor neutral I Active community, stable releases every 3 months I Started in 2001, oldest still maintained build system I http://buildroot.org - Kernel, drivers and embedded Linux - Development, consulting, training and support - https://bootlin.com 4/31 What's new? I Last What's new talk at the Embedded Linux Conference 2014, i.e 4 years ago I Lots of things have changed and improved in Buildroot since then, time for a new What's new talk! I Main topics discussed I Project activity I Release schedule and LTS I Architecture support I Toolchain support I Infrastructure improvements I Testing improvements I Misc - Kernel, drivers and embedded Linux - Development, consulting, training and support - https://bootlin.com 5/31 Project activity: per commits 2 ;000 1 ;500 1 ;000 Number of commits500 per release - Kernel, drivers and embedded Linux - Development, consulting,0 training and support - 2012.05 2012.08 2012.11 2013.02 2013.05 2013.08 2013.11 2014.02 2014.05 2014.08 2014.11 2015.02 2015.05 2015.08 2015.11 https://bootlin.com 2016.02 2016.05 2016.08 2016.11 2017.02 2017.05 2017.08 2017.11 2018.02 6/31 Project activity: contributors 100 50 Number of contributors per release - Kernel, drivers and embedded Linux - Development, consulting,0 training and support - 2012.05 2012.08 2012.11 2013.02 2013.05 2013.08 2013.11 2014.02 2014.05 2014.08 2014.11 2015.02 2015.05 2015.08 https://bootlin.com 2015.11 2016.02 2016.05 2016.08 2016.11 2017.02 2017.05 2017.08 2017.11 2018.02 7/31 Project activity: mailing list activity 4;000 3;000 2;000 1;000 E-mails per month 0 2012.January 2013.January 2014.January 2015.January 2016.January 2017.January 2018.January - Kernel, drivers and embedded Linux - Development, consulting, training and support - https://bootlin.com 8/31 Project activity: packages 2 ;000 1 Number of packages;000 - Kernel, drivers and embedded Linux - Development, consulting,0 training and support - 2012.05 2012.08 2012.11 2013.02 2013.05 2013.08 2013.11 2014.02 2014.05 2014.08 2014.11 2015.02 2015.05 2015.08 2015.11 https://bootlin.com 2016.02 2016.05 2016.08 2016.11 2017.02 2017.05 2017.08 2017.11 2018.02 9/31 I Until 2017.02 I Point releases for the latest stable, but only until the next stable release I Only option to get updates is to migrate to the next release I Since 2017.02, one LTS release per year I Every YYYY.02 release will be maintained for one year, with security, build and bug fixes I 2017.02 had 10 point releases, from 2017.02.1 to 2017.02.10, 778 commits I 2018.02 published on March 4th 2018, new LTS release Release schedule and LTS I Since 2009, releases every three months: YYYY.02, YYYY.05, YYYY.08, YYYY.11 I Never skipped a release or missed a release date! - Kernel, drivers and embedded Linux - Development, consulting, training and support - https://bootlin.com 10/31 I Since 2017.02, one LTS release per year I Every YYYY.02 release will be maintained for one year, with security, build and bug fixes I 2017.02 had 10 point releases, from 2017.02.1 to 2017.02.10, 778 commits I 2018.02 published on March 4th 2018, new LTS release Release schedule and LTS I Since 2009, releases every three months: YYYY.02, YYYY.05, YYYY.08, YYYY.11 I Never skipped a release or missed a release date! I Until 2017.02 I Point releases for the latest stable, but only until the next stable release I Only option to get updates is to migrate to the next release - Kernel, drivers and embedded Linux - Development, consulting, training and support - https://bootlin.com 10/31 Release schedule and LTS I Since 2009, releases every three months: YYYY.02, YYYY.05, YYYY.08, YYYY.11 I Never skipped a release or missed a release date! I Until 2017.02 I Point releases for the latest stable, but only until the next stable release I Only option to get updates is to migrate to the next release I Since 2017.02, one LTS release per year I Every YYYY.02 release will be maintained for one year, with security, build and bug fixes I 2017.02 had 10 point releases, from 2017.02.1 to 2017.02.10, 778 commits I 2018.02 published on March 4th 2018, new LTS release - Kernel, drivers and embedded Linux - Development, consulting, training and support - https://bootlin.com 10/31 Maintenance and physical meetings I Used to have a single committer/project maintainer: Peter Korsgaard I Two additional committers have been appointed in recent years: I Thomas Petazzoni (i.e, me) I Arnout Vandecappelle I Physical meetings I One meeting before ELCE, I One meeting after FOSDEM, Brussels I One more private hackaton for the core team in the summer - Kernel, drivers and embedded Linux - Development, consulting, training and support - https://bootlin.com 11/31 I ARC, ARM(eb,nommu), ARM64(eb), Blackfin, C-Sky, m68k, Microblaze(el), mips(64)(el), nios2, OpenRISC, PowerPC(64)(le), SuperH, Sparc(64), x86( 64), Xtensa I ARM Cortex M3/M4 noMMU support I Merge of ARM/ARM64 options, to select ARM64 cores I PowerPC64 little endian and big endian support, contributions from IBM I MIPS improvements: MIPS32r6 and MIPS64r6 support, MIPS core selection, NaN/FP32 selection, contributions from Imagination Technologies I OpenRISC, C-Sky, Sparc64 support I Re-enabling of m68k both Coldfire (noMMU) and 68k (MMU) I Blackfin and Microblaze improved with uClibc-ng support I SH64 and AVR32 support removed Architectures I Probably the build system with the largest number of architectures supported - Kernel, drivers and embedded Linux - Development, consulting, training and support - https://bootlin.com 12/31 I ARM Cortex M3/M4 noMMU support I Merge of ARM/ARM64 options, to select ARM64 cores I PowerPC64 little endian and big endian support, contributions from IBM I MIPS improvements: MIPS32r6 and MIPS64r6 support, MIPS core selection, NaN/FP32 selection, contributions from Imagination Technologies I OpenRISC, C-Sky, Sparc64 support I Re-enabling of m68k both Coldfire (noMMU) and 68k (MMU) I Blackfin and Microblaze improved with uClibc-ng support I SH64 and AVR32 support removed Architectures I Probably the build system with the largest number of architectures supported I ARC, ARM(eb,nommu), ARM64(eb), Blackfin, C-Sky, m68k, Microblaze(el), mips(64)(el), nios2, OpenRISC, PowerPC(64)(le), SuperH, Sparc(64), x86( 64), Xtensa - Kernel, drivers and embedded Linux - Development, consulting, training and support - https://bootlin.com 12/31 Architectures I Probably the build system with the largest number of architectures supported I ARC, ARM(eb,nommu), ARM64(eb), Blackfin, C-Sky, m68k, Microblaze(el), mips(64)(el), nios2, OpenRISC, PowerPC(64)(le), SuperH, Sparc(64), x86( 64), Xtensa I ARM Cortex M3/M4 noMMU support I Merge of ARM/ARM64 options, to select ARM64 cores I PowerPC64 little endian and big endian support, contributions from IBM I MIPS improvements: MIPS32r6 and MIPS64r6 support, MIPS core selection, NaN/FP32 selection, contributions from Imagination Technologies I OpenRISC, C-Sky, Sparc64 support I Re-enabling of m68k both Coldfire (noMMU) and 68k (MMU) I Blackfin and Microblaze improved with uClibc-ng support I SH64 and AVR32 support removed - Kernel, drivers and embedded Linux - Development, consulting, training and support - https://bootlin.com 12/31 I Internal toolchain improvements I Support for musl C library added I Moved from uClibc to uClibc-ng I Regular updates: gcc up to 7.x (default is 6.x), binutils 2.29 (default 2.28), gdb 8.0 (default 7.12), glibc 2.27, uClibc-ng 1.0.28, musl 1.1.19.

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    42 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us