[FE training-materials-updates] slides/buildroot: new chapter about what's new in Buildroot

Thomas Petazzoni thomas.petazzoni at free-electrons.com
Fri May 22 16:36:02 CEST 2015


Repository : git://git.free-electrons.com/training-materials.git

On branch  : master
Link       : http://git.free-electrons.com/training-materials/commit/?id=b2f499681198053cabbe299c859253f5a5d3e3fe

>---------------------------------------------------------------

commit b2f499681198053cabbe299c859253f5a5d3e3fe
Author: Thomas Petazzoni <thomas.petazzoni at free-electrons.com>
Date:   Fri May 22 16:35:40 2015 +0200

    slides/buildroot: new chapter about what's new in Buildroot
    
    Signed-off-by: Thomas Petazzoni <thomas.petazzoni at free-electrons.com>


>---------------------------------------------------------------

b2f499681198053cabbe299c859253f5a5d3e3fe
 Makefile                                           |   1 +
 slides/buildroot-whats-new/buildroot-whats-new.tex | 360 +++++++++++++++++++++
 2 files changed, 361 insertions(+)

diff --git a/Makefile b/Makefile
index f30fd12..f70639f 100644
--- a/Makefile
+++ b/Makefile
@@ -300,6 +300,7 @@ BUILDROOT_SLIDES = \
 		buildroot-appdev \
 		buildroot-internals \
 		buildroot-support-contribution \
+		buildroot-whats-new \
 		last-slides
 
 AUTOTOOLS_SLIDES = first-slides \
