[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