diff --git a/slides/buildroot-whats-new/buildroot-whats-new.tex b/slides/buildroot-whats-new/buildroot-whats-new.tex
new file mode 100644
index 0000000..12189e5
--- /dev/null
+++ b/slides/buildroot-whats-new/buildroot-whats-new.tex
@@ -0,0 +1,360 @@
+\section{What's new in Buildroot?}
+
+\begin{frame}{What's new in Buildroot}
+  \begin{itemize}
+  \item The major improvements in each release are summarized in the
+    file named \code{CHANGES} in the Buildroot source tree
+  \item Always mentions changes that could cause backward
+    compatibility problems
+  \item The following slides summarize the major new features added in
+    each release between 2013.05 and 2015.05.
+  \item All new Buildroot versions come with new packages, and many
+    updates to the existing packages
+    \begin{itemize}
+    \item Such package additions and updates are not listed in the
+      following slides.
+    \end{itemize}
+  \end{itemize}
+\end{frame}
+
+\begin{frame}{In 2013.05 (1)}
+  \begin{itemize}
+  \item {\bf Architectures:} ARC support, Blackfin support, FLAT
+    binary format, ARM cores updates
+  \item {\bf Toolchains:} Add new Microblaze external toolchains,
+    Linaro ARM/Aarch64 updates, GCC 4.6.4 / 4.7.3 / 4.8.0 added to
+    internal toolchain, default to GCC 4.7.x. Internal Crosstool-ng
+    backend deprecated.
+  \item {\bf Defconfigs:} Add Atmel at91sam9g45m10ek, Telit EVK-PRO3,
+    AT91SAM9260-EK, freescale mpc8315erdb and p1010rdb, Armadeus apf27
+    / apf28, Openblocks A6, Raspberry Pi, Gnublin board
+  \item {\bf Filesystems:} LZO and XZ compression methods, extra ubifs
+    options, ext2 rev 0/1 and ext3/4 support.
+  \end{itemize}
+\end{frame}
+
+\begin{frame}{In 2013.05 (2)}
+  \begin{itemize}
+  \item {\bf Patch handling:} apply-patches now has .patch.xz support,
+    patch logic reworked as discussed during Febrary dev days
+  \item Infrastructure for multiple OpenGL / ES / EGL / OpenVG
+    providers, similar to how libjpeg / libjpeg-turbo is handled.
+  \item Infrastructure for packages to add system users
+  \end{itemize}
+\end{frame}
+
+\begin{frame}{In 2013.08 (1)}
+  \begin{itemize}
+  \item {\bf Architectures:} improved support for floating point on
+    ARM and Thumb/Thumb2, support for ARM OABI removed
+  \item {\bf Toolchains:}
+    \begin{itemize}
+    \item support added for Sourcery CodeBench ARM and MIPS 2013.05
+    \item Linaro ARM and Aarch64 toolchains updated
+    \item support added for the Arago ARMv5 and ARMv7 toolchains
+    \item gcc 4.8.x version bumped
+    \item support for installing both FDPIC and FLAT libraries on
+      Blackfin
+    \item support for uClibc 0.9.31 removed
+    \item convert the internal toolchain backend to use the package
+      infrastructure
+    \item support added for eglibc in the internal toolchain backend
+    \item toolchain components for the ARC architecture updated and
+      gdb for ARC added.
+    \item support for Blackfin in the internal toolchain fixed
+    \end{itemize}
+  \end{itemize}
+\end{frame}
+
+\begin{frame}{In 2013.08 (2)}
+  \begin{itemize}
+  \item {\bf Defconfigs:} BeagleBone defconfig updated, new defconfig
+    for CubieBoard, for Olimex mx233 Olinuxino, for Calao Systems
+    TNY-A9G20-LPW
+  \item {\bf Packages:}
+    \begin{itemize}
+    \item A number of packages have been fixed to use the
+      \code{<pkg>_CONFIG_SCRIPTS} mechanism to get their
+      \code{<pkg>-config} shell script installed and modified
+      properly.
+    \item Licensing informations has been added to a number of
+      packages.
+    \item Use XZ tarballs for a number of packages
+    \end{itemize}
+  \item {\bf Noticeable package changes/additions}
+    \begin{itemize}
+    \item The glib2/libgtk2/webkit stack has been updated to recent versions.
+    \item Support for Gstreamer 1.x has been added.
+    \item OpenGL support for TI OMAP platforms has been added.
+    \item OpenGL support for Allwinner platforms has been added.
+    \item OpenMAX support for RasberryPi has been added.
+    \end{itemize}
+  \item Top level menu names reordered and renamed for clarity
+  \end{itemize}
+\end{frame}
+
+\begin{frame}{In 2013.11}
+  \begin{itemize}
+  \item {\bf Architectures:} Nios-II support, MIPS arch handling fixes
+  \item {\bf Toolchains:}
+    \begin{itemize}
+    \item glibc support
+    \item upstream uClibc fixes
+    \item uClibc 0.9.31 for avr32
+    \item internal crosstool-ng backend removed
+    \item external musl toolchain support
+    \item gcc 4.8.2
+    \item updated Linaro external toolchains
+    \item Fortran and objective-C support deprecated
+    \item mudflap support
+    \end{itemize}
+  \item {\bf Bootloaders:} U-Boot: u-boot.imx support, version bumps
+  \item {\bf Linux:} use kmod instead of module-init-tools
+  \item {\bf System:} default to devtmpfs for /dev
+  \item {\bf Infrastructure:} Infrastructure: Make 3.82 fixes, locales
+    generation fixes, CVS download support, post-rsync hooks
+  \end{itemize}
+\end{frame}
+
+\begin{frame}{In 2014.02}
+  \begin{itemize}
+  \item Support for external packages/defconfigs: \code{BR2_EXTERNAL}
+  \item Cleanup of environment variable names for consistency
+  \item {\bf Toolchain}: new Linaro and Sourcery Codebench
+    toolchains. x86: Support for AMD Jaguar cores, SSE4.x, SH:
+    SH2/SH3/SH3EB variants removed, Microblaze: Internal toolchain
+    support
+  \item {\bf Legal infrastructure:} Info is now split between host and
+    target packages, large number of license annotations.
+  \item {\bf Lua}: selection between lua 5.1 / 5.2, luarocks support
+  \item {\bf Python:} package infrastructure, many new packages
+  \item {\bf Defconfigs:} Armadeus APF51 and Zedboard added, apf27,
+    apf28, beaglebone, microblaze, pandaboard, qemu, raspberry pi
+    updated.
+  \end{itemize}
+\end{frame}
+
+\begin{frame}{In 2014.05 (1)}
+  \begin{itemize}
+  \item {\bf Architectures:}
+    \begin{itemize}
+    \item Support for MIPS o32 ABI on MIPS-64 targets has
+      been removed (too exotic)
+    \item Support for the ARM A12 variant and Intel corei7
+    \end{itemize}
+  \item {\bf Defconfigs:} Minnowboard and Altera SoCkit added, QEMU
+    updates.
+  \item {\bf Bootloaders:} Grub2 and gummiboot support, syslinux
+    support extended.
+  \item Kconfig handling for minimum kernel headers version required
+    for packages. Now packages needing specific kernel header features
+    can specify these requirements in Kconfig.
+  \end{itemize}
+\end{frame}
+
+\begin{frame}{In 2014.05 (2)}
+  \begin{itemize}
+  \item {\bf Toolchains:}
+    \begin{itemize}
+    \item GCC 4.9. Glibc 2.19.
+    \item Support for the musl C
+      library for internal and external toolchains.
+    \item GCC 4.8-R3 support for ARC
+    \item Internal toolchain support for Aarch64 and
+      Microblaze
+    \item Toolchain tuple vendor name can now be
+      customized.
+    \item Updated external Linaro ARM/Aarch64
+      toolchains.
+    \item Added external Linaro ARMEB toolchain.
+    \item A GDB gdbinit file is now generated for external toolchains
+      to automatically set the correct sysroot.
+    \end{itemize}
+  \item {\bf Infrastructure:}
+    \begin{itemize}
+    \item Support for (but disabled as it leads to
+      unreproducible builds) toplevel parallel builds.
+    \item Python package infrastructure extended to support Python 3.x
+    \item Perl and virtual package infrastructure support added.
+    \item \code{PRE_*_HOOKS} support for all build steps.
+    \end{itemize}
+  \end{itemize}
+\end{frame}
+
+\begin{frame}{In 2014.08 (1)}
+  \begin{itemize}
+  \item {\bf Architectures:}
+    \begin{itemize}
+    \item Powerpc64 BE/LE added, AVR32 deprecated.
+    \item Improved altivec / SPE /atomic instructions
+      handling. Additional PowerPC CPU variants added.
+    \end{itemize}
+  \item {\bf Defconfigs:} Atmel SAMA5D3, Congatec QMX6, Lego ev3,
+    TS-5x00, qemu-system-xtensa, qemu-aarch64-virt added. A number
+    of tweaks to existing ones. lpc32xx defconfigs removed.
+  \item {\bf Toolchain:}
+    \begin{itemize}
+    \item Microblaze support for internal musl toolchain.
+    \item Default to GCC 4.8 for internal toolchain, remove deprecated
+      4.3 and 4.6 versions.
+    \item External CodeSourcery / Linaro toolchain updates
+    \item Option to copy gconv libraries for external toolchains.
+    \end{itemize}
+  \end{itemize}
+\end{frame}
+
+\begin{frame}{In 2014.08 (2)}
+  \begin{itemize}
+  \item {\bf Infrastructure:}
+    \begin{itemize}
+    \item \code{graph-depends} improvements
+    \item Download handling is now done using helper scripts.
+    \item Integrity of downloads can now be verified using hashes
+    \item Legal-info: License info of local or overridden packages
+      are saved as well. Toolchain packages are also taken into
+      account.
+    \item autotools: Static linking with libtool / v1.5 improvements
+    \item Gettextize support, similar to autoreconf
+    \item kconfig package infrastructure added
+    \end{itemize}
+  \item User manual restructured / reworked
+  \end{itemize}
+\end{frame}
+
+\begin{frame}{In 2014.11}
+  \begin{itemize}
+  \item {\bf Toolchains:}
+    \begin{itemize}
+    \item Use \code{-mcpu} / \code{-march} instead of \code{-mtune}
+    \item Support additional ARC and sparc variants
+    \item Updated Code sourcery and Linaro external toolchains
+    \end{itemize}
+  \item {\bf Defconfigs:} Freescale iMX6DL SabreSD, Minnowboard MAX,
+    QEMU powerpc64 pseries added and a number of updates to the
+    existing configurations.
+  \item {\bf Infrastructure:}
+    \begin{itemize}
+    \item Buildroot is now less noisy when built with the silent
+      option (\code{make -s})
+    \item A number of package infrastructure variables have been
+      renamed from \code{*_OPT} to \code{*_OPTS} for consistency
+    \item Option to choose what shell /bin/sh points to
+    \end{itemize}
+  \item {\bf Documentation:}
+    \begin{itemize}
+    \item Various updates to the user manual
+    \item The asciidoc documentation handling has now been extended so
+      it can be used by \code{BR2_EXTERNAL}
+    \end{itemize}
+  \end{itemize}
+\end{frame}
+
+\begin{frame}{In 2015.02 (1)}
+  \begin{itemize}
+  \item {\bf Static/shared library handling reworked}
+    \begin{itemize}
+    \item This is now a tristate (shared only / shared and static /
+      static only)
+    \item Default is now shared only to speed up the
+      build. \code{BR2_PREFER_STATIC_LIB} is now called
+      \code{BR2_STATIC_LIBS}
+    \end{itemize}
+  \item {\bf Toolchain:}
+    \begin{itemize}
+    \item The toolchain (internal and external) will now warn when an
+      unsafe library or header path is used
+    \item If \code{BR2_COMPILER_PARANOID_UNSAFE_PATH} is enabled under
+      build options this instead becomes an error.
+    \end{itemize}
+  \item {\bf Architectures:} Freescale E5500 and E6500 PowerPC support
+    added, deprecated MIPS 1/2/3/4 support removed.
+  \item {\bf Defconfigs:} Freescale p2020ds, MIPS creator CI20,
+    Raspberrypi with DT, UDOO Quad
+  \end{itemize}
+\end{frame}
+
+\begin{frame}{In 2015.02 (2)}
+  \begin{itemize}
+  \item \code{make <foo>_defconfig} now saves the path to the
+    defconfig in the \code{.config}, so a \code{make savedefconfig}
+    automatically updates it
+  \item Infrastructure for packages using the Erland rebar tool has
+    been added.
+  \item Hashes for a large number of packages have been added. Hashes
+    are now checked for both target and host packages.
+  \item The system menu now has an option to automatically configure a
+    network interface through DHCP at bootup.
+  \item The default filesystem skeleton now uses a separate
+    \code{tmpfs} for \code{/run} instead of a symlink to \code{/tmp/}
+    for security reasons / to protect against conflicts with user
+    generated temporary files.
+  \item \code{BR2_EXTERNAL} is now exported to post-build and
+    post-image scripts.
+  \end{itemize}
+\end{frame}
+
+\begin{frame}{In 2015.05 (1)}
+  \begin{itemize}
+  \item {\bf Architectures:}
+    \begin{itemize}
+    \item Removed AVR32 support, SuperH64 deprecated
+    \item Added support for steamroller, corei7-avx and core-avx2 x86
+      variants.
+    \end{itemize}
+  \item {\bf Toolchains:}
+    \begin{itemize}
+    \item IPv6 and Largefile support now enforced for
+      uClibc. Corresponding Kconfig symbols removed.
+    \item External CodeSourcery AMD64 2014.05 added
+    \item musl-cross 1.1.6 added
+    \item CodeSourcery SuperH 2 and Xilinx Microblaze v2/14.3 removed
+    \item Distro-class external toolchains are now detected and
+      blacklisted
+    \item Internal toolchain support for Nios2 added, Blackfin
+      removed.
+    \item Aarch64 and sh musl support.
+    \item uClibc-ng support added
+    \item Libatomic is now handled for internal and external
+      toolchains.
+    \item Link time optimization (LTO) support.
+    \end{itemize}
+  \end{itemize}
+\end{frame}
+
+\begin{frame}{In 2015.05 (2)}
+  \begin{itemize}
+  \item {\bf Defconfigs:} Freescale i.MX28 EVK, i.MX31 PDK and SABRE
+    Auto, Raspberry Pi 2, RIoTboard
+  \item {\bf Infrastructure:}
+    \begin{itemize}
+    \item Hashes for a large number of packages have
+      been added.
+    \item Missing hashes now stop the build unless
+      explicitly disabled.
+    \item Spaces and colons (:) are now supported in package versions.
+    \item Dependencies can now be listed for the patch step
+      (\code{<PKG>_PATCH_DEPENDENCIES}).
+    \item Kconfig and Linux kernel extensions infrastructure has
+      been added.
+    \item Makedevs now has a recursive (r) option
+    \item \code{external-deps}, \code{legal-info}, \code{source},
+      \code{source-check} have been reimplemented using the package
+      infrastructure, so their output/behaviour may differ from
+      earlier (some packages were not included in the past).
+    \end{itemize}
+  \end{itemize}
+\end{frame}
+
+\begin{frame}{Planned in 2015.08}
+  \begin{itemize}
+  \item Support kconfig fragments in \code{kconfig-package} packages
+  \item Switch U-Boot to kconfig infra
+  \item Webkit 2.4
+  \item MAINTAINERS file
+  \item Removal of \code{--enable-debug}/\code{--disable-debug}
+  \item \code{graph-size} for filesystem size graphing
+  \item EFL bump to 1.14
+  \item SELinux support
+  \item libtirpc and nfs-utils bump and improvements.
+  \end{itemize}
+\end{frame}



More information about the training-materials-updates mailing list