Merge remote-tracking branch 'thingos/dev' into dev

This commit is contained in:
Calin Crisan 2019-05-14 23:17:07 +03:00
commit 621a698259
3411 changed files with 52900 additions and 28243 deletions

86
.gitlab-ci.yml.in Normal file
View File

@ -0,0 +1,86 @@
# Configuration for Gitlab-CI.
# Builds appear on https://gitlab.com/buildroot.org/buildroot/pipelines
# The .gitlab-ci.yml file is generated from .gitlab-ci.yml.in.
# It needs to be regenerated every time a defconfig is added, using
# "make .gitlab-ci.yml".
image: buildroot/base:20180318.1724
.defconfig_script:
script:
- echo 'Configure Buildroot'
- make ${CI_JOB_NAME}
- echo 'Build buildroot'
- |
make > >(tee build.log |grep '>>>') 2>&1 || {
echo 'Failed build last output'
tail -200 build.log
exit 1
}
check-gitlab-ci.yml:
script:
- mv .gitlab-ci.yml .gitlab-ci.yml.orig
- make .gitlab-ci.yml
- diff -u .gitlab-ci.yml.orig .gitlab-ci.yml
check-DEVELOPERS:
# get-developers should print just "No action specified"; if it prints
# anything else, it's a parse error.
# The initial ! is removed by YAML so we need to quote it.
script:
- "! utils/get-developers | grep -v 'No action specified'"
check-flake8:
before_script:
# Help flake8 to find the Python files without .py extension.
- find * -type f -name '*.py' > files.txt
- find * -type f -print0 | xargs -0 file | grep 'Python script' | cut -d':' -f1 >> files.txt
- sort -u files.txt | tee files.processed
script:
- python -m flake8 --statistics --count $(cat files.processed)
after_script:
- wc -l files.processed
check-package:
script:
- make check-package
.defconfig:
extends: .defconfig_script
# Running the defconfigs for every push is too much, so limit to
# explicit triggers through the API.
only:
- triggers
- tags
- /-defconfigs$/
artifacts:
when: always
expire_in: 2 weeks
paths:
- .config
- build.log
- output/images/
- output/build/build-time.log
- output/build/packages-file-list.txt
- output/build/*/.config
.runtime_test:
# Running the runtime tests for every push is too much, so limit to
# explicit triggers through the API.
only:
- triggers
- tags
- /-runtime-tests$/
# Keep build directories so the rootfs can be an artifact of the job. The
# runner will clean up those files for us.
# Multiply every emulator timeout by 10 to avoid sporadic failures in
# elastic runners.
script: ./support/testing/run-tests -o test-output/ -d test-dl/ -k --timeout-multiplier 10 ${CI_JOB_NAME}
artifacts:
when: always
expire_in: 2 weeks
paths:
- test-output/*.log
- test-output/*/.config
- test-output/*/images/*

View File

@ -136,10 +136,6 @@ config BR2_SCP
string "Secure copy (scp) command"
default "scp"
config BR2_SSH
string "Secure shell (ssh) command"
default "ssh"
config BR2_HG
string "Mercurial (hg) command"
default "hg"
@ -681,6 +677,18 @@ config BR2_COMPILER_PARANOID_UNSAFE_PATH
and external toolchain backends (through the toolchain
wrapper).
config BR2_FORCE_HOST_BUILD
bool "Force the building of host dependencies"
help
Build all available host dependencies, even if they are
already installed on the system.
This option can be used to ensure that the download cache of
source archives for packages remain consistent between
different build hosts.
This option will increase build time.
config BR2_REPRODUCIBLE
bool "Make the build reproducible (experimental)"
# SOURCE_DATE_EPOCH support in toolchain-wrapper requires GCC 4.4
@ -812,6 +820,8 @@ config BR2_FORTIFY_SOURCE_NONE
config BR2_FORTIFY_SOURCE_1
bool "Conservative"
# gcc bug https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61164
depends on !BR2_TOOLCHAIN_BUILDROOT || BR2_TOOLCHAIN_GCC_AT_LEAST_6
help
This option sets _FORTIFY_SOURCE to 1 and only introduces
checks that shouldn't change the behavior of conforming
@ -819,6 +829,8 @@ config BR2_FORTIFY_SOURCE_1
config BR2_FORTIFY_SOURCE_2
bool "Aggressive"
# gcc bug https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61164
depends on !BR2_TOOLCHAIN_BUILDROOT || BR2_TOOLCHAIN_GCC_AT_LEAST_6
help
This option sets _FORTIFY_SOURCES to 2 and some more
checking is added, but some conforming programs might fail.

View File

@ -142,9 +142,281 @@ comment "unpredictable ways. "
comment "----------------------------------------------------"
endif
###############################################################################
comment "Legacy options removed in 2019.02"
config BR2_PACKAGE_GST_PLUGINS_BAD_PLUGIN_APEXSINK
bool "gst-plugins-bad apexsink option removed"
select BR2_LEGACY
help
The gst-plugins-bad apexsink option was removed.
config BR2_PACKAGE_QT
bool "qt package removed"
select BR2_LEGACY
help
The qt package was removed.
config BR2_PACKAGE_QTUIO
bool "qtuio package removed"
select BR2_LEGACY
help
The qtuio package was removed.
config BR2_PACKAGE_PINENTRY_QT4
bool "pinentry-qt4 option removed"
select BR2_LEGACY
help
The pinentry-qt4 option was removed.
config BR2_PACKAGE_POPPLER_QT
bool "poppler qt option removed"
select BR2_LEGACY
help
The poppler qt option was removed.
config BR2_PACKAGE_OPENCV3_WITH_QT
bool "opencv3 qt backend option removed"
select BR2_LEGACY
help
The opencv3 qt backend option was removed.
config BR2_PACKAGE_OPENCV_WITH_QT
bool "opencv qt backend option removed"
select BR2_LEGACY
help
The opencv qt backend option was removed.
config BR2_PACKAGE_AMD_CATALYST_CCCLE
bool "catalyst control center option removed"
select BR2_LEGACY
help
The AMD Catalyst Control Center option was removed.
config BR2_PACKAGE_SDL_QTOPIA
bool "sdl qtopia video driver option removed"
select BR2_LEGACY
help
The SDL QTopia video driver option was removed.
config BR2_PACKAGE_PYTHON_PYQT
bool "python-pyqt package removed"
select BR2_LEGACY
help
The python-pyqt package was removed. Consider python-pyqt5
instead.
config BR2_PACKAGE_GNURADIO_QTGUI
bool "gnuradio gr-qtgui option removed"
select BR2_LEGACY
help
The gr-qtgui option was removed.
config BR2_PACKAGE_LUACRYPTO
bool "luacrypto package removed"
select BR2_LEGACY
help
The luacrypto package was removed. Consider luaossl instead.
config BR2_PACKAGE_TN5250
bool "tn5250 package removed"
select BR2_LEGACY
help
The tn5250 package was removed.
config BR2_PACKAGE_BOOST_SIGNALS
bool "Boost signals removed"
select BR2_LEGACY
help
Its removal was announced in boost 1.68 and its deprecation
was announced in 1.54. Users are encouraged to use Signals2
instead.
config BR2_PACKAGE_FFTW_PRECISION_SINGLE
bool "single"
select BR2_LEGACY
select BR2_PACKAGE_FFTW_SINGLE
help
This option has been removed in favor of
BR2_PACKAGE_FFTW_SINGLE.
config BR2_PACKAGE_FFTW_PRECISION_DOUBLE
bool "double"
select BR2_LEGACY
select BR2_PACKAGE_FFTW_DOUBLE
help
This option has been removed in favor of
BR2_PACKAGE_FFTW_DOUBLE.
config BR2_PACKAGE_FFTW_PRECISION_LONG_DOUBLE
bool "long double"
depends on !(BR2_TOOLCHAIN_BUILDROOT_UCLIBC && \
(BR2_arm || BR2_mips || BR2_mipsel))
select BR2_LEGACY
select BR2_PACKAGE_FFTW_LONG_DOUBLE
help
This option has been removed in favor of
BR2_PACKAGE_FFTW_LONG_DOUBLE.
config BR2_PACKAGE_FFTW_PRECISION_QUAD
bool "quad"
depends on (BR2_i386 || BR2_x86_64) && BR2_USE_WCHAR
select BR2_LEGACY
select BR2_PACKAGE_FFTW_QUAD
help
This option has been removed in favor of
BR2_PACKAGE_FFTW_QUAD.
config BR2_PACKAGE_LUA_5_2
bool "Lua 5.2.x version removed"
select BR2_LEGACY
select BR2_PACKAGE_LUA_5_3
help
The Lua 5.2.x version was removed.
config BR2_TARGET_GENERIC_PASSWD_MD5
bool "target passwd md5 format support has been removed"
select BR2_LEGACY
help
The default has been moved to SHA256 and all C libraries
now support that method by default
comment "Legacy options removed in 2018.11"
config BR2_TARGET_XLOADER
bool "xloader has been removed"
select BR2_LEGACY
help
The package has been removed as u-boot SPL provides
similar functionality
config BR2_PACKAGE_TIDSP_BINARIES
bool "tidsp-binaries package removed"
select BR2_LEGACY
help
The tidsp-binaries package was removed.
config BR2_PACKAGE_DSP_TOOLS
bool "dsp-tools package removed"
select BR2_LEGACY
help
The dsp-tools package was removed.
config BR2_PACKAGE_GST_DSP
bool "gst-dsp package removed"
select BR2_LEGACY
help
The gst-dsp package was removed.
config BR2_PACKAGE_BOOTUTILS
bool "bootutils package removed"
select BR2_LEGACY
help
The bootutils package was removed.
config BR2_PACKAGE_EXPEDITE
bool "expedite package has been removed"
select BR2_LEGACY
help
expedite is not actively maintained anymore.
https://sourceforge.net/p/enlightenment/mailman/message/36428571
config BR2_PACKAGE_MESA3D_OPENGL_TEXTURE_FLOAT
bool "mesa3d opengl texture float option removed"
select BR2_LEGACY
help
mesa3d now unconditionally enables floating-point textures,
as the corresponding patent has expired.
config BR2_KERNEL_HEADERS_4_10
bool "kernel headers version 4.10.x are no longer supported"
select BR2_LEGACY
help
Version 4.10.x of the Linux kernel headers are no longer
maintained upstream and are now removed.
config BR2_KERNEL_HEADERS_4_11
bool "kernel headers version 4.11.x are no longer supported"
select BR2_LEGACY
help
Version 4.11.x of the Linux kernel headers are no longer
maintained upstream and are now removed.
config BR2_KERNEL_HEADERS_4_12
bool "kernel headers version 4.12.x are no longer supported"
select BR2_LEGACY
help
Version 4.12.x of the Linux kernel headers are no longer
maintained upstream and are now removed.
config BR2_KERNEL_HEADERS_4_13
bool "kernel headers version 4.13.x are no longer supported"
select BR2_LEGACY
help
Version 4.13.x of the Linux kernel headers are no longer
maintained upstream and are now removed.
config BR2_KERNEL_HEADERS_4_15
bool "kernel headers version 4.15.x are no longer supported"
select BR2_LEGACY
help
Version 4.15.x of the Linux kernel headers are no longer
maintained upstream and are now removed.
config BR2_KERNEL_HEADERS_4_17
bool "kernel headers version 4.17.x are no longer supported"
select BR2_LEGACY
help
Version 4.17.x of the Linux kernel headers are no longer
maintained upstream and are now removed.
config BR2_PACKAGE_LIBNFTNL_XML
bool "libnftl no longer supports XML output"
select BR2_LEGACY
help
libnftnl removed integration with libmxml.
config BR2_KERNEL_HEADERS_3_2
bool "kernel headers version 3.2.x are no longer supported"
select BR2_LEGACY
help
Version 3.2.x of the Linux kernel headers are no longer
maintained upstream and are now removed.
config BR2_KERNEL_HEADERS_4_1
bool "kernel headers version 4.1.x are no longer supported"
select BR2_LEGACY
help
Version 4.1.x of the Linux kernel headers are no longer
maintained upstream and are now removed.
config BR2_KERNEL_HEADERS_4_16
bool "kernel headers version 4.16.x are no longer supported"
select BR2_LEGACY
help
Version 4.16.x of the Linux kernel headers are no longer
maintained upstream and are now removed.
config BR2_KERNEL_HEADERS_4_18
bool "kernel headers version 4.18.x are no longer supported"
select BR2_LEGACY
help
Version 4.18.x of the Linux kernel headers are no longer
maintained upstream and are now removed.
###############################################################################
comment "Legacy options removed in 2018.08"
config BR2_PACKAGE_DOCKER_ENGINE_STATIC_CLIENT
bool "docker-engine static client option renamed"
select BR2_LEGACY
select BR2_PACKAGE_DOCKER_CLI_STATIC
help
BR2_PACKAGE_DOCKER_ENGINE_STATIC_CLIENT has been renamed to
BR2_PACKAGE_DOCKER_CLI_STATIC, following the package split of
docker-engine and docker-cli.
config BR2_PACKAGE_XSERVER_XORG_SERVER_V_1_19
bool "Modular X.org server was updated to version 1.20.0"
select BR2_LEGACY
@ -1060,33 +1332,24 @@ comment "Legacy options removed in 2018.02"
config BR2_KERNEL_HEADERS_3_4
bool "kernel headers version 3.4.x are no longer supported"
select BR2_KERNEL_HEADERS_4_1
select BR2_LEGACY
help
Version 3.4.x of the Linux kernel headers are no longer
maintained upstream and are now removed. As an alternative,
version 4.1.x of the headers have been automatically
selected in your configuration.
maintained upstream and are now removed.
config BR2_KERNEL_HEADERS_3_10
bool "kernel headers version 3.10.x are no longer supported"
select BR2_KERNEL_HEADERS_4_1
select BR2_LEGACY
help
Version 3.10.x of the Linux kernel headers are no longer
maintained upstream and are now removed. As an alternative,
version 4.1.x of the headers have been automatically
selected in your configuration.
maintained upstream and are now removed.
config BR2_KERNEL_HEADERS_3_12
bool "kernel headers version 3.12.x are no longer supported"
select BR2_KERNEL_HEADERS_4_1
select BR2_LEGACY
help
Version 3.12.x of the Linux kernel headers are no longer
maintained upstream and are now removed. As an alternative,
version 4.1.x of the headers have been automatically
selected in your configuration.
maintained upstream and are now removed.
config BR2_BINUTILS_VERSION_2_27_X
bool "binutils version 2.27 support removed"
@ -1637,23 +1900,17 @@ config BR2_PACKAGE_GMOCK
config BR2_KERNEL_HEADERS_4_8
bool "kernel headers version 4.8.x are no longer supported"
select BR2_KERNEL_HEADERS_4_4
select BR2_LEGACY
help
Version 4.8.x of the Linux kernel headers are no longer
maintained upstream and are now removed. As an alternative,
version 4.4.x of the headers have been automatically
selected in your configuration.
maintained upstream and are now removed.
config BR2_KERNEL_HEADERS_3_18
bool "kernel headers version 3.18.x are no longer supported"
select BR2_KERNEL_HEADERS_3_12
select BR2_LEGACY
help
Version 3.18.x of the Linux kernel headers are no longer
maintained upstream and are now removed. As an alternative,
version 3.12.x of the headers have been automatically
selected in your configuration.
maintained upstream and are now removed.
config BR2_GLIBC_VERSION_2_22
bool "glibc 2.22 removed"
@ -1676,43 +1933,31 @@ config BR2_PACKAGE_PERL_DB_FILE
config BR2_KERNEL_HEADERS_4_7
bool "kernel headers version 4.7.x are no longer supported"
select BR2_KERNEL_HEADERS_4_4
select BR2_LEGACY
help
Version 4.7.x of the Linux kernel headers are no longer
maintained upstream and are now removed. As an alternative,
version 4.4.x of the headers have been automatically
selected in your configuration.
maintained upstream and are now removed.
config BR2_KERNEL_HEADERS_4_6
bool "kernel headers version 4.6.x are no longer supported"
select BR2_KERNEL_HEADERS_4_4
select BR2_LEGACY
help
Version 4.6.x of the Linux kernel headers are no longer
maintained upstream and are now removed. As an alternative,
version 4.4.x of the headers have been automatically
selected in your configuration.
maintained upstream and are now removed.
config BR2_KERNEL_HEADERS_4_5
bool "kernel headers version 4.5.x are no longer supported"
select BR2_KERNEL_HEADERS_4_4
select BR2_LEGACY
help
Version 4.5.x of the Linux kernel headers are no longer
maintained upstream and are now removed. As an alternative,
version 4.4.x of the headers have been automatically
selected in your configuration.
maintained upstream and are now removed.
config BR2_KERNEL_HEADERS_3_14
bool "kernel headers version 3.14.x are no longer supported"
select BR2_KERNEL_HEADERS_3_12
select BR2_LEGACY
help
Version 3.14.x of the Linux kernel headers are no longer
maintained upstream and are now removed. As an alternative,
version 3.12.x of the headers have been automatically
selected in your configuration.
maintained upstream and are now removed.
config BR2_TOOLCHAIN_EXTERNAL_MUSL_CROSS
bool "musl-cross 1.1.12 toolchain removed"
@ -1841,23 +2086,17 @@ config BR2_PACKAGE_SSTRIP
config BR2_KERNEL_HEADERS_4_3
bool "kernel headers version 4.3.x are no longer supported"
select BR2_KERNEL_HEADERS_4_1
select BR2_LEGACY
help
Version 4.3.x of the Linux kernel headers are no longer
maintained upstream and are now removed. As an alternative,
version 4.1.x of the headers have been automatically
selected in your configuration.
maintained upstream and are now removed.
config BR2_KERNEL_HEADERS_4_2
bool "kernel headers version 4.2.x are no longer supported"
select BR2_KERNEL_HEADERS_4_1
select BR2_LEGACY
help
Version 4.2.x of the Linux kernel headers are no longer
maintained upstream and are now removed. As an alternative,
version 4.1.x of the headers have been automatically
selected in your configuration.
maintained upstream and are now removed.
config BR2_PACKAGE_KODI_ADDON_XVDR
bool "kodi-addon-xvdr removed"
@ -1932,24 +2171,18 @@ config BR2_GCC_VERSION_4_8_ARC
config BR2_KERNEL_HEADERS_4_0
bool "kernel headers version 4.0.x are no longer supported"
select BR2_KERNEL_HEADERS_3_12
select BR2_LEGACY
help
Version 4.0.x of the Linux kernel headers have been deprecated
for more than four buildroot releases and are now removed.
As an alternative, version 3.12.x of the headers have been
automatically selected in your configuration.
config BR2_KERNEL_HEADERS_3_19
bool "kernel headers version 3.19.x are no longer supported"
select BR2_KERNEL_HEADERS_3_12
select BR2_LEGACY
help
Version 3.19.x of the Linux kernel headers have been
deprecated for more than four buildroot releases and are now
removed.
As an alternative, version 3.12.x of the headers have been
automatically selected in your configuration.
config BR2_PACKAGE_LIBEVAS_GENERIC_LOADERS
bool "libevas-generic-loaders package removed"
@ -2162,14 +2395,11 @@ config BR2_PACKAGE_XDRIVER_XF86_INPUT_VOID
config BR2_KERNEL_HEADERS_3_17
bool "kernel headers version 3.17.x are no longer supported"
select BR2_KERNEL_HEADERS_3_12
select BR2_LEGACY
help
Version 3.17.x of the Linux kernel headers have been
deprecated for more than four buildroot releases and are now
removed.
As an alternative, version 3.12.x of the headers have been
automatically selected in your configuration.
config BR2_GDB_VERSION_7_7
bool "gdb 7.7 has been removed"
@ -2310,14 +2540,11 @@ config BR2_PACKAGE_CUPS_PDFTOPS
config BR2_KERNEL_HEADERS_3_16
bool "kernel headers version 3.16.x are no longer supported"
select BR2_KERNEL_HEADERS_3_12
select BR2_LEGACY
help
Version 3.16.x of the Linux kernel headers have been
deprecated for more than four buildroot releases and are now
removed.
As an alternative, version 3.12.x of the headers have been
automatically selected in your configuration.
config BR2_PACKAGE_PYTHON_PYXML
bool "python-pyxml package has been removed"
@ -2518,46 +2745,34 @@ config BR2_PACKAGE_BLACKBOX
config BR2_KERNEL_HEADERS_3_0
bool "kernel headers version 3.0.x are no longer supported"
select BR2_KERNEL_HEADERS_3_2
select BR2_LEGACY
help
Version 3.0.x of the Linux kernel headers have been deprecated
for more than four buildroot releases and are now removed.
As an alternative, version 3.2.x of the headers have been
automatically selected in your configuration.
config BR2_KERNEL_HEADERS_3_11
bool "kernel headers version 3.11.x are no longer supported"
select BR2_KERNEL_HEADERS_3_10
select BR2_LEGACY
help
Version 3.11.x of the Linux kernel headers have been
deprecated for more than four buildroot releases and are now
removed.
As an alternative, version 3.10.x of the headers have been
automatically selected in your configuration.
config BR2_KERNEL_HEADERS_3_13
bool "kernel headers version 3.13.x are no longer supported"
select BR2_KERNEL_HEADERS_3_12
select BR2_LEGACY
help
Version 3.13.x of the Linux kernel headers have been
deprecated for more than four buildroot releases and are now
removed.
As an alternative, version 3.12.x of the headers have been
automatically selected in your configuration.
config BR2_KERNEL_HEADERS_3_15
bool "kernel headers version 3.15.x are no longer supported"
select BR2_KERNEL_HEADERS_3_12
select BR2_LEGACY
help
Version 3.15.x of the Linux kernel headers have been
deprecated for more than four buildroot releases and are now
removed.
As an alternative, version 3.12.x of the headers have been
automatically selected in your configuration.
config BR2_PACKAGE_DIRECTFB_EXAMPLES_ANDI
bool "DirectFB example df_andi has been removed"
@ -3384,13 +3599,10 @@ config BR2_PACKAGE_LIBELF
config BR2_KERNEL_HEADERS_3_8
bool "kernel headers version 3.8.x are no longer supported"
select BR2_KERNEL_HEADERS_3_4
select BR2_LEGACY
help
Version 3.8.x of the Linux kernel headers have been deprecated
for more than four buildroot releases and are now removed.
As an alternative, version 3.4.x of the headers have been
automatically selected in your configuration.
config BR2_PACKAGE_GETTEXT_TOOLS
bool "support for gettext-tools on target has been removed"
@ -3543,23 +3755,17 @@ config BR2_PACKAGE_EVTEST_CAPTURE
config BR2_KERNEL_HEADERS_3_6
bool "kernel headers version 3.6.x are no longer supported"
select BR2_KERNEL_HEADERS_3_4
select BR2_LEGACY
help
Version 3.6.x of the Linux kernel headers have been deprecated
for more than four buildroot releases and are now removed.
As an alternative, version 3.4.x of the headers have been
automatically selected in your configuration.
config BR2_KERNEL_HEADERS_3_7
bool "kernel headers version 3.7.x are no longer supported"
select BR2_KERNEL_HEADERS_3_4
select BR2_LEGACY
help
Version 3.7.x of the Linux kernel headers have been deprecated
for more than four buildroot releases and are now removed.
As an alternative, version 3.4.x of the headers have been
automatically selected in your configuration.
config BR2_PACKAGE_VALA
bool "vala target package has been removed"
@ -3721,33 +3927,24 @@ config BR2_sh3eb
config BR2_KERNEL_HEADERS_3_1
bool "kernel headers version 3.1.x are no longer supported"
select BR2_KERNEL_HEADERS_3_2
select BR2_LEGACY
help
Version 3.1.x of the Linux kernel headers have been deprecated
for more than four buildroot releases and are now removed.
As an alternative, version 3.2.x of the headers have been
automatically selected in your configuration.
config BR2_KERNEL_HEADERS_3_3
bool "kernel headers version 3.3.x are no longer supported"
select BR2_KERNEL_HEADERS_3_2
select BR2_LEGACY
help
Version 3.3.x of the Linux kernel headers have been deprecated
for more than four buildroot releases and are now removed.
As an alternative, version 3.2.x of the headers have been
automatically selected in your configuration.
config BR2_KERNEL_HEADERS_3_5
bool "kernel headers version 3.5.x are no longer supported"
select BR2_KERNEL_HEADERS_3_4
select BR2_LEGACY
help
Version 3.5.x of the Linux kernel headers have been deprecated
for more than four buildroot releases and are now removed.
As an alternative, version 3.4.x of the headers have been
automatically selected in your configuration.
config BR2_GDB_VERSION_7_2
bool "gdb 7.2.x is no longer supported"

206
Makefile
View File

@ -2,7 +2,7 @@
#
# Copyright (C) 1999-2005 by Erik Andersen <andersen@codepoet.org>
# Copyright (C) 2006-2014 by the Buildroot developers <buildroot@uclibc.org>
# Copyright (C) 2014-2018 by the Buildroot developers <buildroot@buildroot.org>
# Copyright (C) 2014-2019 by the Buildroot developers <buildroot@buildroot.org>
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
@ -92,9 +92,9 @@ all:
.PHONY: all
# Set and export the version string
export BR2_VERSION := 2018.08.2
export BR2_VERSION := 2019.02.2
# Actual time the release is cut (for reproducible builds)
BR2_VERSION_EPOCH = 1540470000
BR2_VERSION_EPOCH = 1556527000
# Save running make version since it's clobbered by the make package
RUNNING_MAKE_VERSION := $(MAKE_VERSION)
@ -105,22 +105,6 @@ ifneq ($(firstword $(sort $(RUNNING_MAKE_VERSION) $(MIN_MAKE_VERSION))),$(MIN_MA
$(error You have make '$(RUNNING_MAKE_VERSION)' installed. GNU make >= $(MIN_MAKE_VERSION) is required)
endif
# Parallel execution of this Makefile is disabled because it changes
# the packages building order, that can be a problem for two reasons:
# - If a package has an unspecified optional dependency and that
# dependency is present when the package is built, it is used,
# otherwise it isn't (but compilation happily proceeds) so the end
# result will differ if the order is swapped due to parallel
# building.
# - Also changing the building order can be a problem if two packages
# manipulate the same file in the target directory.
#
# Taking into account the above considerations, if you still want to execute
# this top-level Makefile in parallel comment the ".NOTPARALLEL" line and
# use the -j<jobs> option when building, e.g:
# make -j$((`getconf _NPROCESSORS_ONLN`+1))
.NOTPARALLEL:
# absolute path
TOPDIR := $(CURDIR)
CONFIG_CONFIG_IN = Config.in
@ -133,9 +117,9 @@ export BR2_VERSION_FULL := $(BR2_VERSION)$(shell $(TOPDIR)/support/scripts/setlo
# List of targets and target patterns for which .config doesn't need to be read in
noconfig_targets := menuconfig nconfig gconfig xconfig config oldconfig randconfig \
defconfig %_defconfig allyesconfig allnoconfig alldefconfig silentoldconfig release \
defconfig %_defconfig allyesconfig allnoconfig alldefconfig syncconfig release \
randpackageconfig allyespackageconfig allnopackageconfig \
print-version olddefconfig distclean manual manual-%
print-version olddefconfig distclean manual manual-% check-package
# Some global targets do not trigger a build, but are used to collect
# metadata, or do various checks. When such targets are triggered,
@ -151,7 +135,7 @@ nobuild_targets := source %-source \
clean distclean help show-targets graph-depends \
%-graph-depends %-show-depends %-show-version \
graph-build graph-size list-defconfigs \
savedefconfig printvars
savedefconfig update-defconfig printvars
ifeq ($(MAKECMDGOALS),)
BR_BUILDING = y
else ifneq ($(filter-out $(nobuild_targets),$(MAKECMDGOALS)),)
@ -220,10 +204,7 @@ BR_GRAPH_OUT := $(or $(BR2_GRAPH_OUT),pdf)
BUILD_DIR := $(BASE_DIR)/build
BINARIES_DIR := $(BASE_DIR)/images
# The target directory is common to all packages,
# but there is one that is specific to each filesystem.
BASE_TARGET_DIR := $(BASE_DIR)/target
TARGET_DIR = $(if $(ROOTFS),$(ROOTFS_$(ROOTFS)_TARGET_DIR),$(BASE_TARGET_DIR))
# initial definition so that 'make clean' works for most users, even without
# .config. HOST_DIR will be overwritten later when .config is included.
HOST_DIR := $(BASE_DIR)/host
@ -246,6 +227,22 @@ ifeq ($(filter $(noconfig_targets),$(MAKECMDGOALS)),)
-include $(BR2_CONFIG)
endif
# Parallel execution of this Makefile is disabled because it changes
# the packages building order, that can be a problem for two reasons:
# - If a package has an unspecified optional dependency and that
# dependency is present when the package is built, it is used,
# otherwise it isn't (but compilation happily proceeds) so the end
# result will differ if the order is swapped due to parallel
# building.
# - Also changing the building order can be a problem if two packages
# manipulate the same file in the target directory.
#
# Taking into account the above considerations, if you still want to execute
# this top-level Makefile in parallel comment the ".NOTPARALLEL" line and
# use the -j<jobs> option when building, e.g:
# make -j$((`getconf _NPROCESSORS_ONLN`+1))
.NOTPARALLEL:
# timezone and locale may affect build output
ifeq ($(BR2_REPRODUCIBLE),y)
export TZ = UTC
@ -422,6 +419,8 @@ unexport TERMINFO
unexport MACHINE
unexport O
unexport GCC_COLORS
unexport PLATFORM
unexport OS
GNU_HOST_NAME := $(shell support/gnuconfig/config.guess)
@ -444,6 +443,7 @@ KERNEL_ARCH := $(shell echo "$(ARCH)" | sed -e "s/-.*//" \
-e s/parisc64/parisc/ \
-e s/powerpc64.*/powerpc/ \
-e s/ppc.*/powerpc/ -e s/mips.*/mips/ \
-e s/riscv.*/riscv/ \
-e s/sh.*/sh/ \
-e s/microblazeel/microblaze/)
@ -456,6 +456,10 @@ TAR_OPTIONS = $(call qstrip,$(BR2_TAR_OPTIONS)) -xf
# packages compiled for the host go here
HOST_DIR := $(call qstrip,$(BR2_HOST_DIR))
# The target directory is common to all packages,
# but there is one that is specific to each filesystem.
TARGET_DIR = $(if $(ROOTFS),$(ROOTFS_$(ROOTFS)_TARGET_DIR),$(BASE_TARGET_DIR))
ifneq ($(HOST_DIR),$(BASE_DIR)/host)
HOST_DIR_SYMLINK = $(BASE_DIR)/host
$(HOST_DIR_SYMLINK): $(BASE_DIR)
@ -467,14 +471,14 @@ BR_PATH = "$(HOST_DIR)/bin:$(HOST_DIR)/sbin:$(PATH)"
# Location of a file giving a big fat warning that output/target
# should not be used as the root filesystem.
TARGET_DIR_WARNING_FILE = $(BASE_TARGET_DIR)/THIS_IS_NOT_YOUR_ROOT_FILESYSTEM
TARGET_DIR_WARNING_FILE = $(TARGET_DIR)/THIS_IS_NOT_YOUR_ROOT_FILESYSTEM
ifeq ($(BR2_CCACHE),y)
CCACHE := $(HOST_DIR)/bin/ccache
CCACHE = $(HOST_DIR)/bin/ccache
BR_CACHE_DIR ?= $(call qstrip,$(BR2_CCACHE_DIR))
export BR_CACHE_DIR
HOSTCC := $(CCACHE) $(HOSTCC)
HOSTCXX := $(CCACHE) $(HOSTCXX)
HOSTCC = $(CCACHE) $(HOSTCC_NOCCACHE)
HOSTCXX = $(CCACHE) $(HOSTCXX_NOCCACHE)
else
export BR_NO_CCACHE
endif
@ -504,9 +508,9 @@ include Makefile.legacy
include system/system.mk
include package/Makefile.in
# arch/arch.mk.* must be after package/Makefile.in because it may need to
# arch/arch.mk must be after package/Makefile.in because it may need to
# complement variables defined therein, like BR_NO_CHECK_HASH_FOR.
-include $(sort $(wildcard arch/arch.mk.*))
include arch/arch.mk
include support/dependencies/dependencies.mk
include $(sort $(wildcard toolchain/*.mk))
@ -549,9 +553,16 @@ include $(BR2_EXTERNAL_MKS)
#
# Only trigger the check for default builds. If the user forces building
# a package, even if not enabled in the configuration, we want to accept
# it.
# it. However; we also want to be able to force checking the dependencies
# if the user so desires. Forcing a dependency check is useful in the case
# of test-pkg, as we want to make sure during testing, that a package has
# all the dependencies selected in the config file.
#
ifeq ($(MAKECMDGOALS),)
BR_FORCE_CHECK_DEPENDENCIES = YES
endif
ifeq ($(BR_FORCE_CHECK_DEPENDENCIES),YES)
define CHECK_ONE_DEPENDENCY
ifeq ($$($(2)_TYPE),target)
@ -571,12 +582,8 @@ $(foreach pkg,$(call UPPERCASE,$(PACKAGES)),\
endif
.PHONY: dirs
dirs: $(BUILD_DIR) $(STAGING_DIR) $(BASE_TARGET_DIR) \
$(HOST_DIR) $(HOST_DIR_SYMLINK) $(BINARIES_DIR)
$(BUILD_DIR)/buildroot-config/auto.conf: $(BR2_CONFIG)
$(MAKE1) $(EXTRAMAKEARGS) HOSTCC="$(HOSTCC_NOCCACHE)" HOSTCXX="$(HOSTCXX_NOCCACHE)" silentoldconfig
$(MAKE1) $(EXTRAMAKEARGS) HOSTCC="$(HOSTCC_NOCCACHE)" HOSTCXX="$(HOSTCXX_NOCCACHE)" syncconfig
.PHONY: prepare
prepare: $(BUILD_DIR)/buildroot-config/auto.conf
@ -584,8 +591,8 @@ prepare: $(BUILD_DIR)/buildroot-config/auto.conf
.PHONY: world
world: target-post-image
.PHONY: sdk
sdk: world
.PHONY: prepare-sdk
prepare-sdk: world
@$(call MESSAGE,"Rendering the SDK relocatable")
$(TOPDIR)/support/scripts/fix-rpath host
$(TOPDIR)/support/scripts/fix-rpath staging
@ -593,29 +600,52 @@ sdk: world
mkdir -p $(HOST_DIR)/share/buildroot
echo $(HOST_DIR) > $(HOST_DIR)/share/buildroot/sdk-location
# Populating the staging with the base directories is handled by the skeleton package
$(STAGING_DIR):
@mkdir -p $(STAGING_DIR)
@ln -snf $(STAGING_DIR) $(BASE_DIR)/staging
BR2_SDK_PREFIX ?= $(GNU_TARGET_NAME)_sdk-buildroot
.PHONY: sdk
sdk: prepare-sdk $(BR2_TAR_HOST_DEPENDENCY)
@$(call MESSAGE,"Generating SDK tarball")
$(if $(BR2_SDK_PREFIX),,$(error BR2_SDK_PREFIX can not be empty))
$(Q)mkdir -p $(BINARIES_DIR)
$(TAR) czf "$(BINARIES_DIR)/$(BR2_SDK_PREFIX).tar.gz" \
--owner=0 --group=0 --numeric-owner \
--transform='s#^$(patsubst /%,%,$(HOST_DIR))#$(BR2_SDK_PREFIX)#' \
-C / $(patsubst /%,%,$(HOST_DIR))
RSYNC_VCS_EXCLUSIONS = \
--exclude .svn --exclude .git --exclude .hg --exclude .bzr \
--exclude CVS
STRIP_FIND_CMD = find $(TARGET_DIR)
ifneq (,$(call qstrip,$(BR2_STRIP_EXCLUDE_DIRS)))
STRIP_FIND_CMD += \( $(call finddirclauses,$(TARGET_DIR),$(call qstrip,$(BR2_STRIP_EXCLUDE_DIRS))) \) -prune -o
endif
STRIP_FIND_CMD += -type f \( -perm /111 -o -name '*.so*' \)
# file exclusions:
# When stripping, obey to BR2_STRIP_EXCLUDE_DIRS and
# BR2_STRIP_EXCLUDE_FILES
STRIP_FIND_COMMON_CMD = \
find $(TARGET_DIR) \
$(if $(call qstrip,$(BR2_STRIP_EXCLUDE_DIRS)), \
\( $(call finddirclauses,$(TARGET_DIR),$(call qstrip,$(BR2_STRIP_EXCLUDE_DIRS))) \) \
-prune -o \
) \
$(if $(call qstrip,$(BR2_STRIP_EXCLUDE_FILES)), \
-not \( $(call findfileclauses,$(call qstrip,$(BR2_STRIP_EXCLUDE_FILES))) \) )
# Regular stripping for everything, except libpthread, ld-*.so and
# kernel modules:
# - libpthread.so: a non-stripped libpthread shared library is needed for
# proper debugging of pthread programs using gdb.
# - ld.so: a non-stripped dynamic linker library is needed for valgrind
# - kernel modules (*.ko): do not function properly when stripped like normal
# applications and libraries. Normally kernel modules are already excluded
# by the executable permission check above, so the explicit exclusion is only
# by the executable permission check, so the explicit exclusion is only
# done for kernel modules with incorrect permissions.
STRIP_FIND_CMD += -not \( $(call findfileclauses,libpthread*.so* ld-*.so* *.ko $(call qstrip,$(BR2_STRIP_EXCLUDE_FILES))) \) -print0
STRIP_FIND_CMD = \
$(STRIP_FIND_COMMON_CMD) \
-type f \( -perm /111 -o -name '*.so*' \) \
-not \( $(call findfileclauses,libpthread*.so* ld-*.so* *.ko) \) \
-print0
# Special stripping (only debugging symbols) for libpthread and ld-*.so.
STRIP_FIND_SPECIAL_LIBS_CMD = \
$(STRIP_FIND_COMMON_CMD) \
\( -name 'ld-*.so*' -o -name 'libpthread*.so*' \) \
-print0
ifeq ($(BR2_ECLIPSE_REGISTER),y)
define TOOLCHAIN_ECLIPSE_REGISTER
@ -698,8 +728,14 @@ $(TARGETS_ROOTFS): target-finalize
# Avoid the rootfs name leaking down the dependency chain
target-finalize: ROOTFS=
host-finalize: $(HOST_DIR_SYMLINK)
.PHONY: staging-finalize
staging-finalize:
@ln -snf $(STAGING_DIR) $(BASE_DIR)/staging
.PHONY: target-finalize
target-finalize: $(PACKAGES)
target-finalize: $(PACKAGES) host-finalize
@$(call MESSAGE,"Finalizing target directory")
# Check files that are touched by more than one package
./support/scripts/check-uniq-files -t target $(BUILD_DIR)/packages-file-list.txt
@ -727,19 +763,8 @@ endif
rm -rf $(TARGET_DIR)/usr/share/gtk-doc
rmdir $(TARGET_DIR)/usr/share 2>/dev/null || true
$(STRIP_FIND_CMD) | xargs -0 $(STRIPCMD) 2>/dev/null || true
$(STRIP_FIND_SPECIAL_LIBS_CMD) | xargs -0 -r $(STRIPCMD) $(STRIP_STRIP_DEBUG) 2>/dev/null || true
# See http://sourceware.org/gdb/wiki/FAQ, "GDB does not see any threads
# besides the one in which crash occurred; or SIGTRAP kills my program when
# I set a breakpoint"
ifeq ($(BR2_TOOLCHAIN_HAS_THREADS),y)
find $(TARGET_DIR)/lib/ -type f -name 'libpthread*.so*' | \
xargs -r $(STRIPCMD) $(STRIP_STRIP_DEBUG)
endif
# Valgrind needs ld.so with enough information, so only strip
# debugging symbols.
find $(TARGET_DIR)/lib/ -type f -name 'ld-*.so*' | \
xargs -r $(STRIPCMD) $(STRIP_STRIP_DEBUG)
test -f $(TARGET_DIR)/etc/ld.so.conf && \
{ echo "ERROR: we shouldn't have a /etc/ld.so.conf file"; exit 1; } || true
test -d $(TARGET_DIR)/etc/ld.so.conf.d && \
@ -757,11 +782,25 @@ endif
@$(call MESSAGE,"Sanitizing RPATH in target tree")
$(TOPDIR)/support/scripts/fix-rpath target
# For a merged /usr, ensure that /lib, /bin and /sbin and their /usr
# counterparts are appropriately setup as symlinks ones to the others.
ifeq ($(BR2_ROOTFS_MERGED_USR),y)
@$(foreach d, $(call qstrip,$(BR2_ROOTFS_OVERLAY)), \
$(call MESSAGE,"Sanity check in overlay $(d)"); \
not_merged_dirs="$$(support/scripts/check-merged-usr.sh $(d))"; \
test -n "$$not_merged_dirs" && { \
echo "ERROR: The overlay in $(d) is not" \
"using a merged /usr for the following directories:" \
$$not_merged_dirs; \
exit 1; \
} || true$(sep))
endif # merged /usr
@$(foreach d, $(call qstrip,$(BR2_ROOTFS_OVERLAY)), \
$(call MESSAGE,"Copying overlay $(d)"); \
rsync -a --ignore-times --keep-dirlinks $(RSYNC_VCS_EXCLUSIONS) \
--chmod=u=rwX,go=rX --exclude .empty --exclude '*~' \
$(d)/ $(TARGET_DIR)$(sep))
$(call SYSTEM_RSYNC,$(d),$(TARGET_DIR))$(sep))
@$(foreach s, $(call qstrip,$(BR2_ROOTFS_POST_BUILD_SCRIPT)), \
$(call MESSAGE,"Executing post-build script $(s)"); \
@ -770,7 +809,7 @@ endif
touch $(TARGET_DIR)/usr
.PHONY: target-post-image
target-post-image: $(TARGETS_ROOTFS) target-finalize
target-post-image: $(TARGETS_ROOTFS) target-finalize staging-finalize
@rm -f $(ROOTFS_COMMON_TAR)
@$(foreach s, $(call qstrip,$(BR2_ROOTFS_POST_IMAGE_SCRIPT)), \
$(call MESSAGE,"Executing post-image script $(s)"); \
@ -791,15 +830,15 @@ legal-info-clean:
.PHONY: legal-info-prepare
legal-info-prepare: $(LEGAL_INFO_DIR)
@$(call MESSAGE,"Buildroot $(BR2_VERSION_FULL) Collecting legal info")
@$(call legal-license-file,buildroot,buildroot,support/legal-info,COPYING,COPYING,HOST)
@$(call legal-manifest,PACKAGE,VERSION,LICENSE,LICENSE FILES,SOURCE ARCHIVE,SOURCE SITE,TARGET)
@$(call legal-manifest,PACKAGE,VERSION,LICENSE,LICENSE FILES,SOURCE ARCHIVE,SOURCE SITE,HOST)
@$(call legal-manifest,buildroot,$(BR2_VERSION_FULL),GPL-2.0+,COPYING,not saved,not saved,HOST)
@$(call legal-license-file,buildroot,buildroot,support/legal-info/buildroot.hash,COPYING,COPYING,HOST)
@$(call legal-manifest,TARGET,PACKAGE,VERSION,LICENSE,LICENSE FILES,SOURCE ARCHIVE,SOURCE SITE,DEPENDENCIES WITH LICENSES)
@$(call legal-manifest,HOST,PACKAGE,VERSION,LICENSE,LICENSE FILES,SOURCE ARCHIVE,SOURCE SITE,DEPENDENCIES WITH LICENSES)
@$(call legal-manifest,HOST,buildroot,$(BR2_VERSION_FULL),GPL-2.0+,COPYING,not saved,not saved)
@$(call legal-warning,the Buildroot source code has not been saved)
@cp $(BR2_CONFIG) $(LEGAL_INFO_DIR)/buildroot.config
.PHONY: legal-info
legal-info: dirs legal-info-clean legal-info-prepare $(foreach p,$(PACKAGES),$(p)-all-legal-info) \
legal-info: legal-info-clean legal-info-prepare $(foreach p,$(PACKAGES),$(p)-all-legal-info) \
$(REDIST_SOURCES_DIR_TARGET) $(REDIST_SOURCES_DIR_HOST)
@cat support/legal-info/README.header >>$(LEGAL_REPORT)
@if [ -r $(LEGAL_WARNINGS) ]; then \
@ -933,7 +972,7 @@ randpackageconfig allyespackageconfig allnopackageconfig: $(BUILD_DIR)/buildroot
@rm -f $(CONFIG_DIR)/.config.nopkg
@$(COMMON_CONFIG_ENV) $< --olddefconfig $(CONFIG_CONFIG_IN) >/dev/null
oldconfig silentoldconfig olddefconfig: $(BUILD_DIR)/buildroot-config/conf prepare-kconfig
oldconfig syncconfig olddefconfig: $(BUILD_DIR)/buildroot-config/conf prepare-kconfig
@$(COMMON_CONFIG_ENV) $< --$@ $(CONFIG_CONFIG_IN)
defconfig: $(BUILD_DIR)/buildroot-config/conf prepare-kconfig
@ -947,13 +986,15 @@ define percent_defconfig
endef
$(eval $(foreach d,$(call reverse,$(TOPDIR) $(BR2_EXTERNAL_DIRS)),$(call percent_defconfig,$(d))$(sep)))
update-defconfig: savedefconfig
savedefconfig: $(BUILD_DIR)/buildroot-config/conf prepare-kconfig
@$(COMMON_CONFIG_ENV) $< \
--savedefconfig=$(if $(DEFCONFIG),$(DEFCONFIG),$(CONFIG_DIR)/defconfig) \
$(CONFIG_CONFIG_IN)
@$(SED) '/BR2_DEFCONFIG=/d' $(if $(DEFCONFIG),$(DEFCONFIG),$(CONFIG_DIR)/defconfig)
.PHONY: defconfig savedefconfig
.PHONY: defconfig savedefconfig update-defconfig
################################################################################
#
@ -1029,12 +1070,13 @@ help:
@echo ' xconfig - interactive Qt-based configurator'
@echo ' gconfig - interactive GTK-based configurator'
@echo ' oldconfig - resolve any unresolved symbols in .config'
@echo ' silentoldconfig - Same as oldconfig, but quietly, additionally update deps'
@echo ' olddefconfig - Same as silentoldconfig but sets new symbols to their default value'
@echo ' syncconfig - Same as oldconfig, but quietly, additionally update deps'
@echo ' olddefconfig - Same as syncconfig but sets new symbols to their default value'
@echo ' randconfig - New config with random answer to all options'
@echo ' defconfig - New config with default answer to all options;'
@echo ' BR2_DEFCONFIG, if set on the command line, is used as input'
@echo ' savedefconfig - Save current config to BR2_DEFCONFIG (minimal config)'
@echo ' update-defconfig - Same as savedefconfig'
@echo ' allyesconfig - New config where all options are accepted with yes'
@echo ' allnoconfig - New config where all options are answered with no'
@echo ' alldefconfig - New config where all options are set to default'
@ -1128,7 +1170,7 @@ release: OUT = buildroot-$(BR2_VERSION)
release:
git archive --format=tar --prefix=$(OUT)/ HEAD > $(OUT).tar
$(MAKE) O=$(OUT) manual-html manual-text manual-pdf
$(MAKE) O=$(OUT) manual-clean
$(MAKE) O=$(OUT) clean
tar rf $(OUT).tar $(OUT)
gzip -9 -c < $(OUT).tar > $(OUT).tar.gz
bzip2 -9 -c < $(OUT).tar > $(OUT).tar.bz2
@ -1137,11 +1179,13 @@ release:
print-version:
@echo $(BR2_VERSION_FULL)
check-package:
find $(TOPDIR) -type f \( -name '*.mk' -o -name '*.hash' -o -name 'Config.*' \) \
-exec ./utils/check-package {} +
.PHONY: .gitlab-ci.yml
.gitlab-ci.yml: .gitlab-ci.yml.in
cp $< $@
(cd configs; LC_ALL=C ls -1 *_defconfig) | sed 's/$$/: *defconfig/' >> $@
./support/testing/run-tests -l 2>&1 | sed -r -e '/^test_run \((.*)\).*/!d; s//\1: *runtime_test/' | LC_ALL=C sort >> $@
./support/scripts/generate-gitlab-ci-yml $< > $@
include docs/manual/manual.mk
-include $(foreach dir,$(BR2_EXTERNAL_DIRS),$(sort $(wildcard $(dir)/docs/*/*.mk)))

View File

@ -198,6 +198,17 @@ config BR2_powerpc64le
http://www.power.org/
http://en.wikipedia.org/wiki/Powerpc
config BR2_riscv
bool "RISCV"
select BR2_ARCH_HAS_MMU_MANDATORY
select BR2_ARCH_NEEDS_GCC_AT_LEAST_7
help
RISC-V is an open, free Instruction Set Architecture created
by the UC Berkeley Architecture Research group and supported
and promoted by RISC-V Foundation.
https://riscv.org/
https://en.wikipedia.org/wiki/RISC-V
config BR2_sh
bool "SuperH"
select BR2_ARCH_HAS_MMU_OPTIONAL
@ -306,9 +317,6 @@ config BR2_GCC_TARGET_FP32_MODE
config BR2_GCC_TARGET_CPU
string
config BR2_GCC_TARGET_CPU_REVISION
string
# The value of this option will be passed as --with-fpu=<value> when
# building gcc (internal backend) or -mfpu=<value> in the toolchain
# wrapper (external toolchain)
@ -423,6 +431,10 @@ if BR2_powerpc || BR2_powerpc64 || BR2_powerpc64le
source "arch/Config.in.powerpc"
endif
if BR2_riscv
source "arch/Config.in.riscv"
endif
if BR2_sh
source "arch/Config.in.sh"
endif

View File

@ -376,25 +376,19 @@ config BR2_exynos_m1
select BR2_ARM_CPU_ARMV8A
select BR2_ARCH_HAS_MMU_OPTIONAL
select BR2_ARCH_NEEDS_GCC_AT_LEAST_5
if BR2_ARCH_IS_64
config BR2_falkor
bool "falkor"
select BR2_ARM_CPU_HAS_ARM if !BR2_ARCH_IS_64
select BR2_ARM_CPU_HAS_NEON if !BR2_ARCH_IS_64
select BR2_ARM_CPU_HAS_THUMB2 if !BR2_ARCH_IS_64
select BR2_ARM_CPU_HAS_FP_ARMV8
select BR2_ARM_CPU_ARMV8A
select BR2_ARCH_HAS_MMU_OPTIONAL
select BR2_ARCH_NEEDS_GCC_AT_LEAST_7
config BR2_qdf24xx
bool "qdf24xx"
select BR2_ARM_CPU_HAS_ARM if !BR2_ARCH_IS_64
select BR2_ARM_CPU_HAS_NEON if !BR2_ARCH_IS_64
select BR2_ARM_CPU_HAS_THUMB2 if !BR2_ARCH_IS_64
select BR2_ARM_CPU_HAS_FP_ARMV8
select BR2_ARM_CPU_ARMV8A
select BR2_ARCH_HAS_MMU_OPTIONAL
select BR2_ARCH_NEEDS_GCC_AT_LEAST_6
if BR2_ARCH_IS_64
config BR2_thunderx
bool "thunderx"
select BR2_ARM_CPU_HAS_FP_ARMV8
@ -440,32 +434,55 @@ if BR2_ARCH_IS_64
comment "armv8.1a cores"
config BR2_thunderx2t99
bool "thunderx2t99"
select BR2_ARM_CPU_HAS_ARM if !BR2_ARCH_IS_64
select BR2_ARM_CPU_HAS_NEON if !BR2_ARCH_IS_64
select BR2_ARM_CPU_HAS_THUMB2 if !BR2_ARCH_IS_64
select BR2_ARM_CPU_HAS_FP_ARMV8
select BR2_ARM_CPU_ARMV8A
select BR2_ARCH_HAS_MMU_OPTIONAL
select BR2_ARCH_NEEDS_GCC_AT_LEAST_7
config BR2_thunderx2t99p1
bool "thunderx2t99p1"
select BR2_ARM_CPU_HAS_ARM if !BR2_ARCH_IS_64
select BR2_ARM_CPU_HAS_NEON if !BR2_ARCH_IS_64
select BR2_ARM_CPU_HAS_THUMB2 if !BR2_ARCH_IS_64
select BR2_ARM_CPU_HAS_FP_ARMV8
select BR2_ARM_CPU_ARMV8A
select BR2_ARCH_HAS_MMU_OPTIONAL
select BR2_ARCH_NEEDS_GCC_AT_LEAST_7
config BR2_vulcan
bool "vulcan"
select BR2_ARM_CPU_HAS_ARM if !BR2_ARCH_IS_64
select BR2_ARM_CPU_HAS_NEON if !BR2_ARCH_IS_64
select BR2_ARM_CPU_HAS_THUMB2 if !BR2_ARCH_IS_64
select BR2_ARM_CPU_HAS_FP_ARMV8
select BR2_ARM_CPU_ARMV8A
select BR2_ARCH_HAS_MMU_OPTIONAL
select BR2_ARCH_NEEDS_GCC_AT_LEAST_7
endif # BR2_ARCH_IS_64
if BR2_ARCH_IS_64
comment "armv8.2a cores"
config BR2_cortex_a55
bool "cortex-A55"
select BR2_ARM_CPU_HAS_FP_ARMV8
select BR2_ARM_CPU_ARMV8A
select BR2_ARCH_HAS_MMU_OPTIONAL
select BR2_ARCH_NEEDS_GCC_AT_LEAST_8
config BR2_cortex_a75
bool "cortex-A75"
select BR2_ARM_CPU_HAS_FP_ARMV8
select BR2_ARM_CPU_ARMV8A
select BR2_ARCH_HAS_MMU_OPTIONAL
select BR2_ARCH_NEEDS_GCC_AT_LEAST_8
config BR2_cortex_a75_a55
bool "cortex-A75/A55 big.LITTLE"
select BR2_ARM_CPU_HAS_FP_ARMV8
select BR2_ARM_CPU_ARMV8A
select BR2_ARCH_HAS_MMU_OPTIONAL
select BR2_ARCH_NEEDS_GCC_AT_LEAST_8
endif # BR2_ARCH_IS_64
if BR2_ARCH_IS_64
comment "armv8.3a cores"
config BR2_saphira
bool "saphira"
select BR2_ARM_CPU_HAS_FP_ARMV8
select BR2_ARM_CPU_ARMV8A
select BR2_ARCH_HAS_MMU_OPTIONAL
select BR2_ARCH_NEEDS_GCC_AT_LEAST_8
endif # BR2_ARCH_IS_64
endchoice
config BR2_ARM_ENABLE_NEON
@ -811,6 +828,12 @@ config BR2_GCC_TARGET_CPU
default "thunderx2t99" if BR2_thunderx2t99
default "thunderx2t99p1" if BR2_thunderx2t99p1
default "vulcan" if BR2_vulcan
# armv8.2a
default "cortex-a55" if BR2_cortex_a55
default "cortex-a75" if BR2_cortex_a75
default "cortex-a75.cortex-a55" if BR2_cortex_a75_a55
# armv8.3a
default "saphira" if BR2_saphira
config BR2_GCC_TARGET_ABI
default "aapcs-linux" if BR2_arm || BR2_armeb

View File

@ -5,6 +5,9 @@ config BR2_MIPS_CPU_MIPS32
config BR2_MIPS_CPU_MIPS32R2
bool
select BR2_MIPS_NAN_LEGACY
config BR2_MIPS_CPU_MIPS32R3
bool
select BR2_MIPS_NAN_LEGACY
config BR2_MIPS_CPU_MIPS32R5
bool
select BR2_ARCH_NEEDS_GCC_AT_LEAST_5
@ -18,6 +21,9 @@ config BR2_MIPS_CPU_MIPS64
config BR2_MIPS_CPU_MIPS64R2
bool
select BR2_MIPS_NAN_LEGACY
config BR2_MIPS_CPU_MIPS64R3
bool
select BR2_MIPS_NAN_LEGACY
config BR2_MIPS_CPU_MIPS64R5
bool
select BR2_ARCH_NEEDS_GCC_AT_LEAST_5
@ -34,8 +40,8 @@ choice
help
Specific CPU variant to use
64bit cabable: 64, 64r2, 64r5, 64r6
non-64bit capable: 32, 32r2, 32r5, 32r6
64bit capable: 64, 64r2, 64r3, 64r5, 64r6
non-64bit capable: 32, 32r2, 32r3, 32r5, 32r6
config BR2_mips_32
bool "Generic MIPS32"
@ -45,6 +51,10 @@ config BR2_mips_32r2
bool "Generic MIPS32R2"
depends on !BR2_ARCH_IS_64
select BR2_MIPS_CPU_MIPS32R2
config BR2_mips_32r3
bool "Generic MIPS32R3"
depends on !BR2_ARCH_IS_64
select BR2_MIPS_CPU_MIPS32R3
config BR2_mips_32r5
bool "Generic MIPS32R5"
depends on !BR2_ARCH_IS_64
@ -95,6 +105,10 @@ config BR2_mips_64r2
bool "Generic MIPS64R2"
depends on BR2_ARCH_IS_64
select BR2_MIPS_CPU_MIPS64R2
config BR2_mips_64r3
bool "Generic MIPS64R3"
depends on BR2_ARCH_IS_64
select BR2_MIPS_CPU_MIPS64R3
config BR2_mips_64r5
bool "Generic MIPS64R5"
depends on BR2_ARCH_IS_64
@ -108,6 +122,20 @@ config BR2_mips_i6400
depends on BR2_ARCH_IS_64
select BR2_MIPS_CPU_MIPS64R6
select BR2_ARCH_NEEDS_GCC_AT_LEAST_6
config BR2_mips_octeon2
bool "Octeon II"
depends on BR2_ARCH_IS_64
select BR2_MIPS_CPU_MIPS64R2
help
Marvell (formerly Cavium Networks) Octeon II CN60XX
processors.
config BR2_mips_octeon3
bool "Octeon III"
depends on BR2_ARCH_IS_64
select BR2_MIPS_CPU_MIPS64R3
help
Marvell (formerly Cavium Networks) Octeon III CN7XXX
processors.
config BR2_mips_p6600
bool "P6600"
depends on BR2_ARCH_IS_64
@ -135,6 +163,7 @@ endchoice
config BR2_MIPS_SOFT_FLOAT
bool "Use soft-float"
default y
depends on !BR2_mips_octeon3 # hard-float only
select BR2_SOFT_FLOAT
help
If your target CPU does not have a Floating Point Unit (FPU)
@ -213,6 +242,7 @@ config BR2_ENDIAN
config BR2_GCC_TARGET_ARCH
default "mips32" if BR2_mips_32
default "mips32r2" if BR2_mips_32r2
default "mips32r3" if BR2_mips_32r3
default "mips32r5" if BR2_mips_32r5
default "mips32r6" if BR2_mips_32r6
default "interaptiv" if BR2_mips_interaptiv
@ -222,9 +252,12 @@ config BR2_GCC_TARGET_ARCH
default "mips32r2" if BR2_mips_xburst
default "mips64" if BR2_mips_64
default "mips64r2" if BR2_mips_64r2
default "mips64r3" if BR2_mips_64r3
default "mips64r5" if BR2_mips_64r5
default "mips64r6" if BR2_mips_64r6
default "i6400" if BR2_mips_i6400
default "octeon2" if BR2_mips_octeon2
default "octeon3" if BR2_mips_octeon3
default "p6600" if BR2_mips_p6600
config BR2_MIPS_OABI32

127
arch/Config.in.riscv Normal file
View File

@ -0,0 +1,127 @@
# RISC-V CPU ISA extensions.
config BR2_RISCV_ISA_RVI
bool
config BR2_RISCV_ISA_RVM
bool
config BR2_RISCV_ISA_RVA
bool
config BR2_RISCV_ISA_RVF
bool
config BR2_RISCV_ISA_RVD
bool
config BR2_RISCV_ISA_RVC
bool
choice
prompt "Target Architecture Variant"
default BR2_riscv_g
config BR2_riscv_g
bool "General purpose (G)"
select BR2_RISCV_ISA_RVI
select BR2_RISCV_ISA_RVM
select BR2_RISCV_ISA_RVA
select BR2_RISCV_ISA_RVF
select BR2_RISCV_ISA_RVD
help
General purpose (G) is equivalent to IMAFD.
config BR2_riscv_custom
bool "Custom architecture"
select BR2_RISCV_ISA_RVI
select BR2_RISCV_ISA_CUSTOM_RVA
endchoice
if BR2_riscv_custom
comment "Instruction Set Extensions"
config BR2_RISCV_ISA_CUSTOM_RVM
bool "Integer Multiplication and Division (M)"
select BR2_RISCV_ISA_RVM
config BR2_RISCV_ISA_CUSTOM_RVA
bool "Atomic Instructions (A)"
select BR2_RISCV_ISA_RVA
config BR2_RISCV_ISA_CUSTOM_RVF
bool "Single-precision Floating-point (F)"
select BR2_RISCV_ISA_RVF
config BR2_RISCV_ISA_CUSTOM_RVD
bool "Double-precision Floating-point (D)"
depends on BR2_RISCV_ISA_RVF
select BR2_RISCV_ISA_RVD
config BR2_RISCV_ISA_CUSTOM_RVC
bool "Compressed Instructions (C)"
select BR2_RISCV_ISA_RVC
endif
choice
prompt "Target Architecture Size"
default BR2_RISCV_64
config BR2_RISCV_32
bool "32-bit"
config BR2_RISCV_64
bool "64-bit"
select BR2_ARCH_IS_64
endchoice
choice
prompt "Target ABI"
default BR2_RISCV_ABI_ILP32 if !BR2_ARCH_IS_64
default BR2_RISCV_ABI_LP64 if BR2_ARCH_IS_64
config BR2_RISCV_ABI_ILP32
bool "ilp32"
depends on !BR2_ARCH_IS_64
config BR2_RISCV_ABI_ILP32F
bool "ilp32f"
depends on !BR2_ARCH_IS_64 && BR2_RISCV_ISA_RVF
config BR2_RISCV_ABI_ILP32D
bool "ilp32d"
depends on !BR2_ARCH_IS_64 && BR2_RISCV_ISA_RVD
config BR2_RISCV_ABI_LP64
bool "lp64"
depends on BR2_ARCH_IS_64
config BR2_RISCV_ABI_LP64F
bool "lp64f"
depends on BR2_ARCH_IS_64 && BR2_RISCV_ISA_RVF
config BR2_RISCV_ABI_LP64D
bool "lp64d"
depends on BR2_ARCH_IS_64 && BR2_RISCV_ISA_RVD
endchoice
config BR2_ARCH
default "riscv32" if !BR2_ARCH_IS_64
default "riscv64" if BR2_ARCH_IS_64
config BR2_ENDIAN
default "LITTLE"
config BR2_GCC_TARGET_ABI
default "ilp32" if BR2_RISCV_ABI_ILP32
default "ilp32f" if BR2_RISCV_ABI_ILP32F
default "ilp32d" if BR2_RISCV_ABI_ILP32D
default "lp64" if BR2_RISCV_ABI_LP64
default "lp64f" if BR2_RISCV_ABI_LP64F
default "lp64d" if BR2_RISCV_ABI_LP64D
config BR2_READELF_ARCH_NAME
default "RISC-V"

22
arch/arch.mk Normal file
View File

@ -0,0 +1,22 @@
################################################################################
#
# Architecture-specific definitions
#
################################################################################
# Allow GCC target configuration settings to be optionally
# overwritten by architecture specific makefiles.
# Makefiles must use the GCC_TARGET_* variables below instead
# of the BR2_GCC_TARGET_* versions.
GCC_TARGET_ARCH := $(call qstrip,$(BR2_GCC_TARGET_ARCH))
GCC_TARGET_ABI := $(call qstrip,$(BR2_GCC_TARGET_ABI))
GCC_TARGET_NAN := $(call qstrip,$(BR2_GCC_TARGET_NAN))
GCC_TARGET_FP32_MODE := $(call qstrip,$(BR2_GCC_TARGET_FP32_MODE))
GCC_TARGET_CPU := $(call qstrip,$(BR2_GCC_TARGET_CPU))
GCC_TARGET_FPU := $(call qstrip,$(BR2_GCC_TARGET_FPU))
GCC_TARGET_FLOAT_ABI := $(call qstrip,$(BR2_GCC_TARGET_FLOAT_ABI))
GCC_TARGET_MODE := $(call qstrip,$(BR2_GCC_TARGET_MODE))
# Include any architecture specific makefiles.
-include $(sort $(wildcard arch/arch.mk.*))

30
arch/arch.mk.riscv Normal file
View File

@ -0,0 +1,30 @@
#
# Configure the GCC_TARGET_ARCH variable and append the
# appropriate RISC-V ISA extensions.
#
ifeq ($(BR2_riscv),y)
ifeq ($(BR2_RISCV_64),y)
GCC_TARGET_ARCH := rv64i
else
GCC_TARGET_ARCH := rv32i
endif
ifeq ($(BR2_RISCV_ISA_RVM),y)
GCC_TARGET_ARCH := $(GCC_TARGET_ARCH)m
endif
ifeq ($(BR2_RISCV_ISA_RVA),y)
GCC_TARGET_ARCH := $(GCC_TARGET_ARCH)a
endif
ifeq ($(BR2_RISCV_ISA_RVF),y)
GCC_TARGET_ARCH := $(GCC_TARGET_ARCH)f
endif
ifeq ($(BR2_RISCV_ISA_RVD),y)
GCC_TARGET_ARCH := $(GCC_TARGET_ARCH)d
endif
ifeq ($(BR2_RISCV_ISA_RVC),y)
GCC_TARGET_ARCH := $(GCC_TARGET_ARCH)c
endif
endif

View File

@ -13,11 +13,12 @@ source "boot/gummiboot/Config.in"
source "boot/lpc32xxcdl/Config.in"
source "boot/mv-ddr-marvell/Config.in"
source "boot/mxs-bootlets/Config.in"
source "boot/riscv-pk/Config.in"
source "boot/s500-bootloader/Config.in"
source "boot/shim/Config.in"
source "boot/syslinux/Config.in"
source "boot/ts4800-mbrboot/Config.in"
source "boot/uboot/Config.in"
source "boot/vexpress-firmware/Config.in"
source "boot/xloader/Config.in"
endmenu

View File

@ -6,13 +6,15 @@
AFBOOT_STM32_VERSION = v0.1
AFBOOT_STM32_SITE = $(call github,mcoquelin-stm32,afboot-stm32,$(AFBOOT_STM32_VERSION))
AFBOOT_STM32_INSTALL_IMAGES = YES
AFBOOT_STM32_INSTALL_TARGET = NO
define AFBOOT_STM32_BUILD_CMDS
$(TARGET_MAKE_ENV) $(MAKE) -C $(@D) CROSS_COMPILE=$(TARGET_CROSS) all
endef
define AFBOOT_STM32_INSTALL_TARGET_CMDS
$(INSTALL) -m 0755 $(@D)/stm32*.bin $(BINARIES_DIR)
define AFBOOT_STM32_INSTALL_IMAGES_CMDS
$(INSTALL) -m 0755 -t $(BINARIES_DIR) -D $(@D)/stm32*.bin
endef
$(eval $(generic-package))

View File

@ -16,6 +16,11 @@ choice
config BR2_TARGET_ARM_TRUSTED_FIRMWARE_LATEST_VERSION
bool "v1.4"
config BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_VERSION
bool "Custom version"
help
This option allows to use a specific official versions
config BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_TARBALL
bool "Custom tarball"
@ -31,12 +36,18 @@ config BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_TARBALL_LOCATION
endif
config BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_VERSION_VALUE
string "ATF version"
depends on BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_VERSION
config BR2_TARGET_ARM_TRUSTED_FIRMWARE_VERSION
string
default "v1.4" if BR2_TARGET_ARM_TRUSTED_FIRMWARE_LATEST_VERSION
default "custom" if BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_TARBALL
default BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_REPO_VERSION \
if BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_GIT
default BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_VERSION_VALUE \
if BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_VERSION
if BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_GIT

View File

@ -13,15 +13,18 @@ ifeq ($(ARM_TRUSTED_FIRMWARE_VERSION),custom)
ARM_TRUSTED_FIRMWARE_TARBALL = $(call qstrip,$(BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_TARBALL_LOCATION))
ARM_TRUSTED_FIRMWARE_SITE = $(patsubst %/,%,$(dir $(ARM_TRUSTED_FIRMWARE_TARBALL)))
ARM_TRUSTED_FIRMWARE_SOURCE = $(notdir $(ARM_TRUSTED_FIRMWARE_TARBALL))
BR_NO_CHECK_HASH_FOR += $(ARM_TRUSTED_FIRMWARE_SOURCE)
else ifeq ($(BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_GIT),y)
ARM_TRUSTED_FIRMWARE_SITE = $(call qstrip,$(BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_REPO_URL))
ARM_TRUSTED_FIRMWARE_SITE_METHOD = git
BR_NO_CHECK_HASH_FOR += $(ARM_TRUSTED_FIRMWARE_SOURCE)
else
# Handle stable official ATF versions
ARM_TRUSTED_FIRMWARE_SITE = $(call github,ARM-software,arm-trusted-firmware,$(ARM_TRUSTED_FIRMWARE_VERSION))
endif
ifeq ($(BR2_TARGET_ARM_TRUSTED_FIRMWARE)$(BR2_TARGET_ARM_TRUSTED_FIRMWARE_LATEST_VERSION),y)
BR_NO_CHECK_HASH_FOR += $(ARM_TRUSTED_FIRMWARE_SOURCE)
endif
ARM_TRUSTED_FIRMWARE_INSTALL_IMAGES = YES
ARM_TRUSTED_FIRMWARE_PLATFORM = $(call qstrip,$(BR2_TARGET_ARM_TRUSTED_FIRMWARE_PLATFORM))
@ -80,8 +83,8 @@ define ARM_TRUSTED_FIRMWARE_BL31_UBOOT_BUILD
# Get the entry point address from the elf.
BASE_ADDR=$$($(TARGET_READELF) -h $(ARM_TRUSTED_FIRMWARE_IMG_DIR)/bl31/bl31.elf | \
sed -r '/^ Entry point address:\s*(.*)/!d; s//\1/') && \
$(HOST_DIR)/bin/mkimage \
-A arm64 -O arm-trusted-firmware -C none \
$(MKIMAGE) \
-A $(MKIMAGE_ARCH) -O arm-trusted-firmware -C none \
-a $${BASE_ADDR} -e $${BASE_ADDR} \
-d $(ARM_TRUSTED_FIRMWARE_IMG_DIR)/bl31.bin \
$(ARM_TRUSTED_FIRMWARE_IMG_DIR)/atf-uboot.ub
@ -94,17 +97,24 @@ ARM_TRUSTED_FIRMWARE_MAKE_OPTS += RESET_TO_BL31=1
ARM_TRUSTED_FIRMWARE_DEPENDENCIES += host-uboot-tools
endif
ifeq ($(BR2_TARGET_UBOOT_NEEDS_ATF_BL31_ELF),y)
define ARM_TRUSTED_FIRMWARE_BL31_UBOOT_INSTALL_ELF
$(INSTALL) -D -m 0644 $(ARM_TRUSTED_FIRMWARE_IMG_DIR)/bl31/bl31.elf \
$(BINARIES_DIR)/bl31.elf
endef
endif
define ARM_TRUSTED_FIRMWARE_BUILD_CMDS
$(ARM_TRUSTED_FIRMWARE_BUILD_FIPTOOL)
$(TARGET_CONFIGURE_OPTS) \
$(MAKE) -C $(@D) $(ARM_TRUSTED_FIRMWARE_MAKE_OPTS) \
$(ARM_TRUSTED_FIRMWARE_MAKE_TARGETS)
$(TARGET_MAKE_ENV) $(MAKE) -C $(@D) $(ARM_TRUSTED_FIRMWARE_MAKE_OPTS) \
$(ARM_TRUSTED_FIRMWARE_MAKE_TARGETS)
$(ARM_TRUSTED_FIRMWARE_BL31_UBOOT_BUILD)
endef
define ARM_TRUSTED_FIRMWARE_INSTALL_IMAGES_CMDS
cp -dpf $(ARM_TRUSTED_FIRMWARE_IMG_DIR)/*.bin $(BINARIES_DIR)/
$(ARM_TRUSTED_FIRMWARE_BL31_UBOOT_INSTALL)
$(ARM_TRUSTED_FIRMWARE_BL31_UBOOT_INSTALL_ELF)
endef
# Configuration check

View File

@ -12,8 +12,6 @@ config BR2_TARGET_AT91BOOTSTRAP3
https://www.at91.com/linux4sam/bin/view/Linux4SAM/AT91Bootstrap
https://www.at91.com/linux4sam/bin/view/Linux4SAM/AT91Bootstrap
if BR2_TARGET_AT91BOOTSTRAP3
choice

View File

@ -12,7 +12,7 @@ choice
Select the specific Barebox version you want to use
config BR2_TARGET_BAREBOX_LATEST_VERSION
bool "2017.09.0"
bool "2018.12.0"
config BR2_TARGET_BAREBOX_CUSTOM_VERSION
bool "Custom version"
@ -40,7 +40,7 @@ endif
config BR2_TARGET_BAREBOX_VERSION
string
default "2017.09.0" if BR2_TARGET_BAREBOX_LATEST_VERSION
default "2018.12.0" if BR2_TARGET_BAREBOX_LATEST_VERSION
default BR2_TARGET_BAREBOX_CUSTOM_VERSION_VALUE if BR2_TARGET_BAREBOX_CUSTOM_VERSION
default "custom" if BR2_TARGET_BAREBOX_CUSTOM_TARBALL
default BR2_TARGET_BAREBOX_CUSTOM_GIT_VERSION if BR2_TARGET_BAREBOX_CUSTOM_GIT

View File

@ -1,5 +1,5 @@
# http://www.barebox.org/download/barebox-2017.09.0.tar.bz2.md5
md5 b92e9c99cda7fbb61d01baf5679df261 barebox-2017.09.0.tar.bz2
# From https://www.barebox.org/download/barebox-2018.12.0.tar.bz2.md5
md5 f84d7d3562055c80c3eedce0b14d4a0d barebox-2018.12.0.tar.bz2
# Locally calculated
sha256 43283edc019f95a53fdb7d1b7c294afc4741bfcace348d6beeded5fe5147a81b barebox-2017.09.0.tar.bz2
sha256 e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 barebox-2018.12.0.tar.bz2

View File

@ -28,7 +28,7 @@ $(1)_SITE_METHOD = git
else
# Handle stable official Barebox versions
$(1)_SOURCE = barebox-$$($(1)_VERSION).tar.bz2
$(1)_SITE = http://www.barebox.org/download
$(1)_SITE = https://www.barebox.org/download
endif
$(1)_DEPENDENCIES = host-lzop

View File

@ -26,7 +26,7 @@ endchoice
config BR2_TARGET_BINARIES_MARVELL_IMAGE
string
default "mrvl_scp_bl2_8040.img" if BR2_TARGET_BINARIES_MARVELL_8040
default "mrvl_scp_bl2_7040.img" if BR2_TARGET_BINARIES_MARVELL_7040
default "mrvl_scp_bl2_mss_ap_cp1_a8040.img" if BR2_TARGET_BINARIES_MARVELL_8040
default "mrvl_scp_bl2_mss_ap_cp1_a7040.img" if BR2_TARGET_BINARIES_MARVELL_7040
endif

View File

@ -1,3 +1,3 @@
# Locally calculated
sha256 7c41cddc2ce46038b630b59d2e9e50e903d27032bcfbf38019eaed14fcfdbe40 binaries-marvell-a8ac27b7884ed2c1efcf9f3326de3e0ed7b94e91.tar.gz
sha256 d8560ab4ea4042a55eee6857ded1d7e4bca2d9120b8c7a86d2a7fdc4ba4994e0 README.md
sha256 45c348d7a62fd147e7c6a59211a77876ce5dd26de690bd45ab79c8ff891acedf binaries-marvell-14481806e699dcc6f7025dbe3e46cf26bb787791.tar.gz
sha256 509a36bb6faa106bbc9730c23038a361ee0c860e53a4cdf9e8605c0174fe45f7 README.md

View File

@ -4,7 +4,8 @@
#
################################################################################
BINARIES_MARVELL_VERSION = a8ac27b7884ed2c1efcf9f3326de3e0ed7b94e91
# This is version binaries-marvell-armada-18.06
BINARIES_MARVELL_VERSION = 14481806e699dcc6f7025dbe3e46cf26bb787791
BINARIES_MARVELL_SITE = $(call github,MarvellEmbeddedProcessors,binaries-marvell,$(BINARIES_MARVELL_VERSION))
BINARIES_MARVELL_LICENSE = GPL-2.0 with freertos-exception-2.0

View File

@ -0,0 +1,74 @@
From 842c390469e2c2e10b5aa36700324cd3bde25875 Mon Sep 17 00:00:00 2001
From: "H.J. Lu" <hjl.tools@gmail.com>
Date: Sat, 17 Feb 2018 06:47:28 -0800
Subject: [PATCH] x86-64: Treat R_X86_64_PLT32 as R_X86_64_PC32
Starting from binutils commit bd7ab16b4537788ad53521c45469a1bdae84ad4a:
https://sourceware.org/git/?p=binutils-gdb.git;a=commit;h=bd7ab16b4537788ad53521c45469a1bdae84ad4a
x86-64 assembler generates R_X86_64_PLT32, instead of R_X86_64_PC32, for
32-bit PC-relative branches. Grub2 should treat R_X86_64_PLT32 as
R_X86_64_PC32.
Signed-off-by: H.J. Lu <hjl.tools@gmail.com>
Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
Signed-off-by: Romain Naour <romain.naour@smile.fr>
---
grub-core/efiemu/i386/loadcore64.c | 1 +
grub-core/kern/x86_64/dl.c | 1 +
util/grub-mkimagexx.c | 1 +
util/grub-module-verifier.c | 1 +
4 files changed, 4 insertions(+)
diff --git a/grub-core/efiemu/i386/loadcore64.c b/grub-core/efiemu/i386/loadcore64.c
index e49d0b6..18facf4 100644
--- a/grub-core/efiemu/i386/loadcore64.c
+++ b/grub-core/efiemu/i386/loadcore64.c
@@ -98,6 +98,7 @@ grub_arch_efiemu_relocate_symbols64 (grub_efiemu_segment_t segs,
break;
case R_X86_64_PC32:
+ case R_X86_64_PLT32:
err = grub_efiemu_write_value (addr,
*addr32 + rel->r_addend
+ sym.off
diff --git a/grub-core/kern/x86_64/dl.c b/grub-core/kern/x86_64/dl.c
index 4406906..3a73e6e 100644
--- a/grub-core/kern/x86_64/dl.c
+++ b/grub-core/kern/x86_64/dl.c
@@ -70,6 +70,7 @@ grub_arch_dl_relocate_symbols (grub_dl_t mod, void *ehdr,
break;
case R_X86_64_PC32:
+ case R_X86_64_PLT32:
{
grub_int64_t value;
value = ((grub_int32_t) *addr32) + rel->r_addend + sym->st_value -
diff --git a/util/grub-mkimagexx.c b/util/grub-mkimagexx.c
index a2bb054..39d7efb 100644
--- a/util/grub-mkimagexx.c
+++ b/util/grub-mkimagexx.c
@@ -841,6 +841,7 @@ SUFFIX (relocate_addresses) (Elf_Ehdr *e, Elf_Shdr *sections,
break;
case R_X86_64_PC32:
+ case R_X86_64_PLT32:
{
grub_uint32_t *t32 = (grub_uint32_t *) target;
*t32 = grub_host_to_target64 (grub_target_to_host32 (*t32)
diff --git a/util/grub-module-verifier.c b/util/grub-module-verifier.c
index 9179285..a79271f 100644
--- a/util/grub-module-verifier.c
+++ b/util/grub-module-verifier.c
@@ -19,6 +19,7 @@ struct grub_module_verifier_arch archs[] = {
-1
}, (int[]){
R_X86_64_PC32,
+ R_X86_64_PLT32,
-1
}
},
--
2.7.4

View File

@ -2,6 +2,9 @@ config BR2_TARGET_GRUB2_ARCH_SUPPORTS
bool
default y if BR2_i386
default y if BR2_x86_64
default y if BR2_arm
default y if BR2_aarch64
depends on BR2_USE_MMU
config BR2_TARGET_GRUB2
bool "grub2"
@ -29,12 +32,14 @@ choice
config BR2_TARGET_GRUB2_I386_PC
bool "i386-pc"
depends on BR2_i386 || BR2_x86_64
help
Select this option if the platform you're targetting is a
x86 or x86-64 legacy BIOS based platform.
config BR2_TARGET_GRUB2_I386_EFI
bool "i386-efi"
depends on BR2_i386 || BR2_x86_64
help
Select this option if the platform you're targetting has a
32 bits EFI BIOS. Note that some x86-64 platforms use a 32
@ -42,14 +47,38 @@ config BR2_TARGET_GRUB2_I386_EFI
config BR2_TARGET_GRUB2_X86_64_EFI
bool "x86-64-efi"
depends on BR2_ARCH_IS_64
depends on BR2_x86_64
help
Select this option if the platform you're targetting has a
64 bits EFI BIOS.
config BR2_TARGET_GRUB2_ARM_UBOOT
bool "arm-uboot"
depends on BR2_arm
help
Select this option if the platform you're targetting is an
ARM u-boot platform, and you want to boot Grub 2 as an u-boot
compatible image.
config BR2_TARGET_GRUB2_ARM_EFI
bool "arm-efi"
depends on BR2_arm
help
Select this option if the platform you're targetting is an
ARM platform and you want to boot Grub 2 as an EFI
application.
config BR2_TARGET_GRUB2_ARM64_EFI
bool "arm64-efi"
depends on BR2_aarch64
help
Select this option if the platform you're targetting is an
Aarch64 platform and you want to boot Grub 2 as an EFI
application.
endchoice
if BR2_TARGET_GRUB2_I386_PC
if BR2_TARGET_GRUB2_I386_PC || BR2_TARGET_GRUB2_ARM_UBOOT
config BR2_TARGET_GRUB2_BOOT_PARTITION
string "boot partition"
@ -60,13 +89,15 @@ config BR2_TARGET_GRUB2_BOOT_PARTITION
first disk if using a legacy partition table, or 'hd0,gpt1'
if using GPT partition table.
endif # BR2_TARGET_GRUB2_I386_PC
endif # BR2_TARGET_GRUB2_I386_PC || BR2_TARGET_GRUB2_ARM_UBOOT
config BR2_TARGET_GRUB2_BUILTIN_MODULES
string "builtin modules"
default "boot linux ext2 fat squash4 part_msdos part_gpt normal biosdisk" if BR2_TARGET_GRUB2_I386_PC
default "boot linux ext2 fat squash4 part_msdos part_gpt normal efi_gop" \
if BR2_TARGET_GRUB2_I386_EFI || BR2_TARGET_GRUB2_X86_64_EFI
if BR2_TARGET_GRUB2_I386_EFI || BR2_TARGET_GRUB2_X86_64_EFI || \
BR2_TARGET_GRUB2_ARM_EFI || BR2_TARGET_GRUB2_ARM64_EFI
default "linux ext2 fat part_msdos normal" if BR2_TARGET_GRUB2_ARM_UBOOT
config BR2_TARGET_GRUB2_BUILTIN_CONFIG
string "builtin config"
@ -76,6 +107,15 @@ config BR2_TARGET_GRUB2_BUILTIN_CONFIG
device and other configuration parameters, but however menu
entries cannot be described in this embedded configuration.
config BR2_TARGET_GRUB2_INSTALL_TOOLS
bool "install tools"
help
Install support tools to interact with GNU GRUB Multiboot
boot loader.
This will also install the Grub 2 loadable modules to the
target.
endif # BR2_TARGET_GRUB2
comment "grub2 needs a toolchain w/ wchar"

View File

@ -9,7 +9,15 @@ GRUB2_SITE = http://ftp.gnu.org/gnu/grub
GRUB2_SOURCE = grub-$(GRUB2_VERSION).tar.xz
GRUB2_LICENSE = GPL-3.0+
GRUB2_LICENSE_FILES = COPYING
GRUB2_DEPENDENCIES = host-bison host-flex
GRUB2_DEPENDENCIES = host-bison host-flex host-grub2
HOST_GRUB2_DEPENDENCIES = host-bison host-flex
GRUB2_INSTALL_IMAGES = YES
ifeq ($(BR2_TARGET_GRUB2_INSTALL_TOOLS),y)
GRUB2_INSTALL_TARGET = YES
else
GRUB2_INSTALL_TARGET = NO
endif
GRUB2_BUILTIN_MODULES = $(call qstrip,$(BR2_TARGET_GRUB2_BUILTIN_MODULES))
GRUB2_BUILTIN_CONFIG = $(call qstrip,$(BR2_TARGET_GRUB2_BUILTIN_CONFIG))
@ -36,29 +44,48 @@ GRUB2_PREFIX = /EFI/BOOT
GRUB2_TUPLE = x86_64-efi
GRUB2_TARGET = x86_64
GRUB2_PLATFORM = efi
else ifeq ($(BR2_TARGET_GRUB2_ARM_UBOOT),y)
GRUB2_IMAGE = $(BINARIES_DIR)/boot-part/grub/grub.img
GRUB2_CFG = $(BINARIES_DIR)/boot-part/grub/grub.cfg
GRUB2_PREFIX = ($(GRUB2_BOOT_PARTITION))/boot/grub
GRUB2_TUPLE = arm-uboot
GRUB2_TARGET = arm
GRUB2_PLATFORM = uboot
else ifeq ($(BR2_TARGET_GRUB2_ARM_EFI),y)
GRUB2_IMAGE = $(BINARIES_DIR)/efi-part/EFI/BOOT/bootarm.efi
GRUB2_CFG = $(BINARIES_DIR)/efi-part/EFI/BOOT/grub.cfg
GRUB2_PREFIX = /EFI/BOOT
GRUB2_TUPLE = arm-efi
GRUB2_TARGET = arm
GRUB2_PLATFORM = efi
else ifeq ($(BR2_TARGET_GRUB2_ARM64_EFI),y)
GRUB2_IMAGE = $(BINARIES_DIR)/efi-part/EFI/BOOT/bootaa64.efi
GRUB2_CFG = $(BINARIES_DIR)/efi-part/EFI/BOOT/grub.cfg
GRUB2_PREFIX = /EFI/BOOT
GRUB2_TUPLE = arm64-efi
GRUB2_TARGET = aarch64
GRUB2_PLATFORM = efi
endif
# Grub2 is kind of special: it considers CC, LD and so on to be the
# tools to build the native tools (i.e to be executed on the build
# machine), and uses TARGET_CC, TARGET_CFLAGS, TARGET_CPPFLAGS,
# TARGET_LDFLAGS to build the bootloader itself. However, to add to
# the confusion, it also uses NM, OBJCOPY and STRIP to build the
# bootloader itself; none of these are used to build the native
# tools.
# tools to build the host programs and uses TARGET_CC, TARGET_CFLAGS,
# TARGET_CPPFLAGS, TARGET_LDFLAGS to build the bootloader itself.
#
# NOTE: TARGET_STRIP is overridden by !BR2_STRIP_strip, so always
# use the cross compile variant to ensure grub2 builds
HOST_GRUB2_CONF_ENV = \
CPP="$(HOSTCC) -E"
GRUB2_CONF_ENV = \
$(HOST_CONFIGURE_OPTS) \
CPP="$(HOSTCC) -E" \
CPP="$(TARGET_CC) -E" \
TARGET_CC="$(TARGET_CC)" \
TARGET_CFLAGS="$(TARGET_CFLAGS)" \
TARGET_CPPFLAGS="$(TARGET_CPPFLAGS) -fno-stack-protector" \
TARGET_LDFLAGS="$(TARGET_LDFLAGS)" \
NM="$(TARGET_NM)" \
OBJCOPY="$(TARGET_OBJCOPY)" \
STRIP="$(TARGET_CROSS)strip"
TARGET_NM="$(TARGET_NM)" \
TARGET_OBJCOPY="$(TARGET_OBJCOPY)" \
TARGET_STRIP="$(TARGET_CROSS)strip"
GRUB2_CONF_OPTS = \
--target=$(GRUB2_TARGET) \
@ -72,12 +99,13 @@ GRUB2_CONF_OPTS = \
--enable-libzfs=no \
--disable-werror
# We don't want all the native tools and Grub2 modules to be installed
# in the target. So we in fact install everything into the host
# directory, and the image generation process (below) will use the
# grub-mkimage tool and Grub2 modules from the host directory.
GRUB2_INSTALL_TARGET_OPTS = DESTDIR=$(HOST_DIR) install
HOST_GRUB2_CONF_OPTS = \
--disable-grub-mkfont \
--enable-efiemu=no \
ac_cv_lib_lzma_lzma_code=no \
--enable-device-mapper=no \
--enable-libzfs=no \
--disable-werror
ifeq ($(BR2_TARGET_GRUB2_I386_PC),y)
define GRUB2_IMAGE_INSTALL_ELTORITO
@ -86,10 +114,10 @@ define GRUB2_IMAGE_INSTALL_ELTORITO
endef
endif
define GRUB2_IMAGE_INSTALLATION
define GRUB2_INSTALL_IMAGES_CMDS
mkdir -p $(dir $(GRUB2_IMAGE))
$(HOST_DIR)/bin/grub-mkimage \
-d $(HOST_DIR)/lib/grub/$(GRUB2_TUPLE) \
$(HOST_DIR)/usr/bin/grub-mkimage \
-d $(@D)/grub-core/ \
-O $(GRUB2_TUPLE) \
-o $(GRUB2_IMAGE) \
-p "$(GRUB2_PREFIX)" \
@ -99,14 +127,14 @@ define GRUB2_IMAGE_INSTALLATION
$(INSTALL) -D -m 0644 boot/grub2/grub.cfg $(GRUB2_CFG)
$(GRUB2_IMAGE_INSTALL_ELTORITO)
endef
GRUB2_POST_INSTALL_TARGET_HOOKS += GRUB2_IMAGE_INSTALLATION
ifeq ($(GRUB2_PLATFORM),efi)
define GRUB2_EFI_STARTUP_NSH
echo $(notdir $(GRUB2_IMAGE)) > \
$(BINARIES_DIR)/efi-part/startup.nsh
endef
GRUB2_POST_INSTALL_TARGET_HOOKS += GRUB2_EFI_STARTUP_NSH
GRUB2_POST_INSTALL_IMAGES_HOOKS += GRUB2_EFI_STARTUP_NSH
endif
$(eval $(autotools-package))
$(eval $(host-autotools-package))

View File

@ -53,8 +53,8 @@ To test your BIOS image in Qemu
qemu-system-{i386,x86-64} -hda disk.img
Notes on using Grub2 for EFI-based platforms
============================================
Notes on using Grub2 for x86/x86_64 EFI-based platforms
=======================================================
1. Create a disk image
dd if=/dev/zero of=disk.img bs=1M count=32
@ -83,16 +83,108 @@ Notes on using Grub2 for EFI-based platforms
sudo losetup -d /dev/loop0
7. Your disk.img is ready!
To test your EFI image in Qemu
------------------------------
To test your i386/x86-64 EFI image in Qemu
------------------------------------------
1. Download the EFI BIOS for Qemu
Version IA32 or X64 depending on the chosen Grub2
platform (i386-efi vs. x86-64-efi)
http://sourceforge.net/projects/edk2/files/OVMF/
https://www.kraxel.org/repos/jenkins/edk2/
(or use one provided by your distribution as OVMF)
2. Extract, and rename OVMF.fd to bios.bin and
CirrusLogic5446.rom to vgabios-cirrus.bin.
3. qemu-system-{i386,x86-64} -L ovmf-dir/ -hda disk.img
4. Make sure to pass pci=nocrs to the kernel command line,
to workaround a bug in the EFI BIOS regarding the
EFI framebuffer.
Notes on using Grub2 for ARM u-boot-based platforms
===================================================
The following steps show how to use the Grub2 arm-uboot platform
support in the simplest way possible and with a single
buildroot-generated filesystem.
1. Load qemu_arm_vexpress_defconfig
2. Enable u-boot with the vexpress_ca9x4 board name and with
u-boot.elf image format.
3. Enable grub2 for the arm-uboot platform.
4. Enable "Install kernel image to /boot in target" in the kernel
menu to populate a /boot directory with zImage in it.
5. The upstream u-boot vexpress_ca9x4 doesn't have CONFIG_API enabled
by default, which is required.
Before building, patch u-boot (for example, make u-boot-extract to
edit the source before building) file
include/configs/vexpress_common.h to define:
#define CONFIG_API
#define CONFIG_SYS_MMC_MAX_DEVICE 1
6. Create a custom grub2 config file with the following contents and
set its path in BR2_TARGET_GRUB2_CFG:
set default="0"
set timeout="5"
menuentry "Buildroot" {
set root='(hd0)'
linux /boot/zImage root=/dev/mmcblk0 console=ttyAMA0
devicetree /boot/vexpress-v2p-ca9.dtb
}
7. Create a custom builtin config file with the following contents
and set its path in BR2_TARGET_GRUB2_BUILTIN_CONFIG:
set root=(hd0)
set prefix=/boot/grub
8. Create a custom post-build script which copies files from
${BINARIES_DIR}/boot-part to $(TARGET_DIR)/boot (set its path in
BR2_ROOTFS_POST_BUILD_SCRIPT):
#!/bin/sh
cp -r ${BINARIES_DIR}/boot-part/* ${TARGET_DIR}/boot/
9. make
10. Run qemu with:
qemu-system-arm -M vexpress-a9 -kernel output/images/u-boot -m 1024 \
-nographic -sd output/images/rootfs.ext2
11. In u-boot, stop at the prompt and run grub2 with:
=> ext2load mmc 0:0 ${loadaddr} /boot/grub/grub.img
=> bootm
12. This should bring the grub2 menu, upon which selecting the "Buildroot"
entry should boot Linux.
Notes on using Grub2 for Aarch64 EFI-based platforms
====================================================
The following steps show how to use the Grub2 arm64-efi platform,
using qemu and EFI firmware built for qemu.
1. Load aarch64_efi_defconfig
2. make
3. Download the EFI firmware for qemu aarch64
https://www.kraxel.org/repos/jenkins/edk2/
(or use one provided by your distribution as OVMF-aarch64 or AAVMF)
4. Run qemu with:
qemu-system-aarch64 -M virt -cpu cortex-a57 -m 512 -nographic \
-bios <path/to/EDK2>/QEMU_EFI.fd -hda output/images/disk.img \
-netdev user,id=eth0 -device virtio-net-device,netdev=eth0
5. This should bring the grub2 menu, upon which selecting the
"Buildroot" entry should boot Linux.

View File

@ -1,6 +1,7 @@
config BR2_TARGET_GUMMIBOOT
bool "gummiboot"
depends on BR2_i386 || BR2_x86_64
depends on BR2_PACKAGE_GNU_EFI_ARCH_SUPPORTS
select BR2_PACKAGE_GNU_EFI
select BR2_PACKAGE_UTIL_LINUX
select BR2_PACKAGE_UTIL_LINUX_LIBBLKID

View File

@ -1,2 +1,2 @@
# Locally calculated
sha256 d413546367ffa3b5f4373a777b9efeb32dcc74d6106897c248935ecb79afc454 mv-ddr-marvell-656440a9690f3d07be9e3d2c39d7cf56fd96eb7b.tar.gz
sha256 9aaea1f5e8bf3c9d7e735f569d130b5c2ec773c43e0cfabc9b8dee32adbf7e4e mv-ddr-marvell-99d772547314f84921268d57e53d8769197d3e21.tar.gz

View File

@ -4,7 +4,8 @@
#
################################################################################
MV_DDR_MARVELL_VERSION = 656440a9690f3d07be9e3d2c39d7cf56fd96eb7b
# This is the commit for mv_ddr-armada-18.09.2
MV_DDR_MARVELL_VERSION = 99d772547314f84921268d57e53d8769197d3e21
MV_DDR_MARVELL_SITE = $(call github,MarvellEmbeddedProcessors,mv-ddr-marvell,$(MV_DDR_MARVELL_VERSION))
MV_DDR_MARVELL_LICENSE = GPL-2.0+ or LGPL-2.1 with freertos-exception-2.0, BSD-3-Clause, Marvell Commercial
MV_DDR_MARVELL_LICENSE_FILES = ddr3_init.c

14
boot/riscv-pk/Config.in Normal file
View File

@ -0,0 +1,14 @@
comment "riscv-pk needs a Linux kernel to be built"
depends on BR2_riscv
depends on !BR2_LINUX_KERNEL
config BR2_TARGET_RISCV_PK
bool "riscv-pk"
depends on BR2_riscv
depends on BR2_LINUX_KERNEL
help
The RISC-V Proxy Kernel (pk) package contains the Berkeley
Boot Loader (BBL) which has been designed to boot a Linux
kernel on a RISC-V processor.
https://github.com/riscv/riscv-pk.git

32
boot/riscv-pk/riscv-pk.mk Normal file
View File

@ -0,0 +1,32 @@
################################################################################
#
# riscv-pk
#
################################################################################
RISCV_PK_VERSION = 706cc77c369fd3e4734b5a6aa813d421347f1814
RISCV_PK_SITE = git://github.com/riscv/riscv-pk.git
RISCV_PK_LICENSE = BSD-3-Clause
RISCV_PK_LICENSE_FILES = LICENSE
RISCV_PK_DEPENDENCIES = linux
RISCV_PK_SUBDIR = build
RISCV_PK_INSTALL_IMAGES = YES
define RISCV_PK_CONFIGURE_CMDS
mkdir -p $(@D)/build
(cd $(@D)/build; \
$(TARGET_CONFIGURE_OPTS) ../configure \
--host=$(GNU_TARGET_NAME) \
--with-payload=$(BINARIES_DIR)/vmlinux \
)
endef
define RISCV_PK_BUILD_CMDS
$(TARGET_MAKE_ENV) $(MAKE) -C $(@D)/build bbl
endef
define RISCV_PK_INSTALL_IMAGES_CMDS
$(INSTALL) -D -m 0755 $(@D)/build/bbl $(BINARIES_DIR)/bbl
endef
$(eval $(generic-package))

19
boot/shim/Config.in Normal file
View File

@ -0,0 +1,19 @@
config BR2_TARGET_SHIM
bool "shim"
depends on BR2_PACKAGE_GNU_EFI_ARCH_SUPPORTS
# ARM32 build currently broken
depends on !BR2_ARM_CPU_HAS_ARM
select BR2_PACKAGE_GNU_EFI
help
Boot loader to chain-load signed boot loaders under Secure
Boot.
This package provides a minimalist boot loader which allows
verifying signatures of other UEFI binaries against either
the Secure Boot DB/DBX or against a built-in signature
database. Its purpose is to allow a small,
infrequently-changing binary to be signed by the UEFI CA,
while allowing an OS distributor to revision their main
bootloader independently of the CA.
https://github.com/rhboot/shim

3
boot/shim/shim.hash Normal file
View File

@ -0,0 +1,3 @@
# locally computed hash
sha256 279d19cc95b9974ea2379401a6a0653d949c3fa3d61f0c4bd6a7b9e840bdc425 shim-15.tar.gz
sha256 15edf527919ddcb2f514ab9d16ad07ef219e4bb490e0b79560be510f0c159cc2 COPYRIGHT

31
boot/shim/shim.mk Normal file
View File

@ -0,0 +1,31 @@
################################################################################
#
# shim
#
################################################################################
SHIM_VERSION = 15
SHIM_SITE = $(call github,rhboot,shim,$(SHIM_VERSION))
SHIM_LICENSE = BSD-2-Clause
SHIM_LICENSE_FILES = COPYRIGHT
SHIM_DEPENDENCIES = gnu-efi
SHIM_INSTALL_TARGET = NO
SHIM_INSTALL_IMAGES = YES
SHIM_MAKE_OPTS = \
ARCH="$(GNU_EFI_PLATFORM)" \
CROSS_COMPILE="$(TARGET_CROSS)" \
DASHJ="-j$(PARALLEL_JOBS)" \
EFI_INCLUDE="$(STAGING_DIR)/usr/include/efi" \
EFI_PATH="$(STAGING_DIR)/usr/lib" \
LIBDIR="$(STAGING_DIR)/usr/lib"
define SHIM_BUILD_CMDS
$(TARGET_CONFIGURE_OPTS) $(MAKE) -C $(@D) $(SHIM_MAKE_OPTS)
endef
define SHIM_INSTALL_IMAGES_CMDS
$(INSTALL) -m 0755 -t $(BINARIES_DIR) $(@D)/*.efi
endef
$(eval $(generic-package))

View File

@ -0,0 +1,34 @@
From 1a74985b2a404639b08882c57f3147229605dfd5 Mon Sep 17 00:00:00 2001
From: Mike Frysinger <vapier@gentoo.org>
Date: Tue, 19 Apr 2016 06:50:31 -0400
Subject: [PATCH] extlinux: pull in sys/sysmacros.h for major/minor/makedev
These functions are defined in sys/sysmacros.h, so add the include to
main.c. This is already handled correctly in mountinfo.c. Otherwise
we get build failures like:
main.o: In function 'find_device_sysfs':
extlinux/main.c:1131: undefined reference to 'minor'
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
Signed-off-by: Gene Cumm <gene.cumm@gmail.com>
Signed-off-by: Alexander Sverdlin <alexader.sverdlin@gmail.com>
---
extlinux/main.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/extlinux/main.c b/extlinux/main.c
index a7ebd49..ebff7ea 100644
--- a/extlinux/main.c
+++ b/extlinux/main.c
@@ -38,6 +38,7 @@
#include <sysexits.h>
#include <sys/ioctl.h>
#include <sys/stat.h>
+#include <sys/sysmacros.h>
#include <sys/types.h>
#include <sys/mount.h>
#include <sys/vfs.h>
--
2.10.5.GIT

View File

@ -0,0 +1,45 @@
From 44a1b42e561b9a257209300e2860b901b100cc17 Mon Sep 17 00:00:00 2001
From: Carlos Santos <casantos@datacom.com.br>
Date: Tue, 26 Feb 2019 08:07:22 -0300
Subject: [PATCH] Fix build with gnu-efi version 3.0.9
Adapt a patch already applied upstream to prevent multiple definitions
of 'memset' and 'memcpy'.
Signed-off-by: Carlos Santos <casantos@datacom.com.br>
(adapted from commit 363d61c4f112b972649b19d67e96b9321f738f00)
---
mk/lib.mk | 9 +++++++--
1 file changed, 7 insertions(+), 2 deletions(-)
diff --git a/mk/lib.mk b/mk/lib.mk
index ceb95bd0..c9b6eaf3 100644
--- a/mk/lib.mk
+++ b/mk/lib.mk
@@ -186,9 +186,9 @@ MINLIBOBJS = \
# $(LIBVESA_OBJS)
CORELIBOBJS = \
- memcpy.o memset.o memcmp.o printf.o strncmp.o vfprintf.o \
+ memcmp.o printf.o strncmp.o vfprintf.o \
strlen.o vsnprintf.o snprintf.o stpcpy.o strcmp.o strdup.o \
- strcpy.o strncpy.o setjmp.o fopen.o fread.o fread2.o puts.o \
+ strcpy.o strncpy.o fopen.o fread.o fread2.o puts.o \
strtoul.o strntoumax.o strcasecmp.o \
sprintf.o strlcat.o strchr.o strlcpy.o strncasecmp.o ctypes.o \
fputs.o fwrite2.o fwrite.o fgetc.o fclose.o lmalloc.o \
@@ -203,6 +203,11 @@ CORELIBOBJS = \
$(LIBENTRY_OBJS) \
$(LIBMODULE_OBJS)
+ifndef EFI_BUILD
+# For EFI, these are part of gnu-efi
+CORELIBOBJS += setjmp.o memcpy.o memset.o
+endif
+
LDFLAGS = -m elf_$(ARCH) --hash-style=gnu -T $(com32)/lib/$(ARCH)/elf.ld
.SUFFIXES: .c .o .a .so .lo .i .S .s .ls .ss .lss
--
2.14.5

View File

@ -0,0 +1,47 @@
From beb526ca925983c7da229043790ecd552d910650 Mon Sep 17 00:00:00 2001
From: Christian Stewart <christian@paral.in>
Date: Thu, 4 Apr 2019 23:24:31 -0700
Subject: [PATCH] Fix build with binutils note gnu property section
This fixes the following build error with newer binutils:
objcopy -O binary mbr.elf mbr.bin
perl /build/syslinux/src/syslinux/mbr/checksize.pl mbr.bin
mbr.bin: too big (452 > 440)
Corresponding bug reports:
- https://bugs.archlinux.org/task/60405
- https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=906414
Strips the .note.gnu.property in the linker scripts for the MBRs.
Signed-off-by: Christian Stewart <christian@paral.in>
---
mbr/i386/mbr.ld | 1 +
mbr/x86_64/mbr.ld | 1 +
2 files changed, 2 insertions(+)
diff --git a/mbr/i386/mbr.ld b/mbr/i386/mbr.ld
index d14ba802..53683461 100644
--- a/mbr/i386/mbr.ld
+++ b/mbr/i386/mbr.ld
@@ -70,4 +70,5 @@ SECTIONS
.debug_typenames 0 : { *(.debug_typenames) }
.debug_varnames 0 : { *(.debug_varnames) }
/DISCARD/ : { *(.note.GNU-stack) }
+ /DISCARD/ : { *(.note.gnu.property) }
}
diff --git a/mbr/x86_64/mbr.ld b/mbr/x86_64/mbr.ld
index ae27d49a..b8c0d895 100644
--- a/mbr/x86_64/mbr.ld
+++ b/mbr/x86_64/mbr.ld
@@ -69,4 +69,5 @@ SECTIONS
.debug_typenames 0 : { *(.debug_typenames) }
.debug_varnames 0 : { *(.debug_varnames) }
/DISCARD/ : { *(.note.GNU-stack) }
+ /DISCARD/ : { *(.note.gnu.property) }
}
--
2.21.0

View File

@ -44,6 +44,7 @@ config BR2_TARGET_SYSLINUX_MBR
config BR2_TARGET_SYSLINUX_EFI
bool "install efi"
depends on BR2_PACKAGE_GNU_EFI_ARCH_SUPPORTS
select BR2_PACKAGE_GNU_EFI
help
Install the 'efi' image, to boot from an EFI environment.

View File

@ -39,7 +39,7 @@ choice
Select the specific U-Boot version you want to use
config BR2_TARGET_UBOOT_LATEST_VERSION
bool "2018.07"
bool "2018.09"
config BR2_TARGET_UBOOT_CUSTOM_VERSION
bool "Custom version"
@ -87,7 +87,7 @@ endif
config BR2_TARGET_UBOOT_VERSION
string
default "2018.07" if BR2_TARGET_UBOOT_LATEST_VERSION
default "2018.09" if BR2_TARGET_UBOOT_LATEST_VERSION
default BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE \
if BR2_TARGET_UBOOT_CUSTOM_VERSION
default "custom" if BR2_TARGET_UBOOT_CUSTOM_TARBALL
@ -159,6 +159,14 @@ config BR2_TARGET_UBOOT_NEEDS_OPENSSL
typically the case when the board configuration has
CONFIG_FIT_SIGNATURE enabled.
config BR2_TARGET_UBOOT_NEEDS_LZOP
bool "U-Boot needs lzop"
help
Select this option if your U-Boot board configuration
requires lzop to be available on the host. This is typically
the case when the board configuration has CONFIG_SPL_LZO
enabled.
config BR2_TARGET_UBOOT_NEEDS_ATF_BL31
bool "U-Boot needs ATF BL31"
depends on BR2_TARGET_ARM_TRUSTED_FIRMWARE
@ -171,6 +179,19 @@ config BR2_TARGET_UBOOT_NEEDS_ATF_BL31
variable pointing to ATF's BL31 binary, is passed during the
Buildroot build.
choice
prompt "U-Boot ATF BL31 format"
default BR2_TARGET_UBOOT_NEEDS_ATF_BL31_BIN
depends on BR2_TARGET_UBOOT_NEEDS_ATF_BL31
config BR2_TARGET_UBOOT_NEEDS_ATF_BL31_BIN
bool "bl31.bin"
config BR2_TARGET_UBOOT_NEEDS_ATF_BL31_ELF
bool "bl31.elf"
endchoice
menu "U-Boot binary format"
config BR2_TARGET_UBOOT_FORMAT_AIS

View File

@ -1,2 +1,2 @@
# Locally computed:
sha256 9f10df88bc91b35642e461217f73256bbaeeca9ae2db8db56197ba5e89e1f6d4 u-boot-2018.07.tar.bz2
sha256 839bf23cfe8ce613a77e583a60375179d0ad324e92c82fbdd07bebf0fd142268 u-boot-2018.09.tar.bz2

View File

@ -137,8 +137,12 @@ UBOOT_MAKE_OPTS += \
ifeq ($(BR2_TARGET_UBOOT_NEEDS_ATF_BL31),y)
UBOOT_DEPENDENCIES += arm-trusted-firmware
ifeq ($(BR2_TARGET_UBOOT_NEEDS_ATF_BL31_ELF),y)
UBOOT_MAKE_OPTS += BL31=$(BINARIES_DIR)/bl31.elf
else
UBOOT_MAKE_OPTS += BL31=$(BINARIES_DIR)/bl31.bin
endif
endif
ifeq ($(BR2_TARGET_UBOOT_NEEDS_DTC),y)
UBOOT_DEPENDENCIES += host-dtc
@ -152,6 +156,10 @@ ifeq ($(BR2_TARGET_UBOOT_NEEDS_OPENSSL),y)
UBOOT_DEPENDENCIES += host-openssl
endif
ifeq ($(BR2_TARGET_UBOOT_NEEDS_LZOP),y)
UBOOT_DEPENDENCIES += host-lzop
endif
# prior to u-boot 2013.10 the license info was in COPYING. Copy it so
# legal-info finds it
define UBOOT_COPY_OLD_LICENSE_FILE
@ -223,8 +231,9 @@ UBOOT_KCONFIG_EDITORS = menuconfig xconfig gconfig nconfig
# (which is typically wchar) but link with
# $(HOST_DIR)/lib/libncurses.so (which is not). We don't actually
# need any host-package for kconfig, so remove the HOSTCC/HOSTLDFLAGS
# override again.
UBOOT_KCONFIG_OPTS = $(UBOOT_MAKE_OPTS) HOSTCC="$(HOSTCC)" HOSTLDFLAGS=""
# override again. In addition, host-ccache is not ready at kconfig
# time, so use HOSTCC_NOCCACHE.
UBOOT_KCONFIG_OPTS = $(UBOOT_MAKE_OPTS) HOSTCC="$(HOSTCC_NOCCACHE)" HOSTLDFLAGS=""
define UBOOT_HELP_CMDS
@echo ' uboot-menuconfig - Run U-Boot menuconfig'
@echo ' uboot-savedefconfig - Run U-Boot savedefconfig'
@ -282,7 +291,7 @@ define UBOOT_INSTALL_IMAGES_CMDS
)
$(UBOOT_GENERATE_ENV_IMAGE)
$(if $(BR2_TARGET_UBOOT_BOOT_SCRIPT),
$(HOST_DIR)/bin/mkimage -C none -A $(MKIMAGE_ARCH) -T script \
$(MKIMAGE) -C none -A $(MKIMAGE_ARCH) -T script \
-d $(call qstrip,$(BR2_TARGET_UBOOT_BOOT_SCRIPT_SOURCE)) \
$(BINARIES_DIR)/boot.scr)
endef

View File

@ -1,17 +0,0 @@
config BR2_TARGET_XLOADER
bool "X-loader"
depends on BR2_cortex_a8 || BR2_cortex_a9
help
The x-loader bootloader. It is mainly used on OMAP-based
platforms.
http://omappedia.org/wiki/Linux_OMAP_Kernel_Main
if BR2_TARGET_XLOADER
config BR2_TARGET_XLOADER_BOARDNAME
string "x-loader board name"
help
One of x-loader supported boards to be built.
This will be suffixed with _config to meet x-loader
standard naming.
endif

View File

@ -1,32 +0,0 @@
################################################################################
#
# x-loader
#
################################################################################
XLOADER_VERSION = 6f3a26101303051e0f91b6213735b68ce804e94e
XLOADER_SITE = git://gitorious.org/x-loader/x-loader.git
XLOADER_BOARD_NAME = $(call qstrip,$(BR2_TARGET_XLOADER_BOARDNAME))
XLOADER_LICENSE = GPL-2.0+
XLOADER_LICENSE_FILES = README
XLOADER_INSTALL_IMAGES = YES
define XLOADER_BUILD_CMDS
$(MAKE) CROSS_COMPILE="$(TARGET_CROSS)" -C $(@D) $(XLOADER_BOARD_NAME)_config
$(MAKE) CROSS_COMPILE="$(TARGET_CROSS)" -C $(@D) all
$(MAKE) CROSS_COMPILE="$(TARGET_CROSS)" -C $(@D) ift
endef
define XLOADER_INSTALL_IMAGES_CMDS
$(INSTALL) -D -m 0755 $(@D)/MLO $(BINARIES_DIR)/
endef
$(eval $(generic-package))
ifeq ($(BR2_TARGET_XLOADER)$(BR_BUILDING),yy)
ifeq ($(XLOADER_BOARD_NAME),)
$(error NO x-loader board name set. Check your BR2_BOOT_XLOADER_BOARDNAME setting)
endif
endif

View File

@ -0,0 +1,76 @@
BR2_arm=y
BR2_cortex_a7=y
BR2_ARM_FPU_NEON_VFPV4=y
BR2_CCACHE=y
BR2_CCACHE_DIR="$(TOPDIR)/.buildroot-ccache-odroidxu4"
BR2_OPTIMIZE_2=y
BR2_TOOLCHAIN_EXTERNAL=y
BR2_TARGET_OPTIMIZATION="-pipe"
BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_EUDEV=y
BR2_TARGET_TZ_INFO=y
BR2_ROOTFS_OVERLAY="board/common/overlay board/odroidxu4/overlay"
BR2_ROOTFS_POST_BUILD_SCRIPT="board/common/postscript.sh"
BR2_LINUX_KERNEL=y
BR2_LINUX_KERNEL_CUSTOM_TARBALL=y
BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="https://github.com/hardkernel/linux/archive/be592282a08a2493692448e365e46b52ac715b3f.tar.gz"
BR2_LINUX_KERNEL_DEFCONFIG="odroidxu4"
BR2_LINUX_KERNEL_DTS_SUPPORT=y
BR2_LINUX_KERNEL_INTREE_DTS_NAME="exynos5422-odroidxu4"
BR2_PACKAGE_BUSYBOX_CONFIG="board/common/busybox.config"
BR2_PACKAGE_BUSYBOX_SHOW_OTHERS=y
BR2_PACKAGE_ALSA_UTILS=y
BR2_PACKAGE_ALSA_UTILS_APLAY=y
BR2_PACKAGE_GZIP=y
BR2_PACKAGE_JQ=y
BR2_PACKAGE_E2FSPROGS=y
BR2_PACKAGE_NTFS_3G=y
BR2_PACKAGE_B43_FIRMWARE=y
BR2_PACKAGE_LINUX_FIRMWARE=y
BR2_PACKAGE_LINUX_FIRMWARE_ATHEROS_7010=y
BR2_PACKAGE_LINUX_FIRMWARE_ATHEROS_9170=y
BR2_PACKAGE_LINUX_FIRMWARE_ATHEROS_9271=y
BR2_PACKAGE_LINUX_FIRMWARE_BRCM_BCM43XX=y
BR2_PACKAGE_LINUX_FIRMWARE_BRCM_BCM43XXX=y
BR2_PACKAGE_LINUX_FIRMWARE_MWIFIEX_USB8797=y
BR2_PACKAGE_LINUX_FIRMWARE_MWIFIEX_USB8897=y
BR2_PACKAGE_LINUX_FIRMWARE_MEDIATEK_MT7601U=y
BR2_PACKAGE_LINUX_FIRMWARE_RALINK_RT61=y
BR2_PACKAGE_LINUX_FIRMWARE_RALINK_RT73=y
BR2_PACKAGE_LINUX_FIRMWARE_RALINK_RT2XX=y
BR2_PACKAGE_LINUX_FIRMWARE_RTL_81XX=y
BR2_PACKAGE_LINUX_FIRMWARE_RTL_87XX=y
BR2_PACKAGE_LINUX_FIRMWARE_RTL_88XX=y
BR2_PACKAGE_USB_MODESWITCH_DATA=y
BR2_PACKAGE_CA_CERTIFICATES=y
BR2_PACKAGE_LIBSSH2=y
BR2_PACKAGE_LIBFUSE=y
BR2_PACKAGE_LIBCURL=y
BR2_PACKAGE_CURL=y
BR2_PACKAGE_LIBCAP=y
BR2_PACKAGE_PCRE=y
BR2_PACKAGE_PCRE_UCP=y
BR2_PACKAGE_AUTOSSH=y
BR2_PACKAGE_CRDA=y
BR2_PACKAGE_DHCP=y
BR2_PACKAGE_DHCP_CLIENT=y
# BR2_PACKAGE_IFUPDOWN_SCRIPTS is not set
BR2_PACKAGE_IPTABLES=y
BR2_PACKAGE_IW=y
BR2_PACKAGE_NETCAT=y
BR2_PACKAGE_NET_TOOLS=y
BR2_PACKAGE_NTP=y
BR2_PACKAGE_NTP_NTPDATE=y
BR2_PACKAGE_OPENSSH=y
BR2_PACKAGE_PPPD=y
BR2_PACKAGE_WIRELESS_TOOLS=y
BR2_PACKAGE_WPA_SUPPLICANT=y
BR2_PACKAGE_WPA_SUPPLICANT_AUTOSCAN=y
BR2_PACKAGE_WPA_SUPPLICANT_EAP=y
BR2_PACKAGE_WPA_SUPPLICANT_WPS=y
BR2_PACKAGE_WPA_SUPPLICANT_CLI=y
BR2_PACKAGE_BASH=y
BR2_PACKAGE_LOGROTATE=y
BR2_PACKAGE_TAR=y
BR2_PACKAGE_UTIL_LINUX_BINARIES=y
BR2_PACKAGE_UTIL_LINUX_PARTX=y
BR2_PACKAGE_NANO=y

View File

@ -46,9 +46,11 @@ is as follows:
1. The type of option: +bool+, +string+... with the prompt
2. If needed, the +default+ value(s)
3. Any dependency of the +depends on+ form
4. Any dependency of the +select+ form
5. The help keyword and help text.
3. Any dependencies on the target in +depends on+ form
4. Any dependencies on the toolchain in +depends on+ form
5. Any dependencies on other packages in +depends on+ form
6. Any dependency of the +select+ form
7. The help keyword and help text.
You can add other sub-options into a +if BR2_PACKAGE_LIBFOO...endif+
statement to configure particular things in your software. You can look at
@ -444,6 +446,13 @@ contains the hashes of the downloaded files for the +libfoo+
package. The only reason for not adding a +.hash+ file is when hash
checking is not possible due to how the package is downloaded.
When a package has a version selection choice, then the hash file may be
stored in a subdirectory named after the version, e.g.
+package/libfoo/1.2.3/libfoo.hash+. This is especially important if the
different versions have different licensing terms, but they are stored
in the same file. Otherwise, the hash file should stay in the package's
directory.
The hashes stored in that file are used to validate the integrity of the
downloaded files and of the license files.

View File

@ -50,6 +50,16 @@ Finally, on line 16, we invoke the +luarocks-package+
macro that generates all the Makefile rules that actually allows the
package to be built.
Most of these details can be retrieved from the +rock+ and +rockspec+.
So, this file and the Config.in file can be generated by running the
command +luarocks buildroot foo lua-foo+ in the Buildroot
directory. This command runs a specific Buildroot addon of +luarocks+
that will automatically generate a Buildroot package. The result must
still be manually inspected and possibly modified.
* The +package/Config.in+ file has to be updated manually to include the
generated Config.in files.
[[luarocks-package-reference]]
==== +luarocks-package+ reference

View File

@ -85,6 +85,12 @@ A few additional variables, specific to the Meson infrastructure, can also be
defined. Many of them are only useful in very specific cases, typical packages
will therefore only use a few of them.
* +FOO_SUBDIR+ may contain the name of a subdirectory inside the
package that contains the main meson.build file. This is useful,
if for example, the main meson.build file is not at the root of
the tree extracted by the tarball. If +HOST_FOO_SUBDIR+ is not
specified, it defaults to +FOO_SUBDIR+.
* +FOO_CONF_ENV+, to specify additional environment variables to pass to
+meson+ for the configuration step. By default, empty.
@ -94,3 +100,6 @@ will therefore only use a few of them.
* +FOO_NINJA_ENV+, to specify additional environment variables to pass to
+ninja+, meson companion tool in charge of the build operations. By default,
empty.
* +FOO_NINJA_OPTS+, to specify a space-separated list of targets to build. By
default, empty, to build the default target(s).

View File

@ -23,8 +23,9 @@ with an example :
10: PERL_FOO_BAR_DEPENDENCIES = perl-strictures
11: PERL_FOO_BAR_LICENSE = Artistic or GPL-1.0+
12: PERL_FOO_BAR_LICENSE_FILES = LICENSE
13:
14: $(eval $(perl-package))
13: PERL_FOO_BAR_DISTNAME = Foo-Bar
14:
15: $(eval $(perl-package))
------------------------
On line 7, we declare the version of the package.
@ -40,7 +41,10 @@ On line 11 and 12, we give licensing details about the package (its
license on line 11, and the file containing the license text on line
12).
Finally, on line 14, we invoke the +perl-package+ macro that
On line 13, the name of the distribution as needed by the script
+utils/scancpan+ (in order to regenerate/upgrade these package files).
Finally, on line 15, we invoke the +perl-package+ macro that
generates all the Makefile rules that actually allow the package to be
built.

View File

@ -113,6 +113,12 @@ optionally be defined, depending on the package's needs. Many of them
are only useful in very specific cases, typical packages will
therefore only use a few of them, or none.
* +PYTHON_FOO_SUBDIR+ may contain the name of a subdirectory inside the
package that contains the main +setup.py+ file. This is useful,
if for example, the main +setup.py+ file is not at the root of
the tree extracted by the tarball. If +HOST_PYTHON_FOO_SUBDIR+ is not
specified, it defaults to +PYTHON_FOO_SUBDIR+.
* +PYTHON_FOO_ENV+, to specify additional environment variables to
pass to the Python +setup.py+ script (for both the build and install
steps). Note that the infrastructure is automatically passing

View File

@ -86,6 +86,12 @@ If the package bundles a _rebar_ utility, but can use the generic
* +ERLANG_FOOBAR_REBAR_ENV+, to specify additional environment
variables to pass to the _rebar_ utility.
* +ERLANG_FOOBAR_KEEP_DEPENDENCIES+, to keep the dependencies
described in the rebar.config file. Valid values are +YES+ or +NO+
(the default). Unless this variable is set to +YES+, the _rebar_
infrastructure removes such dependencies in a post-patch hook to
ensure rebar does not download nor compile them.
With the rebar infrastructure, all the steps required to build
and install the packages are already defined, and they generally work
well for most rebar-based packages. However, when required, it is

View File

@ -60,10 +60,16 @@ the generic infrastructure also exist in the Waf infrastructure:
An additional variable, specific to the Waf infrastructure, can
also be defined.
* +LIBFOO_SUBDIR+ may contain the name of a subdirectory inside the
package that contains the main wscript file. This is useful,
if for example, the main wscript file is not at the root of
the tree extracted by the tarball. If +HOST_LIBFOO_SUBDIR+ is not
specified, it defaults to +LIBFOO_SUBDIR+.
* +LIBFOO_NEEDS_EXTERNAL_WAF+ can be set to +YES+ or +NO+ to tell
Buildroot to use the bundled +waf+ executable. If set to +NO+, the
default, then Buildroot will use the waf executable provided in the
package source tree; if set to +YES+, then Buidlroot will download,
package source tree; if set to +YES+, then Buildroot will download,
install waf as a host tool and use it to build the package.
* +LIBFOO_WAF_OPTS+, to specify additional options to pass to the

View File

@ -194,14 +194,29 @@ bisect+ to locate the origin of a problem.
First of all, it is essential that the patch has a good commit
message. The commit message should start with a separate line with a
brief summary of the change, starting with the name of the affected
package. The body of the commit message should describe _why_ this
brief summary of the change, prefixed by the area touched by the
patch. A few examples of good commit titles:
* +package/linuxptp: bump version to 2.0+
* +configs/imx23evk: bump Linux version to 4.19+
* +package/pkg-generic: postpone evaluation of dependency conditions+
* +boot/uboot: needs host-{flex,bison}+
* +support/testing: add python-ubjson tests+
The description that follows the prefix should start with a lower case
letter (i.e "bump", "needs", "postpone", "add" in the above examples).
Second, the body of the commit message should describe _why_ this
change is needed, and if necessary also give details about _how_ it
was done. When writing the commit message, think of how the reviewers
will read it, but also think about how you will read it when you look
at this change again a few years down the line.
Second, the patch itself should do only one change, but do it
Third, the patch itself should do only one change, but do it
completely. Two unrelated or weakly related changes should usually be
done in two separate patches. This usually means that a patch affects
only a single package. If several changes are related, it is often
@ -308,6 +323,28 @@ Use the output of +get-developers+ to send your patches:
$ git send-email --to buildroot@buildroot.org --cc bob --cc alice outgoing/*
---------------------
Alternatively, +get-developers -e+ can be used directly with the
+--cc-cmd+ argument to +git send-email+ to automatically CC the
affected developers:
---------------------
$ git send-email --to buildroot@buildroot.org \
--cc-cmd './utils/get-developers -e' origin/master
---------------------
+git+ can be configured to automatically do this out of the box with:
---------------------
$ git config sendemail.to buildroot@buildroot.org
$ git config sendemail.ccCmd "$(pwd)/utils/get-developers -e"
---------------------
And then just do:
---------------------
$ git send-email origin/master
---------------------
Note that +git+ should be configured to use your mail account.
To configure +git+, see +man git-send-email+ or google it.

View File

@ -50,6 +50,7 @@ to you.
|
+-- Config.in (if using a br2-external tree)
+-- external.mk (if using a br2-external tree)
+-- external.desc (if using a br2-external tree)
------
Details on the files shown above are given further in this chapter.

View File

@ -22,6 +22,12 @@ A filesystem overlay is a tree of files that is copied directly
etc., files called +.empty+ and files ending in +~+ are excluded from
the copy.
+
When +BR2_ROOTFS_MERGED_USR+ is enabled, then the overlay must not
contain the '/bin', '/lib' or '/sbin' directories, as Buildroot will
create them as symbolic links to the relevant folders in '/usr'. In
such a situation, should the overlay have any programs or libraries,
they should be placed in '/usr/bin', '/usr/sbin' and '/usr/lib'.
+
As shown in xref:customize-dir-structure[], the recommended path for
this overlay is +board/<company>/<boardname>/rootfs-overlay+.
@ -100,6 +106,15 @@ To enable this feature, enable config option
+System configuration+ menu. If you specify a relative path, it will
be relative to the root of the Buildroot tree.
+
Custom skeletons don't need to contain the '/bin', '/lib' or '/sbin'
directories, since they are created automatically during the build.
When +BR2_ROOTFS_MERGED_USR+ is enabled, then the custom skeleton must
not contain the '/bin', '/lib' or '/sbin' directories, as Buildroot
will create them as symbolic links to the relevant folders in '/usr'.
In such a situation, should the skeleton have any programs or
libraries, they should be placed in '/usr/bin', '/usr/sbin' and
'/usr/lib'.
+
This method is not recommended because it duplicates the entire
skeleton, which prevents taking advantage of the fixes or improvements
brought to the default skeleton in later Buildroot releases.

View File

@ -6,7 +6,7 @@
The main Buildroot directory contains a file named +DEVELOPERS+ that
lists the developers involved with various areas of Buildroot. Thanks
to this file, the +get-developer+ tool allows to:
to this file, the +get-developers+ tool allows to:
- Calculate the list of developers to whom patches should be sent, by
parsing the patches and matching the modified files with the
@ -26,20 +26,21 @@ to include in his patch the appropriate modification to the
The +DEVELOPERS+ file format is documented in detail inside the file
itself.
The +get-developer+ tool, located in +utils/+ allows to use
The +get-developers+ tool, located in +utils/+ allows to use
the +DEVELOPERS+ file for various tasks:
- When passing one or several patches as command line argument,
+get-developer+ will return the appropriate +git send-email+
command.
+get-developers+ will return the appropriate +git send-email+
command. If the +-e+ option is passed, only the email addresses are
printed in a format suitable for +git send-email --cc-cmd+.
- When using the +-a <arch>+ command line option, +get-developer+ will
- When using the +-a <arch>+ command line option, +get-developers+ will
return the list of developers in charge of the given architecture.
- When using the +-p <package>+ command line option, +get-developer+
- When using the +-p <package>+ command line option, +get-developers+
will return the list of developers in charge of the given package.
- When using the +-c+ command line option, +get-developer+ will look
- When using the +-c+ command line option, +get-developers+ will look
at all files under version control in the Buildroot repository, and
list the ones that are not handled by any developer. The purpose of
this option is to help completing the +DEVELOPERS+ file.

View File

@ -12,7 +12,7 @@ It is licensed under the GNU General Public License, version 2. Refer to the
http://git.buildroot.org/buildroot/tree/COPYING?id={sys:git rev-parse HEAD}[COPYING]
file in the Buildroot sources for the full text of this license.
Copyright (C) 2004-2018 The Buildroot developers
Copyright (C) 2004-2019 The Buildroot developers
image::logo.png[]

View File

@ -59,14 +59,28 @@ Additionally, there are some other useful make targets:
|===================================================
| command/target | Description
| +show-depends+ | Displays the dependencies required to build the
| +show-depends+ | Displays the first-order dependencies required to build the
package
| +show-recursive-depends+ | Recursively displays the dependencies
required to build the package
| +show-rdepends+ | Displays the first-order reverse dependencies of
the package (i.e packages that directly depend on it)
| +show-recursive-rdepends+ | Recursively displays the reverse
dependencies of the package (i.e the packages that depend on it,
directly or indirectly)
| +graph-depends+ | Generate a dependency graph of the package, in the
context of the current Buildroot configuration. See
xref:graph-depends[this section] for more details about dependency
graphs.
| +graph-rdepends+ | Generate a graph of this package reverse
dependencies (i.e the packages that depend on it, directly or
indirectly)
| +dirclean+ | Remove the whole package build directory
| +reinstall+ | Re-run the install commands

View File

@ -32,7 +32,7 @@ between distributions).
** +perl+ (version 5.8.7 or any later)
** +tar+
** +cpio+
** +python+ (version 2.6 or any later)
** +python+ (version 2.7 or any later)
** +unzip+
** +rsync+
** +file+ (must be in +/usr/bin/file+)

View File

@ -12,15 +12,23 @@ The toolchain generated by Buildroot is located by default in
+output/host/bin/+ to your PATH environment variable and then to
use +ARCH-linux-gcc+, +ARCH-linux-objdump+, +ARCH-linux-ld+, etc.
It is possible to relocate the toolchain, this allows to distribute
the toolchain to other developers to build applications for your
target. To achieve this:
Alternatively, Buildroot can also export the toolchain and the development
files of all selected packages, as an SDK, by running the command
+make sdk+. This generates a tarball of the content of the host directory
+output/host/+, named +<TARGET-TUPLE>_sdk-buildroot.tar.gz+ (which can be
overriden by setting the environment variable +BR2_SDK_PREFIX+) and
located in the output directory +output/images/+.
* run +make sdk+, which prepares the toolchain to be relocatable;
* tarball the contents of the +output/host+ directory;
* distribute the resulting tarball.
This tarball can then be distributed to application developers, when
they want to develop their applications that are not (yet) packaged as
a Buildroot package.
Once the toolchain is installed to the new location, the user must run
the +relocate-sdk.sh+ script to make sure all paths are updated with
the new location.
Upon extracting the SDK tarball, the user must run the script
+relocate-sdk.sh+ (located at the top directory of the SDK), to make
sure all paths are updated with the new location.
Alternatively, if you just want to prepare the SDK without generating
the tarball (e.g. because you will just be moving the +host+ directory,
or will be generating the tarball on your own), Buildroot also allows
you to just prepare the SDK with +make prepare-sdk+ without actually
generating a tarball.

View File

@ -0,0 +1,122 @@
<!--#include file="header.html" -->
<div class="container">
<div class="row nh"><!-- current sponsor row -->
<div class="col-lg-10 col-lg-offset-1 col-md-12 col-sm-12 col-xs-12">
<div class="panel panel-primary">
<div class="panel-heading">Association</div>
<div class="panel-body">
<p>The Buildroot open-source project is supported by a
non-profit organization called the <strong>Buildroot
Association</strong>. The goal of this non-profit
organization is <strong>to engage actions to promote, help
develop and democratise the Buildroot project</strong>.</p>
<p>This non-profit organization is registered as a legal
entity in France, more precisely as an <em>association loi
1901</em>.</p>
<p>This organization can receive funding from members,
donors and sponsors. This funding is then used to pay for:</p>
<ul>
<li>the meeting rooms used during the Buildroot
Developers Meeting twice per year;</li>
<li>travel expenses for contributors
willing to attend the Buildroot Developers
Meeting, and not covered by their employer to do
so;</li>
<li>renting servers and services used to host the
Buildroot infrastructure.</li>
</ul>
<p>The bylaws of the association are available
in <a href="https://raw.githubusercontent.com/buildroot/buildroot-association/master/statuts_fr.txt">French</a>
(official) and
in <a href="https://github.com/buildroot/buildroot-association/blob/master/statutes_en.txt">English</a>
(unofficial translation). The association was declared on
March 14, 2016 to the <em>Préfecture de Haute-Garonne</em>
(France) and is registered under the n°W313024278. See this
official <a href="https://github.com/buildroot/buildroot-association/blob/master/pdf/Recepisse_CR.pdf">receipt</a>
from the French authorities.</p>
<p>Our accounting is fully public, including the bank
account summaries,
see <a href="https://github.com/buildroot/buildroot-association/tree/master/accounting">accounting</a>. Numerous
other administrative documents related to the association
are available on
its <a href="https://github.com/buildroot/buildroot-association/">Github
repository</a></p>
</div>
</div>
<div class="panel panel-primary">
<div class="panel-heading">Becoming a member</div>
<div class="panel-body">
<p>To become a member, an individual or a company simply has
to pay its yearly membership. For an individual, the minimum
membership fee per year is 10 EUR. For a company, the
minimum membership fee per year is 150 EUR. Individuals and
companies are free to give more than the minimum
required.</p>
<p>The membership is valid for the current civil year, i.e
any membership fee paid in 2019 is valid through December 31,
2019.</p>
<p>Once the membership fee is received, it will be listed in
the
association <a href="https://github.com/buildroot/buildroot-association/tree/master/accounting">accounting</a>
files, which serve as the official list of
members. Therefore, members accept that their name and the
amount of their membership fee is made public.</p>
<p>There are two possibilities to pay the membership
fee:</p>
<ul>
<li>A direct wire-transfer to the association bank
account. Since the bank account is located in France, this
is completely free of charge for any person or company
located in the European Union. The IBAN number of the
association bank account is <code>FR53 2004 1010 1615 0958
0P03 772</code>.</li>
<li>A Paypal payment to the association Paypal account,
whose address
is <code>buildroot-association@buildroot.org</code>.</li>
</ul>
</div>
</div>
<div class="panel panel-primary">
<div class="panel-heading">Sponsoring the project</div>
<div class="panel-body">
<p>Companies willing to help the Buildroot project can do so
by making a donation to the <em>Buildroot
Association</em>. In exchange for these donations, companies
will be listed on our <a href="/sponsors.html">Sponsors</a>
page and will be thanked in our release announcements.</p>
<p>As the <em>Buildroot Association</em> is a legal entity
registered in France, it is able to deliver a bill and/or
receipt.</p>
<p>Please
contact <a href="mailto:buildroot-association@buildroot.org">buildroot-association@buildroot.org</a>
if you are a company interested in making a donation.</p>
</div>
</div>
</div>
</div>
</div>
<!--#include file="footer.html" -->

View File

@ -18,7 +18,7 @@
autobuild failures</a></li>
<li>Reviewing and testing patches sent by other developers. See the
<a href="http://lists.buildroot.org/mailman/listinfo/buildroot">mailing list
</a> or <a href="http://patchwork.ozlabs.org/project/buildroot/list/">
</a> or <a href="https://patchwork.ozlabs.org/project/buildroot/list/">
patchwork</a>.</li>
<li>Working on items from the
<a href="http://www.elinux.org/Buildroot#Todo_list">TODO list</a></li>

View File

@ -1,6 +1,6 @@
The code and graphics on this website (and it's mirror sites, if any) are
Copyright (c) 1999-2005 by Erik Andersen, 2006-2018 The Buildroot
Copyright (c) 1999-2005 by Erik Andersen, 2006-2019 The Buildroot
developers. All rights reserved.
Documents on this Web site including their graphical elements, design, and

View File

@ -8,105 +8,105 @@
<div class="panel-heading">Download</div>
<div class="panel-body">
<h3 style="text-align: center;">Latest long term support release: <b>2018.02.5</b></h3>
<h3 style="text-align: center;">Latest stable / long term support release: <b>2019.02</b></h3>
<div class="row mt centered">
<div class="col-sm-6">
<div class="flip-container center-block" ontouchstart="this.classList.toggle('hover');">
<div class="flipper">
<div class="front">
<a href="/downloads/buildroot-2018.02.5.tar.gz"><img src="images/zip.png" width="180" alt=""></a>
<a href="/downloads/buildroot-2019.02.tar.gz"><img src="images/zip.png" width="180" alt=""></a>
</div>
<div class="back">
<a href="/downloads/buildroot-2018.02.5.tar.gz"><img src="images/zip.png" width="180" alt=""></a>
<a href="/downloads/buildroot-2019.02.tar.gz"><img src="images/zip.png" width="180" alt=""></a>
</div>
</div>
</div>
<h3><a href="/downloads/buildroot-2018.02.5.tar.gz">buildroot-2018.02.5.tar.gz</a></h3>
<p><a href="/downloads/buildroot-2018.02.5.tar.gz.sign">PGP signature</a></p>
<h3><a href="/downloads/buildroot-2019.02.tar.gz">buildroot-2019.02.tar.gz</a></h3>
<p><a href="/downloads/buildroot-2019.02.tar.gz.sign">PGP signature</a></p>
</div>
<div class="col-sm-6">
<div class="flip-container center-block" ontouchstart="this.classList.toggle('hover');">
<div class="flipper">
<div class="front">
<a href="/downloads/buildroot-2018.02.5.tar.bz2"><img src="images/package.png" width="180" alt=""></a>
<a href="/downloads/buildroot-2019.02.tar.bz2"><img src="images/package.png" width="180" alt=""></a>
</div>
<div class="back">
<a href="/downloads/buildroot-2018.02.5.tar.bz2"><img src="images/package.png" width="180" alt=""></a>
<a href="/downloads/buildroot-2019.02.tar.bz2"><img src="images/package.png" width="180" alt=""></a>
</div>
</div>
</div>
<h3><a href="/downloads/buildroot-2018.02.5.tar.bz2">buildroot-2018.02.5.tar.bz2</a></h3>
<p><a href="/downloads/buildroot-2018.02.5.tar.bz2.sign">PGP signature</a></p>
</div>
</div>
<h3 style="text-align: center;">Latest stable release: <b>2018.08</b></h3>
<div class="row mt centered">
<div class="col-sm-6">
<div class="flip-container center-block" ontouchstart="this.classList.toggle('hover');">
<div class="flipper">
<div class="front">
<a href="/downloads/buildroot-2018.08.tar.gz"><img src="images/zip.png" width="180" alt=""></a>
</div>
<div class="back">
<a href="/downloads/buildroot-2018.08.tar.gz"><img src="images/zip.png" width="180" alt=""></a>
</div>
</div>
</div>
<h3><a href="/downloads/buildroot-2018.08.tar.gz">buildroot-2018.08.tar.gz</a></h3>
<p><a href="/downloads/buildroot-2018.08.tar.gz.sign">PGP signature</a></p>
</div>
<div class="col-sm-6">
<div class="flip-container center-block" ontouchstart="this.classList.toggle('hover');">
<div class="flipper">
<div class="front">
<a href="/downloads/buildroot-2018.08.tar.bz2"><img src="images/package.png" width="180" alt=""></a>
</div>
<div class="back">
<a href="/downloads/buildroot-2018.08.tar.bz2"><img src="images/package.png" width="180" alt=""></a>
</div>
</div>
</div>
<h3><a href="/downloads/buildroot-2018.08.tar.bz2">buildroot-2018.08.tar.bz2</a></h3>
<p><a href="/downloads/buildroot-2018.08.tar.bz2.sign">PGP signature</a></p>
<h3><a href="/downloads/buildroot-2019.02.tar.bz2">buildroot-2019.02.tar.bz2</a></h3>
<p><a href="/downloads/buildroot-2019.02.tar.bz2.sign">PGP signature</a></p>
</div>
</div>
<!--
<h3 style="text-align: center;">Latest release candidate: <b>2018.08-rc3</b></h3>
<h3 style="text-align: center;">Latest stable release: <b>2018.11.3</b></h3>
<div class="row mt centered">
<div class="col-sm-6">
<div class="flip-container center-block" ontouchstart="this.classList.toggle('hover');">
<div class="flipper">
<div class="front">
<a href="/downloads/buildroot-2018.08-rc3.tar.gz"><img src="images/zip.png" width="180" alt=""></a>
<a href="/downloads/buildroot-2018.11.3.tar.gz"><img src="images/zip.png" width="180" alt=""></a>
</div>
<div class="back">
<a href="/downloads/buildroot-2018.08-rc3.tar.gz"><img src="images/zip.png" width="180" alt=""></a>
<a href="/downloads/buildroot-2018.11.3.tar.gz"><img src="images/zip.png" width="180" alt=""></a>
</div>
</div>
</div>
<h3><a href="/downloads/buildroot-2018.08-rc3.tar.gz">buildroot-2018.08-rc3.tar.gz</a></h3>
<p><a href="/downloads/buildroot-2018.08-rc3.tar.gz.sign">PGP signature</a></p>
<h3><a href="/downloads/buildroot-2018.11.3.tar.gz">buildroot-2018.11.3.tar.gz</a></h3>
<p><a href="/downloads/buildroot-2018.11.3.tar.gz.sign">PGP signature</a></p>
</div>
<div class="col-sm-6">
<div class="flip-container center-block" ontouchstart="this.classList.toggle('hover');">
<div class="flipper">
<div class="front">
<a href="/downloads/buildroot-2018.08-rc3.tar.bz2"><img src="images/package.png" width="180" alt=""></a>
<a href="/downloads/buildroot-2018.11.3.tar.bz2"><img src="images/package.png" width="180" alt=""></a>
</div>
<div class="back">
<a href="/downloads/buildroot-2018.08-rc3.tar.bz2"><img src="images/package.png" width="180" alt=""></a>
<a href="/downloads/buildroot-2018.11.3.tar.bz2"><img src="images/package.png" width="180" alt=""></a>
</div>
</div>
</div>
<h3><a href="/downloads/buildroot-2018.08-rc3.tar.bz2">buildroot-2018.08-rc3.tar.bz2</a></h3>
<p><a href="/downloads/buildroot-2018.08-rc3.tar.bz2.sign">PGP signature</a></p>
<h3><a href="/downloads/buildroot-2018.11.3.tar.bz2">buildroot-2018.11.3.tar.bz2</a></h3>
<p><a href="/downloads/buildroot-2018.11.3.tar.bz2.sign">PGP signature</a></p>
</div>
</div>
<h3 style="text-align: center;">Latest release candidate: <b>2019.02-rc3</b></h3>
<div class="row mt centered">
<div class="col-sm-6">
<div class="flip-container center-block" ontouchstart="this.classList.toggle('hover');">
<div class="flipper">
<div class="front">
<a href="/downloads/buildroot-2019.02-rc3.tar.gz"><img src="images/zip.png" width="180" alt=""></a>
</div>
<div class="back">
<a href="/downloads/buildroot-2019.02-rc3.tar.gz"><img src="images/zip.png" width="180" alt=""></a>
</div>
</div>
</div>
<h3><a href="/downloads/buildroot-2019.02-rc3.tar.gz">buildroot-2019.02-rc3.tar.gz</a></h3>
<p><a href="/downloads/buildroot-2019.02-rc3.tar.gz.sign">PGP signature</a></p>
</div>
<div class="col-sm-6">
<div class="flip-container center-block" ontouchstart="this.classList.toggle('hover');">
<div class="flipper">
<div class="front">
<a href="/downloads/buildroot-2019.02-rc3.tar.bz2"><img src="images/package.png" width="180" alt=""></a>
</div>
<div class="back">
<a href="/downloads/buildroot-2019.02-rc3.tar.bz2"><img src="images/package.png" width="180" alt=""></a>
</div>
</div>
</div>
<h3><a href="/downloads/buildroot-2019.02-rc3.tar.bz2">buildroot-2019.02-rc3.tar.bz2</a></h3>
<p><a href="/downloads/buildroot-2019.02-rc3.tar.bz2.sign">PGP signature</a></p>
</div>
</div>
-->

View File

@ -1,6 +1,7 @@
<script src="https://code.jquery.com/jquery-3.1.1.min.js"></script>
<script src="https://oss.maxcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
<script src="https://cdn.rawgit.com/zenorocha/clipboard.js/v1.7.1/dist/clipboard.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.1.1/jquery.min.js" integrity="sha256-hVVnYaiADRTO2PzUGmuLJr8BLUSjGIZsDYGmIJLv2b8=" crossorigin="anonymous"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.7/js/bootstrap.min.js" integrity="sha256-U5ZEeKfGNOja007MMD3YBI0A3OSZOQbeG6z2f2Y0hu8=" crossorigin="anonymous"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/1.7.1/clipboard.min.js" integrity="sha256-Daf8GuI2eLKHJlOWLRR/zRy9Clqcj4TUSumbxYH9kGI=" crossorigin="anonymous"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/x2js/1.2.0/xml2json.min.js" integrity="sha256-RbFvov4fXA9DW/RzOAcIC0ZHIDmghGdsoug5slJHMMI=" crossorigin="anonymous"></script>
<script type="text/javascript" src="js/buildroot.js"></script>
</body>
</html>

View File

@ -10,12 +10,12 @@
<title>Buildroot - Making Embedded Linux Easy</title>
<link href="https://oss.maxcdn.com/bootswatch/3.3.7/paper/bootstrap.min.css" rel="stylesheet">
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/bootswatch/3.3.7/paper/bootstrap.min.css" integrity="sha256-LxKiHTQko0DUCUSgrIK23SYMymvfuj8uxXmblBvVWm0=" crossorigin="anonymous">
<link href="css/main.css" rel="stylesheet">
<!--[if lt IE 9]>
<script src="https://oss.maxcdn.com/libs/html5shiv/3.7.0/html5shiv.js"></script>
<script src="https://oss.maxcdn.com/libs/respond.js/1.3.0/respond.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/html5shiv/3.7.0/html5shiv.js" integrity="sha256-jHqcBHBWM2erADB7T7m7MFLQon8LlOY7ncC7jDaUScs=" crossorigin="anonymous"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/respond.js/1.3.0/respond.min.js" integrity="sha256-g2lnLPqUkGXj7GDW+Zy47+O2ph+Ur1cmtdklVqkj+kg=" crossorigin="anonymous"></script>
<![endif]-->
</head>
@ -43,6 +43,8 @@
<span class="glyphicon glyphicon-share"></span> Contribute</a></li>
<li><a href="/sponsors.html">
<span class="glyphicon glyphicon-usd"></span> Sponsors</a></li>
<li><a href="/association.html">
<span class="glyphicon glyphicon-resize-small"></span> Association</a></li>
<li><a id="menubutton" class="btn btn-success btn-shrink" href="/download.html">
<span class="glyphicon glyphicon-cloud-download"></span>
<span class="text-shrink" >Download</span></a></li>

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 33 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 25 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 59 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.3 KiB

View File

@ -1,52 +1,51 @@
function load_activity(feedurl, divid) {
var yqlURL = "https://query.yahooapis.com/v1/public/yql";
var yqlQS = "?q=select%20entry%20from%20xml%20where%20url%20%3D%20'";
var yqlOPTS = "'%20limit%2010&format=json&callback=";
var container = document.getElementById(divid);
var url = yqlURL + yqlQS + encodeURIComponent(feedurl) + yqlOPTS;
$.getJSON(url, function(data){
var result = data.query.results;
var loaded = 0;
var nb_display = 8;
let container = document.getElementById(divid);
$.ajax({
url: "https://cors.io/?" + feedurl
})
.done(function(data){
let x2js = new X2JS();
let result = x2js.xml_str2json(data);
let loaded = 0;
let nb_display = 8;
if (result==null) return;
for (var i = 0; i < result.feed.length; i++) {
var entry = result.feed[i].entry;
if (entry.title.indexOf("git commit") != -1)
for (let i = 0; i < result.feed.entry.length; i++) {
let entry = result.feed.entry[i];
if (entry.title.indexOf("git commit") !== -1)
continue;
loaded += 1;
if (loaded > nb_display)
break;
var div = document.createElement("p");
var link = document.createElement("a");
var d = new Date(entry.published);
var data = '[' + d.toLocaleDateString() + '] ' + entry.title
var text = document.createTextNode(data);
let div = document.createElement("p");
let link = document.createElement("a");
let d = new Date(entry.published);
let data = '[' + d.toLocaleDateString() + '] ' + entry.title;
let text = document.createTextNode(data);
link.appendChild(text);
link.title = entry.title;
link.href = entry.link.href;
link.href = entry.link._href;
div.appendChild(link);
container.appendChild(div);
}
var empty = nb_display - loaded;
for (var i = 0; i < empty; i++) {
let empty = nb_display - loaded;
for (let i = 0; i < empty; i++) {
container.appendChild(document.createElement("p"));
}
});
}
function google_analytics() {
var _gaq = _gaq || [];
let _gaq = _gaq || [];
_gaq.push(['_setAccount', 'UA-21761074-1']);
_gaq.push(['_setDomainName', 'none']);
_gaq.push(['_setAllowLinker', true]);
_gaq.push(['_trackPageview']);
var ga = document.createElement('script');
let ga = document.createElement('script');
ga.type = 'text/javascript';
ga.async = true;
ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
var s = document.getElementsByTagName('script')[0];
ga.src = ('https:' === document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
let s = document.getElementsByTagName('script')[0];
s.parentNode.insertBefore(ga, s);
}
@ -55,11 +54,11 @@ function showTooltip(elem, msg) {
elem.setAttribute('aria-label', msg);
}
var clipboard = new Clipboard('.btn');
let clipboard = new Clipboard('.btn');
$(function () {
$('[data-toggle="tooltip"]').tooltip()
})
});
clipboard.on('success', function(e) {
e.clearSelection();
@ -68,8 +67,8 @@ clipboard.on('success', function(e) {
$(function() {
$('a[href*=\\#]:not([href=\\#])').click(function() {
if (location.pathname.replace(/^\//,'') == this.pathname.replace(/^\//,'') && location.hostname == this.hostname) {
var target = $(this.hash);
if (location.pathname.replace(/^\//,'') === this.pathname.replace(/^\//,'') && location.hostname === this.hostname) {
let target = $(this.hash);
target = target.length ? target : $('[name=' + this.hash.slice(1) +']');
if (target.length) {
$('html,body').animate({
@ -82,9 +81,9 @@ $(function() {
});
jQuery(document).ready(function($) {
var url = window.location.href;
let url = window.location.href;
// Get the basename of the URL
url = url.split(/[\\/]/).pop()
url = url.split(/[\\/]/).pop();
$('.nav a[href="/' + url + '"]').parent().addClass('active');
load_activity("http://buildroot-busybox.2317881.n4.nabble.com/Buildroot-busybox-ft2.xml", "mailing-list-activity");

View File

@ -9,6 +9,450 @@
<h2>News</h2>
<ul class="timeline">
<li>
<div class="timeline-badge"><i class="glyphicon glyphicon-thumbs-up"></i></div>
<div class="timeline-panel">
<div class="timeline-heading">
<h4 class="timeline-title">2019.02 released</h4>
<p><small class="text-muted"><i class="glyphicon glyphicon-time"></i>4 March 2019</small></p>
</div>
<div class="timeline-body">
<p>The stable 2019.02 release is out - Thanks to everyone
contributing and testing the release candidates. See the
<a href="http://git.buildroot.net/buildroot/plain/CHANGES?id=2019.02">CHANGES</a>
file for more details
and go to the <a href="/downloads/">downloads page</a> to pick up the
<a href="/downloads/buildroot-2019.02.tar.bz2">2019.02 release</a>.</p>
<p>Notice that this is a long term support release which will be
supported with security and other important fixes until March 2020.</p>
</div>
</div>
</li>
<li class="timeline-inverted">
<div class="timeline-badge"><i class="glyphicon glyphicon-thumbs-up"></i></div>
<div class="timeline-panel">
<div class="timeline-heading">
<h4 class="timeline-title">2019.02-rc3 released</h4>
<p><small class="text-muted"><i class="glyphicon glyphicon-time"></i>1 March 2019</small></p>
</div>
<div class="timeline-body">
<p>Another week, another release candidate with more cleanups
and build fixes. See the
<a href="http://git.buildroot.net/buildroot/plain/CHANGES?id=2019.02-rc3">CHANGES</a>
file for details.</p>
<p>Head to the <a href="/downloads/">downloads page</a> to pick up the
<a href="/downloads/buildroot-2019.02-rc3.tar.bz2">2019.02-rc3
release candidate</a>, and report any problems found to the
<a href="support.html">mailing list</a> or
<a href="https://bugs.buildroot.org">bug tracker</a>.</p>
</div>
</div>
</li>
<li>
<div class="timeline-badge"><i class="glyphicon glyphicon-thumbs-up"></i></div>
<div class="timeline-panel">
<div class="timeline-heading">
<h4 class="timeline-title">2018.11.3 released</h4>
<p><small class="text-muted"><i class="glyphicon glyphicon-time"></i>23 February 2019</small></p>
</div>
<div class="timeline-body">
<p>The 2018.11.3 bugfix release is out, fixing a number of important /
security related issues discovered since the 2018.11.2 release. See the
<a href="http://git.buildroot.net/buildroot/plain/CHANGES?id=2018.11.3">CHANGES</a>
file for more details, read the
<a href="http://lists.busybox.net/pipermail/buildroot/2019-February/243960.html">announcement</a>
and go to the <a href="/downloads/">downloads page</a> to pick up the
<a href="/downloads/buildroot-2018.11.3.tar.bz2">2018.11.3 release</a>.</p>
</div>
</div>
</li>
<li class="timeline-inverted">
<div class="timeline-badge"><i class="glyphicon glyphicon-thumbs-up"></i></div>
<div class="timeline-panel">
<div class="timeline-heading">
<h4 class="timeline-title">2018.02.11 released</h4>
<p><small class="text-muted"><i class="glyphicon glyphicon-time"></i>23 February 2019</small></p>
</div>
<div class="timeline-body">
<p>The 2018.02.11 bugfix release is out, fixing a number of important /
security related issues discovered since the 2018.02.10 release. See the
<a href="http://git.buildroot.net/buildroot/plain/CHANGES?id=2018.02.11">CHANGES</a>
file for more details, read the
<a href="http://lists.busybox.net/pipermail/buildroot/2019-February/243944.html">announcement</a>
and go to the <a href="/downloads/">downloads page</a> to pick up the
<a href="/downloads/buildroot-2018.02.11.tar.bz2">2018.02.11 release</a>.</p>
</div>
</div>
</li>
<li>
<div class="timeline-badge"><i class="glyphicon glyphicon-thumbs-up"></i></div>
<div class="timeline-panel">
<div class="timeline-heading">
<h4 class="timeline-title">2019.02-rc2 released</h4>
<p><small class="text-muted"><i class="glyphicon glyphicon-time"></i>23 February 2019</small></p>
</div>
<div class="timeline-body">
<p>Another week, another release candidate with more cleanups
and build fixes. See the
<a href="http://git.buildroot.net/buildroot/plain/CHANGES?id=2019.02-rc2">CHANGES</a>
file for details.</p>
<p>Head to the <a href="/downloads/">downloads page</a> to pick up the
<a href="/downloads/buildroot-2019.02-rc2.tar.bz2">2019.02-rc2
release candidate</a>, and report any problems found to the
<a href="support.html">mailing list</a> or
<a href="https://bugs.buildroot.org">bug tracker</a>.</p>
</div>
</div>
</li>
<li class="timeline-inverted">
<div class="timeline-badge"><i class="glyphicon glyphicon-thumbs-up"></i></div>
<div class="timeline-panel">
<div class="timeline-heading">
<h4 class="timeline-title">2019.02-rc1 released</h4>
<p><small class="text-muted"><i class="glyphicon glyphicon-time"></i>13 February 2019</small></p>
</div>
<div class="timeline-body">
<p>We have a new release candidate! Lots of changes all over the
tree, see the
<a href="http://git.buildroot.net/buildroot/plain/CHANGES?id=2019.02-rc1">CHANGES</a>
file for details and read the
<a href="http://lists.busybox.net/pipermail/buildroot/2019-February/243205.html">announcement</a>.
</p>
<p>Head to the <a href="/downloads/">downloads page</a> to pick up the
<a href="/downloads/buildroot-2019.02-rc1.tar.bz2">2019.02-rc1
release candidate</a>, and report any problems found to the
<a href="support.html">mailing list</a> or
<a href="https://bugs.buildroot.org">bug tracker</a>.</p>
</div>
</div>
</li>
<li>
<div class="timeline-badge"><i class="glyphicon glyphicon-thumbs-up"></i></div>
<div class="timeline-panel">
<div class="timeline-heading">
<h4 class="timeline-title">2018.02.10 released</h4>
<p><small class="text-muted"><i class="glyphicon glyphicon-time"></i>31 January 2019</small></p>
</div>
<div class="timeline-body">
<p>The 2018.02.10 bugfix release is out, fixing a number of important /
security related issues discovered since the 2018.02.9 release. See the
<a href="http://git.buildroot.net/buildroot/plain/CHANGES?id=2018.02.10">CHANGES</a>
file for more details, read the
<a href="http://lists.busybox.net/pipermail/buildroot/2019-January/242027.html">announcement</a>
and go to the <a href="/downloads/">downloads page</a> to pick up the
<a href="/downloads/buildroot-2018.02.10.tar.bz2">2018.02.10 release</a>.</p>
</div>
</div>
</li>
<li class="timeline-inverted">
<div class="timeline-badge"><i class="glyphicon glyphicon-thumbs-up"></i></div>
<div class="timeline-panel">
<div class="timeline-heading">
<h4 class="timeline-title">2018.11.2 released</h4>
<p><small class="text-muted"><i class="glyphicon glyphicon-time"></i>30 January 2019</small></p>
</div>
<div class="timeline-body">
<p>The 2018.11.2 bugfix release is out, fixing a number of important /
security related issues discovered since the 2018.11.1 release. See the
<a href="http://git.buildroot.net/buildroot/plain/CHANGES?id=2018.11.2">CHANGES</a>
file for more details, read the
<a href="http://lists.busybox.net/pipermail/buildroot/2019-January/241981.html">announcement</a>
and go to the <a href="/downloads/">downloads page</a> to pick up the
<a href="/downloads/buildroot-2018.11.2.tar.bz2">2018.11.2 release</a>.</p>
</div>
</div>
</li>
<li>
<div class="timeline-badge"><i class="glyphicon glyphicon-thumbs-up"></i></div>
<div class="timeline-panel">
<div class="timeline-heading">
<h4 class="timeline-title">2018.02.9 released</h4>
<p><small class="text-muted"><i class="glyphicon glyphicon-time"></i>20 December 2018</small></p>
</div>
<div class="timeline-body">
<p>The 2018.02.9 bugfix release is out, fixing a number of important /
security related issues discovered since the 2018.02.8 release. See the
<a href="http://git.buildroot.net/buildroot/plain/CHANGES?id=2018.02.9">CHANGES</a>
file for more details, read the
<a href="http://lists.busybox.net/pipermail/buildroot/2018-December/239206.html">announcement</a>
and go to the <a href="/downloads/">downloads page</a> to pick up the
<a href="/downloads/buildroot-2018.02.9.tar.bz2">2018.02.9 release</a>.</p>
</div>
</div>
</li>
<li class="timeline-inverted">
<div class="timeline-badge"><i class="glyphicon glyphicon-thumbs-up"></i></div>
<div class="timeline-panel">
<div class="timeline-heading">
<h4 class="timeline-title">2018.08.4 released, 2018.08 series EOL</h4>
<p><small class="text-muted"><i class="glyphicon glyphicon-time"></i>20 December 2018</small></p>
</div>
<div class="timeline-body">
<p>The 2018.08.4 bugfix release is out, fixing a number of important /
security related issues discovered since the 2018.08.3 release. See the
<a href="http://git.buildroot.net/buildroot/plain/CHANGES?id=2018.08.4">CHANGES</a>
file for more details, read the
<a href="http://lists.busybox.net/pipermail/buildroot/2018-December/239200.html">announcement</a>
and go to the <a href="/downloads/">downloads page</a> to pick up the
<a href="/downloads/buildroot-2018.08.4.tar.bz2">2018.08.4 release</a>.</p>
<p>Notice that the 2018.08 series is now end of life, please
consider migrating to 2018.11 instead.</p>
</div>
</div>
</li>
<li>
<div class="timeline-badge"><i class="glyphicon glyphicon-thumbs-up"></i></div>
<div class="timeline-panel">
<div class="timeline-heading">
<h4 class="timeline-title">2018.11.1 released</h4>
<p><small class="text-muted"><i class="glyphicon glyphicon-time"></i>19 December 2018</small></p>
</div>
<div class="timeline-body">
<p>The 2018.11.1 bugfix release is out, fixing a number of important /
security related issues discovered since the 2018.11 release. See the
<a href="http://git.buildroot.net/buildroot/plain/CHANGES?id=2018.11.1">CHANGES</a>
file for more details, read the
<a href="http://lists.busybox.net/pipermail/buildroot/2018-December/239184.html">announcement</a>
and go to the <a href="/downloads/">downloads page</a> to pick up the
<a href="/downloads/buildroot-2018.11.1.tar.bz2">2018.11.1 release</a>.</p>
</div>
</div>
</li>
<li class="timeline-inverted">
<div class="timeline-badge"><i class="glyphicon glyphicon-thumbs-up"></i></div>
<div class="timeline-panel">
<div class="timeline-heading">
<h4 class="timeline-title">2018.11 released</h4>
<p><small class="text-muted"><i class="glyphicon glyphicon-time"></i>1 December 2018</small></p>
</div>
<div class="timeline-body">
<p>The stable 2018.11 release is out - Thanks to everyone
contributing and testing the release candidates. See the
<a href="http://git.buildroot.net/buildroot/plain/CHANGES?id=2018.11">CHANGES</a>
file for more details, read the
<a href="http://lists.busybox.net/pipermail/buildroot/2018-December/237402.html">announcement</a>
and go to the <a href="/downloads/">downloads page</a> to pick up the
<a href="/downloads/buildroot-2018.11.tar.bz2">2018.11 release</a>.</p>
</div>
</div>
</li>
<li>
<div class="timeline-badge"><i class="glyphicon glyphicon-thumbs-up"></i></div>
<div class="timeline-panel">
<div class="timeline-heading">
<h4 class="timeline-title">2018.11-rc3 released</h4>
<p><small class="text-muted"><i class="glyphicon glyphicon-time"></i>30 November 2018</small></p>
</div>
<div class="timeline-body">
<p>Another week, another release candidate with more cleanups
and build fixes. See the
<a href="http://git.buildroot.net/buildroot/plain/CHANGES?id=2018.11-rc3">CHANGES</a>
file for details.</p>
<p>Head to the <a href="/downloads/">downloads page</a> to pick up the
<a href="/downloads/buildroot-2018.11-rc3.tar.bz2">2018.11-rc3
release candidate</a>, and report any problems found to the
<a href="support.html">mailing list</a> or
<a href="https://bugs.buildroot.org">bug tracker</a>.</p>
</div>
</div>
</li>
<li class="timeline-inverted">
<div class="timeline-badge"><i class="glyphicon glyphicon-thumbs-up"></i></div>
<div class="timeline-panel">
<div class="timeline-heading">
<h4 class="timeline-title">2018.02.8 released</h4>
<p><small class="text-muted"><i class="glyphicon glyphicon-time"></i>26 November 2018</small></p>
</div>
<div class="timeline-body">
<p>The 2018.02.8 bugfix release is out, fixing a number of important /
security related issues discovered since the 2018.02.7 release. See the
<a href="http://git.buildroot.net/buildroot/plain/CHANGES?id=2018.02.8">CHANGES</a>
file for more details, read the
<a href="http://lists.busybox.net/pipermail/buildroot/2018-November/237072.html">announcement</a>
and go to the <a href="/downloads/">downloads page</a> to pick up the
<a href="/downloads/buildroot-2018.02.8.tar.bz2">2018.02.8 release</a>.</p>
</div>
</div>
</li>
<li>
<div class="timeline-badge"><i class="glyphicon glyphicon-thumbs-up"></i></div>
<div class="timeline-panel">
<div class="timeline-heading">
<h4 class="timeline-title">2018.08.3 released</h4>
<p><small class="text-muted"><i class="glyphicon glyphicon-time"></i>26 November 2018</small></p>
</div>
<div class="timeline-body">
<p>The 2018.08.3 bugfix release is out, fixing a number of important /
security related issues discovered since the 2018.08.2 release. See the
<a href="http://git.buildroot.net/buildroot/plain/CHANGES?id=2018.08.3">CHANGES</a>
file for more details, read the
<a href="http://lists.busybox.net/pipermail/buildroot/2018-November/237068.html">announcement</a>
and go to the <a href="/downloads/">downloads page</a> to pick up the
<a href="/downloads/buildroot-2018.08.3.tar.bz2">2018.08.3 release</a>.</p>
</div>
</div>
</li>
<li class="timeline-inverted">
<div class="timeline-badge"><i class="glyphicon glyphicon-thumbs-up"></i></div>
<div class="timeline-panel">
<div class="timeline-heading">
<h4 class="timeline-title">2018.11-rc2 released</h4>
<p><small class="text-muted"><i class="glyphicon glyphicon-time"></i>21 November 2018</small></p>
</div>
<div class="timeline-body">
<p>Another week, another release candidate with more cleanups
and build fixes. See the
<a href="http://git.buildroot.net/buildroot/plain/CHANGES?id=2018.11-rc2">CHANGES</a>
file for details.</p>
<p>Head to the <a href="/downloads/">downloads page</a> to pick up the
<a href="/downloads/buildroot-2018.11-rc2.tar.bz2">2018.11-rc2
release candidate</a>, and report any problems found to the
<a href="support.html">mailing list</a> or
<a href="https://bugs.buildroot.org">bug tracker</a>.</p>
</div>
</div>
</li>
<li>
<div class="timeline-badge"><i class="glyphicon glyphicon-thumbs-up"></i></div>
<div class="timeline-panel">
<div class="timeline-heading">
<h4 class="timeline-title">2018.11-rc1 released</h4>
<p><small class="text-muted"><i class="glyphicon glyphicon-time"></i>9 November 2018</small></p>
</div>
<div class="timeline-body">
<p>We have a new release candidate! Lots of changes all over the
tree, see the
<a href="http://git.buildroot.net/buildroot/plain/CHANGES?id=2018.11-rc1">CHANGES</a>
file for details and/or read
the <a href="http://lists.busybox.net/pipermail/buildroot/2018-November/235405.html">announcement</a>.
</p>
<p>Head to the <a href="/downloads/">downloads page</a> to pick up the
<a href="/downloads/buildroot-2018.11-rc1.tar.bz2">2018.11-rc1
release candidate</a>, and report any problems found to the
<a href="support.html">mailing list</a> or
<a href="https://bugs.buildroot.org">bug tracker</a>.</p>
</div>
</div>
</li>
<li class="timeline-inverted">
<div class="timeline-badge"><i class="glyphicon glyphicon-thumbs-up"></i></div>
<div class="timeline-panel">
<div class="timeline-heading">
<h4 class="timeline-title">2018.02.7 released</h4>
<p><small class="text-muted"><i class="glyphicon glyphicon-time"></i>25 October 2018</small></p>
</div>
<div class="timeline-body">
<p>The 2018.02.7 bugfix release is out, fixing a number of important /
security related issues discovered since the 2018.02.6 release. See the
<a href="http://git.buildroot.net/buildroot/plain/CHANGES?id=2018.02.7">CHANGES</a>
file for more details, read the
<a href="http://lists.busybox.net/pipermail/buildroot/2018-October/234262.html">announcement</a>
and go to the <a href="/downloads/">downloads page</a> to pick up the
<a href="/downloads/buildroot-2018.02.7.tar.bz2">2018.02.7 release</a>.</p>
</div>
</div>
</li>
<li>
<div class="timeline-badge"><i class="glyphicon glyphicon-thumbs-up"></i></div>
<div class="timeline-panel">
<div class="timeline-heading">
<h4 class="timeline-title">2018.08.2 released</h4>
<p><small class="text-muted"><i class="glyphicon glyphicon-time"></i>25 October 2018</small></p>
</div>
<div class="timeline-body">
<p>The 2018.08.2 bugfix release is out, fixing a number of important /
security related issues discovered since the 2018.08.1 release. See the
<a href="http://git.buildroot.net/buildroot/plain/CHANGES?id=2018.08.2">CHANGES</a>
file for more details, read the
<a href="http://lists.busybox.net/pipermail/buildroot/2018-October/234252.html">announcement</a>
and go to the <a href="/downloads/">downloads page</a> to pick up the
<a href="/downloads/buildroot-2018.08.2.tar.bz2">2018.08.2 release</a>.</p>
</div>
</div>
</li>
<li class="timeline-inverted">
<div class="timeline-badge"><i class="glyphicon glyphicon-thumbs-up"></i></div>
<div class="timeline-panel">
<div class="timeline-heading">
<h4 class="timeline-title">2018.08.1 released</h4>
<p><small class="text-muted"><i class="glyphicon glyphicon-time"></i>7 October 2018</small></p>
</div>
<div class="timeline-body">
<p>The 2018.08.1 bugfix release is out, fixing a number of important /
security related issues discovered since the 2018.08 release. See the
<a href="http://git.buildroot.net/buildroot/plain/CHANGES?id=2018.08.1">CHANGES</a>
file for more details, read the
<a href="http://lists.busybox.net/pipermail/buildroot/2018-October/232433.html">announcement</a>
and go to the <a href="/downloads/">downloads page</a> to pick up the
<a href="/downloads/buildroot-2018.08.1.tar.bz2">2018.08.1 release</a>.</p>
</div>
</div>
</li>
<li>
<div class="timeline-badge"><i class="glyphicon glyphicon-thumbs-up"></i></div>
<div class="timeline-panel">
<div class="timeline-heading">
<h4 class="timeline-title">2018.02.6 released</h4>
<p><small class="text-muted"><i class="glyphicon glyphicon-time"></i>7 October 2018</small></p>
</div>
<div class="timeline-body">
<p>The 2018.02.6 bugfix release is out, fixing a number of important /
security related issues discovered since the 2018.02.5 release. See the
<a href="http://git.buildroot.net/buildroot/plain/CHANGES?id=2018.02.6">CHANGES</a>
file for more details, read the
<a href="http://lists.busybox.net/pipermail/buildroot/2018-October/232428.html">announcement</a>
and go to the <a href="/downloads/">downloads page</a> to pick up the
<a href="/downloads/buildroot-2018.02.6.tar.bz2">2018.02.6 release</a>.</p>
</div>
</div>
</li>
<li class="timeline-inverted">
<div class="timeline-badge"><i class="glyphicon glyphicon-thumbs-up"></i></div>
<div class="timeline-panel">
<div class="timeline-heading">
<h4 class="timeline-title">2018.05.3 released</h4>
<p><small class="text-muted"><i class="glyphicon glyphicon-time"></i>6 October 2018</small></p>
</div>
<div class="timeline-body">
<p>The 2018.05.3 bugfix release is out, fixing a number of important /
security related issues discovered since the 2018.05.2 release. See the
<a href="http://git.buildroot.net/buildroot/plain/CHANGES?id=2018.05.3">CHANGES</a>
file for more details, read the
<a href="http://lists.busybox.net/pipermail/buildroot/2018-October/232379.html">announcement</a>
and go to the <a href="/downloads/">downloads page</a> to pick up the
<a href="/downloads/buildroot-2018.05.3.tar.bz2">2018.05.3 release</a>.</p>
</div>
</div>
</li>
<li>
<div class="timeline-badge"><i class="glyphicon glyphicon-thumbs-up"></i></div>
<div class="timeline-panel">
@ -20,7 +464,8 @@
<p>The stable 2018.08 release is out - Thanks to everyone
contributing and testing the release candidates. See the
<a href="http://git.buildroot.net/buildroot/plain/CHANGES?id=2018.08">CHANGES</a>
file for more details
file for more details, read the
<a href="http://lists.busybox.net/pipermail/buildroot/2018-September/229982.html">announcement</a>
and go to the <a href="/downloads/">downloads page</a> to pick up the
<a href="/downloads/buildroot-2018.08.tar.bz2">2018.08 release</a>.</p>
</div>

View File

@ -5,46 +5,159 @@
<div class="col-lg-10 col-lg-offset-1 col-md-12 col-sm-12 col-xs-12">
<div class="panel panel-primary">
<div class="panel-heading">Current sponsors</div>
<div class="panel-heading">Sponsor of the Buildroot.org domain</div>
<div class="panel-body">
<div class="col-sm-6">
<p>The Buildroot community would like to thank
<a href="http://www.zillabit.com/">Zillabit</a> for
donating the <b>buildroot.org</b> domain name and sponsoring
the registration fees 2009 - 2019.</p>
</div>
<div class="col-sm-6">
<a href="http://www.zillabit.com">
<img class="img-responsive center-block" src="images/zillabit-logo.png"/>
</a>
</div>
</div>
</div>
<div class="panel panel-primary">
<div class="panel-heading">Sponsors of the Buildroot Developers Meeting @ ELCE 2018</div>
<div class="panel-body">
<p>The Buildroot community would like to thank the following
companies for sponsoring
the <a href="https://elinux.org/Buildroot:DeveloperDaysELCE2018">Buildroot
Developers Meeting</a> organized on October 20/21 before the
<a href="https://events.linuxfoundation.org/events/elc-openiot-europe-2018/">Embedded
Linux Conference Europe</a> in Edinburgh.</p>
<div class="row">
<div class="col-sm-12">
<div class="panel panel-default">
<div class="col-sm-4">
<div class="panel panel-default panel-sponsor">
<div class="panel-body">
<div class="col-sm-4">
<a href="http://www.google.com">
<img class="img-responsive center-block" src="images/google-logo.png"/>
<div class="col-sm-12">
<a href="http://www.mind.be">
<img class="img-responsive center-block" src="images/mind-logo.png"/>
</a>
</div>
<div class="col-sm-8">
<a href="http://www.google.com">Google</a> is
sponsoring
the <a href="http://elinux.org/Buildroot:DeveloperDaysFOSDEM2018">Buildroot
Developers Meeting at FOSDEM 2018</a> in Brussels, by
providing logistics for the meeting: a free meeting
room and lunch for the participants.
<div class="col-sm-12">
<a href="http://www.mind.be">Mind</a> sponsored the
event by contributing financially to the <em>Buildroot
Association</em>.
</div>
</div>
</div>
</div>
<div class="col-sm-12">
<div class="panel panel-default">
<div class="panel-body">
<div class="col-sm-4">
<a href="http://www.mind.be">
<img class="img-responsive center-block" src="images/mind-logo.png"/>
</a>
</div>
<div class="col-sm-8">
As it did in previous years, <a href="http://www.mind.be">Mind</a>
is sponsoring the Monday night dinner at the <a href="http://elinux.org/Buildroot:DeveloperDaysFOSDEM2018">Buildroot
Developers Meeting at FOSDEM 2018</a> in Brussels.
</div>
<div class="col-sm-4">
<div class="panel panel-default panel-sponsor">
<div class="panel-body">
<div class="col-sm-12">
<p><a href="https://www.amarulasolutions.com/">
<img class="img-responsive center-block" src="images/amarula-solutions-logo.png"/></a></p>
</div>
<div class="col-sm-12">
<a href="https://www.amarulasolutions.com/">Amarula
Solutions</a> sponsored the event by contributing
financially to the <em>Buildroot Association</em>.
</div>
</div>
</div>
</div>
<div class="col-sm-4">
<div class="panel panel-default panel-sponsor">
<div class="panel-body">
<div class="col-sm-12">
<p><a href="https://www.bootlin.com/">
<img class="img-responsive center-block" src="images/bootlin-logo.png"/></a></p>
</div>
<div class="col-sm-12">
<a href="https://www.bootlin.com/">Bootlin</a>
sponsored the event by contributing financially to
the <em>Buildroot Association</em>.
</div>
</div>
</div>
</div>
</div>
<div class="row">
<div class="col-sm-4">
<div class="panel panel-default panel-sponsor">
<div class="panel-body">
<div class="col-sm-12">
<a href="http://www.logilin.fr">
<img class="img-responsive center-block" src="images/logilin-logo.png"/>
</a>
</div>
<div class="col-sm-12">
<a href="http://www.logilin.fr">Logilin</a> sponsored the
event by contributing financially to the <em>Buildroot
Association</em>.
</div>
</div>
</div>
</div>
<div class="col-sm-4">
<div class="panel panel-default panel-sponsor">
<div class="panel-body">
<div class="col-sm-12">
<a href="http://www.tkos.col.il">
<img class="img-responsive center-block" src="images/tkos-logo.png"/>
</a>
</div>
<div class="col-sm-12">
<a href="http://www.tkos.co.il">Tk Open Systems</a>
sponsored the event by contributing financially to
the <em>Buildroot Association</em>.
</div>
</div>
</div>
</div>
<div class="col-sm-4">
<div class="panel panel-default panel-sponsor">
<div class="panel-body">
<div class="col-sm-12">
<a href="http://www.rockwellcollins.com/">
<img class="img-responsive center-block" src="images/rockwell-collins-logo.png"/>
</a>
</div>
<div class="col-sm-12">
<a href="http://www.rockwellcollins.com">Rockwell
Collins</a> sponsored the event by funding the social
Saturday dinner for the participants.
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="panel panel-primary">
<div class="panel-heading">Sponsor of the Buildroot Hackathon, March 2018</div>
<div class="panel-body">
<div class="col-sm-6">
<p>The Buildroot community would like to
thank <a href="https://www.scaleway.com/">Scaleway</a>, who
provided the complete logistics to organize our Buildroot
Hackathon in Paris in March 2018: meeting room, Internet
connectivity and accommodation.</p>
</div>
<div class="col-sm-6">
<a href="http://www.scaleway.com">
<img class="img-responsive center-block" src="images/scaleway-logo.png"/>
</a>
</div>
</div>
</div>
@ -59,14 +172,16 @@
<div class="panel panel-default panel-sponsor">
<div class="panel-body">
<div class="col-sm-12">
<a href="http://ingenierie.openwide.fr">
<img class="img-responsive center-block" src="images/owi-smile-logo.png"/>
<a href="https://www.smile.eu">
<img class="img-responsive center-block" src="images/smile-logo.png"/>
</a>
</div>
<div class="col-sm-12">
<a href="http://ingenierie.openwide.fr">OpenWide/Smile</a> sponsored
<a href="https://www.smile.eu">OpenWide/Smile</a> sponsored
the Buildroot Summer Camp that took place on July 1-5 2016 in Toulouse, France. OpenWide/Smile is
sponsoring the participation of Romain Naour and paid the food expenses for the meeting participants.
In 2018, Smile sponsored of LLVM/Clang integration into Buildroot, see the final
<a href="http://www.linuxembedded.fr/2018/07/llvmclang-integration-into-buildroot">report</a>.
</div>
</div>
</div>
@ -82,7 +197,7 @@
</div>
<div class="col-sm-12">
<a href="http://www.mind.be">Mind</a> sponsored the
dinner of the FOSDEM 2014, 2015, 2016 and 2017
dinner of the FOSDEM 2014, 2015, 2016, 2017 and 2018
Developers Meeting (Brussels) and ELCE 2016 (Berlin)
and 2017 (Prague), and the meeting room and the dinner for
the ELCE 2014 Developers Meeting (Düsseldorf).
@ -101,8 +216,8 @@
<div class="col-sm-12">
<p><a href="http://www.google.com">Google</a> provided
the logistics for the FOSDEM 2013, FOSDEM 2014,
FOSDEM 2015, FOSDEM 2016 and FOSDEM 2017 Developer Days
in Brussels, Belgium.</p>
FOSDEM 2015, FOSDEM 2016, FOSDEM 2017 and FOSDEM
2018 Developer Days in Brussels, Belgium.</p>
</div>
</div>
</div>

View File

@ -24,6 +24,12 @@
use the <a href="http://webchat.freenode.net">Freenode web interface</a>.
When asking for help on IRC, share relevant logs or pieces of code using a code
sharing website.</p>
<p>Note that due to excessive spamming on Freenode, the channel can only be
joined if you are a registered user with
<a href="https://freenode.net/kb/answer/registration">Freenode nickserv</a>
service. Follow the instructions to register as a user with a password,
and then join the <code>#buildroot</code> channel.</p>
</div>
</div>
</div>

View File

@ -1,10 +1,12 @@
menu "Filesystem images"
source "fs/axfs/Config.in"
source "fs/btrfs/Config.in"
source "fs/cloop/Config.in"
source "fs/cpio/Config.in"
source "fs/cramfs/Config.in"
source "fs/ext2/Config.in"
source "fs/f2fs/Config.in"
source "fs/initramfs/Config.in"
source "fs/iso9660/Config.in"
source "fs/jffs2/Config.in"

50
fs/btrfs/Config.in Normal file
View File

@ -0,0 +1,50 @@
config BR2_TARGET_ROOTFS_BTRFS
bool "btrfs root filesystem"
select BR2_PACKAGE_HOST_BTRFS_PROGS
help
Build a btrfs root filesystem. If you enable this option, you
probably want to enable the btrfs-progs package too.
if BR2_TARGET_ROOTFS_BTRFS
config BR2_TARGET_ROOTFS_BTRFS_LABEL
string "filesystem label"
config BR2_TARGET_ROOTFS_BTRFS_SIZE
string "filesystem size"
default "100m"
help
The size of the filesystem image in bytes.
Suffix with k, m, g or t for power-of-two kilo-, mega-, giga-
or terabytes.
config BR2_TARGET_ROOTFS_BTRFS_SIZE_SECTOR
string "sector size"
default "4096"
help
This value should be set to the page size in bytes. The
default value of 4096 is the the most common page size for
most systems. If the sectorsize differs from the page size,
the created filesystem may not be mountable by the kernel.
Therefore it is recommended to leave this value at
4096. Unless you know that your kernel uses a different page
size. Suffix with k for power-of-two kilobytes.
config BR2_TARGET_ROOTFS_BTRFS_SIZE_NODE
string "btree node size"
default "16384"
help
The tree block size in which btrfs stores metadata in bytes.
This must be a multiple of the sectorsize, but not larger
than 64KiB (65536).
Suffix with k for power-of-two kilobytes.
config BR2_TARGET_ROOTFS_BTRFS_FEATURES
string "Filesystem Features"
help
A comma separated string of features that can be enabled
during creation time.
For a list of available options, use:
`.../host/bin/mkfs.btrfs -O list-all`
endif # BR2_TARGET_ROOTFS_BTRFS

36
fs/btrfs/btrfs.mk Normal file
View File

@ -0,0 +1,36 @@
################################################################################
#
# Build the btrfs root filesystem image
#
################################################################################
BTRFS_SIZE = $(call qstrip,$(BR2_TARGET_ROOTFS_BTRFS_SIZE))
ifeq ($(BR2_TARGET_ROOTFS_BTRFS)-$(BTRFS_SIZE),y-)
$(error BR2_TARGET_ROOTFS_BTRFS_SIZE cannot be empty)
endif
BTRFS_SIZE_NODE = $(call qstrip,$(BR2_TARGET_ROOTFS_BTRFS_SIZE_NODE))
BTRFS_SIZE_SECTOR = $(call qstrip,$(BR2_TARGET_ROOTFS_BTRFS_SIZE_SECTOR))
BTRFS_FEATURES = $(call qstrip,$(BR2_TARGET_ROOTFS_BTRFS_FEATURES))
# qstrip results in stripping consecutive spaces into a single one. So the
# variable is not qstrip-ed to preserve the integrity of the string value.
BTRFS_LABEL := $(subst ",,$(BR2_TARGET_ROOTFS_BTRFS_LABEL))
# ")
BTRFS_OPTS = \
-f \
-r '$(TARGET_DIR)' \
-L '$(BTRFS_LABEL)' \
--byte-count '$(BTRFS_SIZE)' \
$(if $(BTRFS_SIZE_NODE),--nodesize '$(BTRFS_SIZE_NODE)') \
$(if $(BTRFS_SIZE_SECTOR),--sectorsize '$(BTRFS_SIZE_SECTOR)') \
$(if $(BTRFS_FEATURES),--features '$(BTRFS_FEATURES)')
ROOTFS_BTRFS_DEPENDENCIES = host-btrfs-progs
define ROOTFS_BTRFS_CMD
$(RM) -f $@
$(HOST_DIR)/bin/mkfs.btrfs $(BTRFS_OPTS) $@
endef
$(eval $(rootfs))

View File

@ -28,76 +28,43 @@
# macro will automatically generate a compressed filesystem image.
FS_DIR = $(BUILD_DIR)/buildroot-fs
FULL_DEVICE_TABLE = $(FS_DIR)/device_table.txt
ROOTFS_DEVICE_TABLES = $(call qstrip,$(BR2_ROOTFS_DEVICE_TABLE) \
$(BR2_ROOTFS_STATIC_DEVICE_TABLE))
USERS_TABLE = $(FS_DIR)/users_table.txt
ROOTFS_USERS_TABLES = $(call qstrip,$(BR2_ROOTFS_USERS_TABLES))
ROOTFS_FULL_DEVICES_TABLE = $(FS_DIR)/full_devices_table.txt
ROOTFS_FULL_USERS_TABLE = $(FS_DIR)/full_users_table.txt
ifeq ($(BR2_REPRODUCIBLE),y)
define ROOTFS_REPRODUCIBLE
find $(TARGET_DIR) -print0 | xargs -0 -r touch -hd @$(SOURCE_DATE_EPOCH)
endef
endif
ROOTFS_COMMON_TAR = $(FS_DIR)/rootfs.common.tar
# Command to create the common tarball from the base target directory.
define ROOTFS_COMMON_TAR_CMD
tar cf $(ROOTFS_COMMON_TAR) --numeric-owner \
--exclude=$(notdir $(TARGET_DIR_WARNING_FILE)) \
-C $(TARGET_DIR) .
endef
# Command to extract the common tarball into the per-rootfs target directory
define ROOTFS_COMMON_UNTAR_CMD
mkdir -p $(TARGET_DIR)
tar xf $(ROOTFS_COMMON_TAR) -C $(TARGET_DIR)
endef
.PHONY: rootfs-common
rootfs-common: $(ROOTFS_COMMON_TAR)
# Emulate being in a filesystem, so that we can have our own TARGET_DIR.
ROOTFS_COMMON_TARGET_DIR = $(FS_DIR)/target
ROOTFS_COMMON_DEPENDENCIES = \
host-fakeroot host-makedevs \
$(BR2_TAR_HOST_DEPENDENCY) \
$(if $(PACKAGES_USERS)$(ROOTFS_USERS_TABLES),host-mkpasswd)
$(ROOTFS_COMMON_TAR): ROOTFS=COMMON
$(ROOTFS_COMMON_TAR): FAKEROOT_SCRIPT=$(FS_DIR)/fakeroot.fs
$(ROOTFS_COMMON_TAR): $(ROOTFS_COMMON_DEPENDENCIES) target-finalize
@$(call MESSAGE,"Generating common rootfs tarball")
.PHONY: rootfs-common
rootfs-common: $(ROOTFS_COMMON_DEPENDENCIES) target-finalize
@$(call MESSAGE,"Generating root filesystems common tables")
rm -rf $(FS_DIR)
mkdir -p $(FS_DIR)
rsync -auH $(BASE_TARGET_DIR)/ $(TARGET_DIR)
echo '#!/bin/sh' > $(FAKEROOT_SCRIPT)
echo "set -e" >> $(FAKEROOT_SCRIPT)
echo "chown -h -R 0:0 $(TARGET_DIR)" >> $(FAKEROOT_SCRIPT)
$(call PRINTF,$(PACKAGES_USERS)) >> $(USERS_TABLE)
$(call PRINTF,$(PACKAGES_USERS)) >> $(ROOTFS_FULL_USERS_TABLE)
ifneq ($(ROOTFS_USERS_TABLES),)
cat $(ROOTFS_USERS_TABLES) >> $(USERS_TABLE)
cat $(ROOTFS_USERS_TABLES) >> $(ROOTFS_FULL_USERS_TABLE)
endif
PATH=$(BR_PATH) $(TOPDIR)/support/scripts/mkusers $(USERS_TABLE) $(TARGET_DIR) >> $(FAKEROOT_SCRIPT)
$(call PRINTF,$(PACKAGES_PERMISSIONS_TABLE)) > $(ROOTFS_FULL_DEVICES_TABLE)
ifneq ($(ROOTFS_DEVICE_TABLES),)
cat $(ROOTFS_DEVICE_TABLES) > $(FULL_DEVICE_TABLE)
cat $(ROOTFS_DEVICE_TABLES) >> $(ROOTFS_FULL_DEVICES_TABLE)
endif
ifeq ($(BR2_ROOTFS_DEVICE_CREATION_STATIC),y)
$(call PRINTF,$(PACKAGES_DEVICES_TABLE)) >> $(FULL_DEVICE_TABLE)
$(call PRINTF,$(PACKAGES_DEVICES_TABLE)) >> $(ROOTFS_FULL_DEVICES_TABLE)
endif
endif
$(call PRINTF,$(PACKAGES_PERMISSIONS_TABLE)) >> $(FULL_DEVICE_TABLE)
echo "$(HOST_DIR)/bin/makedevs -d $(FULL_DEVICE_TABLE) $(TARGET_DIR)" >> $(FAKEROOT_SCRIPT)
$(foreach s,$(call qstrip,$(BR2_ROOTFS_POST_FAKEROOT_SCRIPT)),\
echo "echo '$(TERM_BOLD)>>> Executing fakeroot script $(s)$(TERM_RESET)'" >> $(FAKEROOT_SCRIPT); \
echo $(EXTRA_ENV) $(s) $(TARGET_DIR) $(BR2_ROOTFS_POST_SCRIPT_ARGS) >> $(FAKEROOT_SCRIPT)$(sep))
$(foreach hook,$(ROOTFS_PRE_CMD_HOOKS),\
$(call PRINTF,$($(hook))) >> $(FAKEROOT_SCRIPT)$(sep))
$(call PRINTF,$(ROOTFS_COMMON_TAR_CMD)) >> $(FAKEROOT_SCRIPT)
chmod a+x $(FAKEROOT_SCRIPT)
PATH=$(BR_PATH) $(HOST_DIR)/bin/fakeroot -- $(FAKEROOT_SCRIPT)
$(Q)rm -rf $(TARGET_DIR)
rootfs-common-show-depends:
@echo $(ROOTFS_COMMON_DEPENDENCIES)
@ -106,6 +73,8 @@ rootfs-common-show-depends:
# all variable references except the arguments must be $$-quoted.
define inner-rootfs
ROOTFS_$(2)_IMAGE_NAME ?= rootfs.$(1)
ROOTFS_$(2)_FINAL_IMAGE_NAME = $$(strip $$(ROOTFS_$(2)_IMAGE_NAME))
ROOTFS_$(2)_DIR = $$(FS_DIR)/$(1)
ROOTFS_$(2)_TARGET_DIR = $$(ROOTFS_$(2)_DIR)/target
@ -140,21 +109,36 @@ ROOTFS_$(2)_COMPRESS_EXT = .xz
ROOTFS_$(2)_COMPRESS_CMD = xz -9 -C crc32 -c
endif
$$(BINARIES_DIR)/rootfs.$(1): ROOTFS=$(2)
$$(BINARIES_DIR)/rootfs.$(1): FAKEROOT_SCRIPT=$$(ROOTFS_$(2)_DIR)/fakeroot
$$(BINARIES_DIR)/rootfs.$(1): $$(ROOTFS_$(2)_DEPENDENCIES)
@$$(call MESSAGE,"Generating root filesystem image rootfs.$(1)")
$$(BINARIES_DIR)/$$(ROOTFS_$(2)_FINAL_IMAGE_NAME): ROOTFS=$(2)
$$(BINARIES_DIR)/$$(ROOTFS_$(2)_FINAL_IMAGE_NAME): FAKEROOT_SCRIPT=$$(ROOTFS_$(2)_DIR)/fakeroot
$$(BINARIES_DIR)/$$(ROOTFS_$(2)_FINAL_IMAGE_NAME): $$(ROOTFS_$(2)_DEPENDENCIES)
@$$(call MESSAGE,"Generating filesystem image $$(ROOTFS_$(2)_FINAL_IMAGE_NAME)")
mkdir -p $$(@D)
rm -rf $$(ROOTFS_$(2)_DIR)
mkdir -p $$(ROOTFS_$(2)_DIR)
rsync -auH \
--exclude=/$$(notdir $$(TARGET_DIR_WARNING_FILE)) \
$$(BASE_TARGET_DIR)/ \
$$(TARGET_DIR)
echo '#!/bin/sh' > $$(FAKEROOT_SCRIPT)
echo "set -e" >> $$(FAKEROOT_SCRIPT)
$$(call PRINTF,$$(ROOTFS_COMMON_UNTAR_CMD)) >> $$(FAKEROOT_SCRIPT)
echo "chown -h -R 0:0 $$(TARGET_DIR)" >> $$(FAKEROOT_SCRIPT)
PATH=$$(BR_PATH) $$(TOPDIR)/support/scripts/mkusers $$(ROOTFS_FULL_USERS_TABLE) $$(TARGET_DIR) >> $$(FAKEROOT_SCRIPT)
echo "$$(HOST_DIR)/bin/makedevs -d $$(ROOTFS_FULL_DEVICES_TABLE) $$(TARGET_DIR)" >> $$(FAKEROOT_SCRIPT)
$$(foreach s,$$(call qstrip,$$(BR2_ROOTFS_POST_FAKEROOT_SCRIPT)),\
echo "echo '$$(TERM_BOLD)>>> Executing fakeroot script $$(s)$$(TERM_RESET)'" >> $$(FAKEROOT_SCRIPT); \
echo $$(EXTRA_ENV) $$(s) $$(TARGET_DIR) $$(BR2_ROOTFS_POST_SCRIPT_ARGS) >> $$(FAKEROOT_SCRIPT)$$(sep))
$$(foreach hook,$$(ROOTFS_PRE_CMD_HOOKS),\
$$(call PRINTF,$$($$(hook))) >> $$(FAKEROOT_SCRIPT)$$(sep))
$$(foreach hook,$$(ROOTFS_$(2)_PRE_GEN_HOOKS),\
$$(call PRINTF,$$($$(hook))) >> $$(FAKEROOT_SCRIPT)$$(sep))
$$(call PRINTF,$$(ROOTFS_REPRODUCIBLE)) >> $$(FAKEROOT_SCRIPT)
$$(call PRINTF,$$(ROOTFS_$(2)_CMD)) >> $$(FAKEROOT_SCRIPT)
chmod a+x $$(FAKEROOT_SCRIPT)
PATH=$$(BR_PATH) $$(HOST_DIR)/bin/fakeroot -- $$(FAKEROOT_SCRIPT)
PATH=$$(BR_PATH) FAKEROOTDONTTRYCHOWN=1 $$(HOST_DIR)/bin/fakeroot -- $$(FAKEROOT_SCRIPT)
$(Q)rm -rf $$(TARGET_DIR)
ifneq ($$(ROOTFS_$(2)_COMPRESS_CMD),)
PATH=$$(BR_PATH) $$(ROOTFS_$(2)_COMPRESS_CMD) $$@ > $$@$$(ROOTFS_$(2)_COMPRESS_EXT)
@ -164,13 +148,13 @@ endif
rootfs-$(1)-show-depends:
@echo $$(ROOTFS_$(2)_DEPENDENCIES)
rootfs-$(1): $$(BINARIES_DIR)/rootfs.$(1)
rootfs-$(1): $$(BINARIES_DIR)/$$(ROOTFS_$(2)_FINAL_IMAGE_NAME)
.PHONY: rootfs-$(1) rootfs-$(1)-show-depends
ifeq ($$(BR2_TARGET_ROOTFS_$(2)),y)
TARGETS_ROOTFS += rootfs-$(1)
PACKAGES += $$(filter-out rootfs-%,$$(ROOTFS_$(2)_DEPENDENCIES))
PACKAGES += $$(filter-out rootfs-%,$$(ROOTFS_$(2)_DEPENDENCIES) $$(ROOTFS_COMMON_DEPENDENCIES))
endif
# Check for legacy POST_TARGETS rules

59
fs/f2fs/Config.in Normal file
View File

@ -0,0 +1,59 @@
config BR2_TARGET_ROOTFS_F2FS
bool "f2fs root filesystem"
select BR2_PACKAGE_HOST_F2FS_TOOLS
help
Build a f2fs root filesystem. If you enable this option, you
probably want to enable the f2fs-tools package too.
if BR2_TARGET_ROOTFS_F2FS
config BR2_TARGET_ROOTFS_F2FS_LABEL
string "filesystem label"
config BR2_TARGET_ROOTFS_F2FS_SIZE
string "filesystem size"
default "100M"
help
The size of the filesystem image in bytes.
Suffix with K, M, G or T for power-of-two kilo-, mega-, giga-
or terabytes.
config BR2_TARGET_ROOTFS_F2FS_COLD_FILES
string "extension list for cold files"
help
Specify a comma separated file extension list in order f2fs
to treat them as cold files. The default list includes most
of multimedia file extensions such as jpg, gif, mpeg, mkv,
and so on.
config BR2_TARGET_ROOTFS_F2FS_HOT_FILES
string "extension list for hot files"
help
Specify a comma separated file extension list in order f2fs
to treat them as hot files. The default list includes only
a db extension.
config BR2_TARGET_ROOTFS_F2FS_OVERPROVISION
int "overprovision ratio"
default 0
help
The percentage over the volume size for overprovision
area. This area is hidden to users, and utilized by F2FS
cleaner.
Leave at 0 for autocalculation according to the partition
size.
config BR2_TARGET_ROOTFS_F2FS_DISCARD
bool "discard policy"
default y
help
Enable or disable discard policy.
config BR2_TARGET_ROOTFS_F2FS_FEATURES
string "filesystem features"
help
List of features that the F2FS filesystem should support
(e.g "encrypt")
endif # BR2_TARGET_ROOTFS_F2FS

45
fs/f2fs/f2fs.mk Normal file
View File

@ -0,0 +1,45 @@
################################################################################
#
# Build the f2fs root filesystem image
#
################################################################################
F2FS_SIZE = $(call qstrip,$(BR2_TARGET_ROOTFS_F2FS_SIZE))
ifeq ($(BR2_TARGET_ROOTFS_F2FS)-$(F2FS_SIZE),y-)
$(error BR2_TARGET_ROOTFS_F2FS_SIZE cannot be empty)
endif
# qstrip results in stripping consecutive spaces into a single one. So the
# variable is not qstrip-ed to preserve the integrity of the string value.
F2FS_LABEL := $(subst ",,$(BR2_TARGET_ROOTFS_F2FS_LABEL))
# ")
F2FS_COLD_FILES = $(call qstrip,$(BR2_TARGET_ROOTFS_F2FS_COLD_FILES))
F2FS_HOT_FILES = $(call qstrip,$(BR2_TARGET_ROOTFS_F2FS_HOT_FILES))
ifeq ($(BR2_TARGET_ROOTFS_F2FS_DISCARD),y)
F2FS_DISCARD = 1
else
F2FS_DISCARD = 0
endif
F2FS_FEATURES = $(call qstrip,$(BR2_TARGET_ROOTFS_F2FS_FEATURES))
F2FS_OPTS = \
-f \
-l "$(F2FS_LABEL)" \
-t $(F2FS_DISCARD) \
-o $(BR2_TARGET_ROOTFS_F2FS_OVERPROVISION) \
$(if $(F2FS_COLD_FILES),-e "$(F2FS_COLD_FILES)") \
$(if $(F2FS_HOT_FILES),-E "$(F2FS_HOT_FILES)") \
$(if $(F2FS_FEATURES),-O "$(F2FS_FEATURES)")
ROOTFS_F2FS_DEPENDENCIES = host-f2fs-tools
define ROOTFS_F2FS_CMD
$(RM) -f $@
truncate -s $(F2FS_SIZE) $@
$(HOST_DIR)/sbin/mkfs.f2fs $(F2FS_OPTS) $@
$(HOST_DIR)/sbin/sload.f2fs -f $(TARGET_DIR) $@
endef
$(eval $(rootfs))

View File

@ -10,7 +10,7 @@ ROOTFS_TAR_DEPENDENCIES = $(BR2_TAR_HOST_DEPENDENCY)
define ROOTFS_TAR_CMD
(cd $(TARGET_DIR); find -print0 | LC_ALL=C sort -z | \
tar $(TAR_OPTS) -cf $@ --null --no-recursion -T - --numeric-owner)
tar $(TAR_OPTS) -cf $@ --null --xattrs-include='*' --no-recursion -T - --numeric-owner)
endef
$(eval $(rootfs))

View File

@ -4,9 +4,11 @@ menu "Linux Kernel Extensions"
# Xenomai
config BR2_LINUX_KERNEL_EXT_XENOMAI
bool "Adeos/Xenomai Real-time patch"
depends on BR2_PACKAGE_XENOMAI_ARCH_SUPPORTS
depends on BR2_TOOLCHAIN_HAS_THREADS
depends on !BR2_TOOLCHAIN_USES_MUSL
depends on BR2_PACKAGE_XENOMAI_COBALT_ARCH_SUPPORTS
depends on BR2_USE_MMU # xenomai
depends on BR2_TOOLCHAIN_HAS_SYNC_4 # xenomai
depends on BR2_TOOLCHAIN_HAS_THREADS # xenomai
depends on !BR2_TOOLCHAIN_USES_MUSL # xenomai
select BR2_PACKAGE_XENOMAI
help
Xenomai is split in two parts: a kernel part and a userspace
@ -34,7 +36,9 @@ config BR2_LINUX_KERNEL_EXT_XENOMAI_ADEOS_PATCH
and verify that your kernel version in buildroot matches.
comment "xenomai needs a uClibc or glibc toolchain w/ threads"
depends on BR2_PACKAGE_XENOMAI_ARCH_SUPPORTS
depends on BR2_PACKAGE_XENOMAI_COBALT_ARCH_SUPPORTS
depends on BR2_USE_MMU
depends on BR2_TOOLCHAIN_HAS_SYNC_4
depends on !BR2_TOOLCHAIN_HAS_THREADS || BR2_TOOLCHAIN_USES_MUSL
#-------------------------------------------------------------------------------

View File

@ -29,11 +29,13 @@ config BR2_LINUX_NEEDS_MODULES
choice
prompt "Kernel version"
# We are intentionally staying at 4.19 for the next Buildroot LTS
# release (2019.02)
config BR2_LINUX_KERNEL_LATEST_VERSION
bool "Latest version (4.17)"
bool "Latest version (4.19)"
config BR2_LINUX_KERNEL_LATEST_CIP_VERSION
bool "Latest CIP SLTS version (v4.4.138-cip25)"
bool "Latest CIP SLTS version (v4.4.176-cip31)"
help
CIP launched in the spring of 2016 to address the needs of
organizations in industries such as power generation and
@ -120,8 +122,8 @@ endif
config BR2_LINUX_KERNEL_VERSION
string
default "4.17.19" if BR2_LINUX_KERNEL_LATEST_VERSION
default "v4.4.138-cip25" if BR2_LINUX_KERNEL_LATEST_CIP_VERSION
default "4.19.36" if BR2_LINUX_KERNEL_LATEST_VERSION
default "v4.4.176-cip31" if BR2_LINUX_KERNEL_LATEST_CIP_VERSION
default BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE \
if BR2_LINUX_KERNEL_CUSTOM_VERSION
default "custom" if BR2_LINUX_KERNEL_CUSTOM_TARBALL
@ -188,6 +190,14 @@ config BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES
A space-separated list of kernel configuration fragment files,
that will be merged to the main kernel configuration file.
config BR2_LINUX_KERNEL_CUSTOM_LOGO_PATH
string "Custom boot logo file path"
help
Use a custom Linux framebuffer boot logo.
Custom logo should be in PNG or JPEG format, it will be
converted to the linux kernel format (224 colors only)
and copied over the original logo file.
#
# Binary format
#
@ -247,7 +257,7 @@ config BR2_LINUX_KERNEL_SIMPLEIMAGE
config BR2_LINUX_KERNEL_IMAGE
bool "Image"
depends on BR2_aarch64
depends on BR2_aarch64 || BR2_riscv
config BR2_LINUX_KERNEL_LINUX_BIN
bool "linux.bin"
@ -384,6 +394,14 @@ config BR2_LINUX_KERNEL_CUSTOM_DTS_PATH
You can provide a list of dts paths to copy and
build, separated by spaces.
config BR2_LINUX_KERNEL_DTB_OVERLAY_SUPPORT
bool "Build Device Tree with overlay support"
help
If enabled, pass the "-@" option to dtc, such that
symbols are generated in the compiled Device Tree.
Choose this option to support Device Tree overlays
on the target system.
endif
config BR2_LINUX_KERNEL_INSTALL_TARGET

6
linux/linux.hash Normal file
View File

@ -0,0 +1,6 @@
# From https://www.kernel.org/pub/linux/kernel/v4.x/sha256sums.asc
sha256 d011245629b980d4c15febf080b54804aaf215167b514a3577feddb2495f8a3e linux-4.20.17.tar.xz
sha256 b808b508177f9d288d94a3b9df7b01d5eac9fcc1804a794c913b2144de63f2bc linux-4.19.36.tar.xz
sha256 b24df2e37faaf2290999c507f9e29de98494f52429bcd35513c5b3e52eaddac2 linux-4.14.113.tar.xz
sha256 33887b40fc8e0b71f423bb7afe112a4ae190378145f4a3f3892c563b7e43131d linux-4.9.170.tar.xz
sha256 c3598c22b7994b3bebc3059e8ab85bc212c53550eb401baab3f29f8d007a043d linux-4.4.178.tar.xz

View File

@ -30,22 +30,17 @@ else ifeq ($(BR2_LINUX_KERNEL_CUSTOM_SVN),y)
LINUX_SITE = $(call qstrip,$(BR2_LINUX_KERNEL_CUSTOM_REPO_URL))
LINUX_SITE_METHOD = svn
else ifeq ($(BR2_LINUX_KERNEL_LATEST_CIP_VERSION),y)
LINUX_SITE = git://git.kernel.org/pub/scm/linux/kernel/git/bwh/linux-cip.git
LINUX_SITE = git://git.kernel.org/pub/scm/linux/kernel/git/cip/linux-cip.git
else ifneq ($(findstring -rc,$(LINUX_VERSION)),)
# Since 4.12-rc1, -rc kernels are generated from cgit. This also works for
# older -rc kernels.
LINUX_SITE = https://git.kernel.org/torvalds/t
else
LINUX_SOURCE = linux-$(LINUX_VERSION).tar.xz
# In X.Y.Z, get X and Y. We replace dots and dashes by spaces in order
# to use the $(word) function. We support versions such as 4.0, 3.1,
# 2.6.32, 2.6.32-rc1, 3.0-rc6, etc.
ifeq ($(findstring x2.6.,x$(LINUX_VERSION)),x2.6.)
LINUX_SITE = $(BR2_KERNEL_MIRROR)/linux/kernel/v2.6
else ifeq ($(findstring x3.,x$(LINUX_VERSION)),x3.)
LINUX_SITE = $(BR2_KERNEL_MIRROR)/linux/kernel/v3.x
else ifeq ($(findstring x4.,x$(LINUX_VERSION)),x4.)
LINUX_SITE = $(BR2_KERNEL_MIRROR)/linux/kernel/v4.x
else
LINUX_SITE = $(BR2_KERNEL_MIRROR)/linux/kernel/v$(firstword $(subst ., ,$(LINUX_VERSION))).x
endif
endif
@ -55,12 +50,19 @@ endif
LINUX_PATCHES = $(call qstrip,$(BR2_LINUX_KERNEL_PATCH))
# We have no way to know the hashes for user-supplied patches.
BR_NO_CHECK_HASH_FOR += $(notdir $(LINUX_PATCHES))
# We rely on the generic package infrastructure to download and apply
# remote patches (downloaded from ftp, http or https). For local
# patches, we can't rely on that infrastructure, because there might
# be directories in the patch list (unlike for other packages).
LINUX_PATCH = $(filter ftp://% http://% https://%,$(LINUX_PATCHES))
LINUX_MAKE_ENV = \
$(TARGET_MAKE_ENV) \
BR_BINARIES_DIR=$(BINARIES_DIR)
LINUX_INSTALL_IMAGES = YES
LINUX_DEPENDENCIES = host-kmod
@ -97,7 +99,13 @@ LINUX_DEPENDENCIES += host-openssl
endif
ifeq ($(BR2_LINUX_KERNEL_NEEDS_HOST_LIBELF),y)
LINUX_DEPENDENCIES += host-elfutils
LINUX_DEPENDENCIES += host-elfutils host-pkgconf
LINUX_MAKE_ENV += \
PKG_CONFIG="$(PKG_CONFIG_HOST_BINARY)" \
PKG_CONFIG_SYSROOT_DIR="/" \
PKG_CONFIG_ALLOW_SYSTEM_CFLAGS=1 \
PKG_CONFIG_ALLOW_SYSTEM_LIBS=1 \
PKG_CONFIG_LIBDIR="$(HOST_DIR)/lib/pkgconfig:$(HOST_DIR)/share/pkgconfig"
endif
# If host-uboot-tools is selected by the user, assume it is needed to
@ -121,10 +129,6 @@ LINUX_MAKE_FLAGS = \
CROSS_COMPILE="$(TARGET_CROSS)" \
DEPMOD=$(HOST_DIR)/sbin/depmod
LINUX_MAKE_ENV = \
$(TARGET_MAKE_ENV) \
BR_BINARIES_DIR=$(BINARIES_DIR)
ifeq ($(BR2_REPRODUCIBLE),y)
LINUX_MAKE_ENV += \
KBUILD_BUILD_VERSION=1 \
@ -143,6 +147,10 @@ ifeq ($(BR2_TOOLCHAIN_GCC_AT_LEAST_8),y)
LINUX_MAKE_ENV += KCFLAGS=-Wno-attribute-alias
endif
ifeq ($(BR2_LINUX_KERNEL_DTB_OVERLAY_SUPPORT),y)
LINUX_MAKE_ENV += DTC_FLAGS=-@
endif
# Get the real Linux version, which tells us where kernel modules are
# going to be installed in the target filesystem.
LINUX_VERSION_PROBED = `$(MAKE) $(LINUX_MAKE_FLAGS) -C $(LINUX_DIR) --no-print-directory -s kernelrelease 2>/dev/null`
@ -248,6 +256,17 @@ define LINUX_TRY_PATCH_TIMECONST
endef
LINUX_POST_PATCH_HOOKS += LINUX_TRY_PATCH_TIMECONST
LINUX_KERNEL_CUSTOM_LOGO_PATH = $(call qstrip,$(BR2_LINUX_KERNEL_CUSTOM_LOGO_PATH))
ifneq ($(LINUX_KERNEL_CUSTOM_LOGO_PATH),)
LINUX_DEPENDENCIES += host-imagemagick
define LINUX_KERNEL_CUSTOM_LOGO_CONVERT
$(HOST_DIR)/bin/convert $(LINUX_KERNEL_CUSTOM_LOGO_PATH) \
-dither None -colors 224 -compress none \
$(LINUX_DIR)/drivers/video/logo/logo_linux_clut224.ppm
endef
LINUX_PRE_BUILD_HOOKS += LINUX_KERNEL_CUSTOM_LOGO_CONVERT
endif
ifeq ($(BR2_LINUX_KERNEL_USE_DEFCONFIG),y)
LINUX_KCONFIG_DEFCONFIG = $(call qstrip,$(BR2_LINUX_KERNEL_DEFCONFIG))_defconfig
else ifeq ($(BR2_LINUX_KERNEL_USE_ARCH_DEFAULT_CONFIG),y)
@ -258,13 +277,16 @@ endif
LINUX_KCONFIG_FRAGMENT_FILES = $(call qstrip,$(BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES))
LINUX_KCONFIG_EDITORS = menuconfig xconfig gconfig nconfig
# LINUX_MAKE_FLAGS overrides HOSTCC to allow the kernel build to find our
# host-openssl and host-libelf. However, this triggers a bug in the kconfig
# build script that causes it to build with /usr/include/ncurses.h (which is
# typically wchar) but link with $(HOST_DIR)/lib/libncurses.so (which is not).
# We don't actually need any host-package for kconfig, so remove the HOSTCC
# override again.
LINUX_KCONFIG_OPTS = $(LINUX_MAKE_FLAGS) HOSTCC="$(HOSTCC)"
# LINUX_MAKE_FLAGS overrides HOSTCC to allow the kernel build to find
# our host-openssl and host-libelf. However, this triggers a bug in
# the kconfig build script that causes it to build with
# /usr/include/ncurses.h (which is typically wchar) but link with
# $(HOST_DIR)/lib/libncurses.so (which is not). We don't actually
# need any host-package for kconfig, so remove the HOSTCC override
# again. In addition, even though linux depends on the toolchain and
# therefore host-ccache would be ready, we use HOSTCC_NOCCACHE for
# consistency with other kconfig packages.
LINUX_KCONFIG_OPTS = $(LINUX_MAKE_FLAGS) HOSTCC="$(HOSTCC_NOCCACHE)"
# If no package has yet set it, set it from the Kconfig option
LINUX_NEEDS_MODULES ?= $(BR2_LINUX_NEEDS_MODULES)
@ -300,6 +322,7 @@ define LINUX_KCONFIG_FIXUP_CMDS
# replaced later by the real cpio archive, and the kernel will be
# rebuilt using the linux-rebuild-with-initramfs target.
$(if $(BR2_TARGET_ROOTFS_INITRAMFS),
mkdir -p $(BINARIES_DIR)
touch $(BINARIES_DIR)/rootfs.cpio
$(call KCONFIG_SET_OPT,CONFIG_INITRAMFS_SOURCE,"$${BR_BINARIES_DIR}/rootfs.cpio",$(@D)/.config)
$(call KCONFIG_SET_OPT,CONFIG_INITRAMFS_ROOT_UID,0,$(@D)/.config)
@ -309,6 +332,12 @@ define LINUX_KCONFIG_FIXUP_CMDS
$(call KCONFIG_ENABLE_OPT,CONFIG_DEVTMPFS_MOUNT,$(@D)/.config))
$(if $(BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_EUDEV),
$(call KCONFIG_ENABLE_OPT,CONFIG_INOTIFY_USER,$(@D)/.config))
$(if $(BR2_PACKAGE_AUDIT),
$(call KCONFIG_ENABLE_OPT,CONFIG_NET,$(@D)/.config)
$(call KCONFIG_ENABLE_OPT,CONFIG_AUDIT,$(@D)/.config))
$(if $(BR2_PACKAGE_INTEL_MICROCODE),
$(call KCONFIG_ENABLE_OPT,CONFIG_MICROCODE,$(@D)/.config)
$(call KCONFIG_ENABLE_OPT,CONFIG_MICROCODE_INTEL,$(@D)/.config))
$(if $(BR2_PACKAGE_KTAP),
$(call KCONFIG_ENABLE_OPT,CONFIG_DEBUG_FS,$(@D)/.config)
$(call KCONFIG_ENABLE_OPT,CONFIG_ENABLE_DEFAULT_TRACERS,$(@D)/.config)
@ -316,6 +345,8 @@ define LINUX_KCONFIG_FIXUP_CMDS
$(call KCONFIG_ENABLE_OPT,CONFIG_FUNCTION_TRACER,$(@D)/.config))
$(if $(BR2_PACKAGE_LINUX_TOOLS_PERF),
$(call KCONFIG_ENABLE_OPT,CONFIG_PERF_EVENTS,$(@D)/.config))
$(if $(BR2_PACKAGE_PCM_TOOLS),
$(call KCONFIG_ENABLE_OPT,CONFIG_X86_MSR,$(@D)/.config))
$(if $(BR2_PACKAGE_SYSTEMD),
$(call KCONFIG_ENABLE_OPT,CONFIG_CGROUPS,$(@D)/.config)
$(call KCONFIG_ENABLE_OPT,CONFIG_INOTIFY_USER,$(@D)/.config)
@ -349,6 +380,10 @@ define LINUX_KCONFIG_FIXUP_CMDS
$(call KCONFIG_ENABLE_OPT,CONFIG_ARM_APPENDED_DTB,$(@D)/.config))
$(if $(BR2_PACKAGE_KERNEL_MODULE_IMX_GPU_VIV),
$(call KCONFIG_DISABLE_OPT,CONFIG_MXC_GPU_VIV,$(@D)/.config))
$(if $(LINUX_KERNEL_CUSTOM_LOGO_PATH),
$(call KCONFIG_ENABLE_OPT,CONFIG_FB,$(@D)/.config)
$(call KCONFIG_ENABLE_OPT,CONFIG_LOGO,$(@D)/.config)
$(call KCONFIG_ENABLE_OPT,CONFIG_LOGO_LINUX_CLUT224,$(@D)/.config))
endef
ifeq ($(BR2_LINUX_KERNEL_DTS_SUPPORT),y)
@ -404,15 +439,16 @@ endif
endif
# Compilation. We make sure the kernel gets rebuilt when the
# configuration has changed.
# configuration has changed. We call the 'all' and
# '$(LINUX_TARGET_NAME)' targets separately because calling them in
# the same $(MAKE) invocation has shown to cause parallel build
# issues.
define LINUX_BUILD_CMDS
$(foreach dts,$(call qstrip,$(BR2_LINUX_KERNEL_CUSTOM_DTS_PATH)), \
cp -f $(dts) $(LINUX_ARCH_PATH)/boot/dts/
)
$(LINUX_MAKE_ENV) $(MAKE) $(LINUX_MAKE_FLAGS) -C $(@D) all
$(LINUX_MAKE_ENV) $(MAKE) $(LINUX_MAKE_FLAGS) -C $(@D) $(LINUX_TARGET_NAME)
@if grep -q "CONFIG_MODULES=y" $(@D)/.config; then \
$(LINUX_MAKE_ENV) $(MAKE) $(LINUX_MAKE_FLAGS) -C $(@D) modules ; \
fi
$(LINUX_BUILD_DTB)
$(LINUX_APPEND_DTB)
endef
@ -443,9 +479,7 @@ define LINUX_INSTALL_HOST_TOOLS
# Installing dtc (device tree compiler) as host tool, if selected
if grep -q "CONFIG_DTC=y" $(@D)/.config; then \
$(INSTALL) -D -m 0755 $(@D)/scripts/dtc/dtc $(HOST_DIR)/bin/linux-dtc ; \
if [ ! -e $(HOST_DIR)/bin/dtc ]; then \
ln -sf linux-dtc $(HOST_DIR)/bin/dtc ; \
fi \
$(if $(BR2_PACKAGE_HOST_DTC),,ln -sf linux-dtc $(HOST_DIR)/bin/dtc;) \
fi
endef

View File

@ -50,7 +50,6 @@ menu "Audio and video applications"
source "package/sox/Config.in"
source "package/streameye/Config.in"
source "package/squeezelite/Config.in"
source "package/tidsp-binaries/Config.in"
source "package/tovid/Config.in"
source "package/tstools/Config.in"
source "package/twolame/Config.in"
@ -86,6 +85,7 @@ menu "Debugging, profiling and benchmark"
source "package/blktrace/Config.in"
source "package/bonnie/Config.in"
source "package/cache-calibrator/Config.in"
source "package/clinfo/Config.in"
source "package/dhrystone/Config.in"
source "package/dieharder/Config.in"
source "package/dmalloc/Config.in"
@ -118,6 +118,7 @@ menu "Debugging, profiling and benchmark"
source "package/nmon/Config.in"
source "package/oprofile/Config.in"
source "package/pax-utils/Config.in"
source "package/pcm-tools/Config.in"
source "package/pv/Config.in"
source "package/racehound/Config.in"
source "package/ramsmp/Config.in"
@ -135,6 +136,7 @@ menu "Debugging, profiling and benchmark"
source "package/trinity/Config.in"
source "package/uclibc-ng-test/Config.in"
source "package/valgrind/Config.in"
source "package/vmtouch/Config.in"
source "package/whetstone/Config.in"
endmenu
@ -145,6 +147,7 @@ menu "Development tools"
source "package/check/Config.in"
source "package/cmake/Config.in"
source "package/cppunit/Config.in"
source "package/cunit/Config.in"
source "package/cvs/Config.in"
source "package/cxxtest/Config.in"
source "package/diffutils/Config.in"
@ -263,7 +266,6 @@ endmenu
menu "Graphic libraries and applications (graphic/text)"
comment "Graphic applications"
source "package/expedite/Config.in"
source "package/fswebcam/Config.in"
source "package/ghostscript/Config.in"
source "package/glmark2/Config.in"
@ -272,6 +274,7 @@ comment "Graphic applications"
source "package/kmscube/Config.in"
source "package/libva-utils/Config.in"
source "package/mesa3d-demos/Config.in"
source "package/netsurf/Config.in"
source "package/pngquant/Config.in"
source "package/qt5cinex/Config.in"
source "package/rrdtool/Config.in"
@ -312,16 +315,14 @@ comment "Graphic libraries"
source "package/tk/Config.in"
comment "Other GUIs"
source "package/qt/Config.in"
source "package/qt5/Config.in"
source "package/kf5/Config.in"
if BR2_PACKAGE_QT || BR2_PACKAGE_QT5
if BR2_PACKAGE_QT5
comment "QT libraries and helper libraries"
source "package/cutelyst/Config.in"
source "package/grantlee/Config.in"
source "package/qextserialport/Config.in"
source "package/qjson/Config.in"
source "package/qtuio/Config.in"
source "package/quazip/Config.in"
source "package/qwt/Config.in"
endif
@ -492,6 +493,7 @@ endmenu
source "package/pdbg/Config.in"
source "package/picocom/Config.in"
source "package/pifmrds/Config.in"
source "package/pigpio/Config.in"
source "package/powertop/Config.in"
source "package/pps-tools/Config.in"
source "package/pru-software-support/Config.in"
@ -501,6 +503,7 @@ endmenu
source "package/rpi-armmem/Config.in"
source "package/rpi-userland/Config.in"
source "package/rs485conf/Config.in"
source "package/rtc-tools/Config.in"
source "package/rtl8188eu/Config.in"
source "package/rtl8189fs/Config.in"
source "package/rtl8723bs/Config.in"
@ -508,6 +511,7 @@ endmenu
source "package/rtl8821au/Config.in"
source "package/sane-backends/Config.in"
source "package/sdparm/Config.in"
source "package/sedutil/Config.in"
source "package/setserial/Config.in"
source "package/sg3_utils/Config.in"
source "package/sigrok-cli/Config.in"
@ -555,6 +559,7 @@ menu "Interpreter languages and scripting"
source "package/erlang/Config.in"
if BR2_PACKAGE_ERLANG
menu "Erlang libraries/modules"
source "package/erlang-eimp/Config.in"
source "package/erlang-goldrush/Config.in"
source "package/erlang-jiffy/Config.in"
source "package/erlang-lager/Config.in"
@ -623,11 +628,12 @@ menu "Lua libraries/modules"
source "package/lua-msgpack-native/Config.in"
source "package/lua-periphery/Config.in"
source "package/lua-sdl2/Config.in"
source "package/lua-std-debug/Config.in"
source "package/lua-std-normalize/Config.in"
source "package/lua-stdlib/Config.in"
source "package/lua-testmore/Config.in"
source "package/lua-utf8/Config.in"
source "package/luabitop/Config.in"
source "package/luacrypto/Config.in"
source "package/luadbi/Config.in"
source "package/luadbi-sqlite3/Config.in"
source "package/luaexpat/Config.in"
@ -670,31 +676,62 @@ endif
source "package/perl/Config.in"
if BR2_PACKAGE_PERL
menu "Perl libraries/modules"
source "package/perl-apache-logformat-compiler/Config.in"
source "package/perl-appconfig/Config.in"
source "package/perl-astro-suntime/Config.in"
source "package/perl-class-inspector/Config.in"
source "package/perl-class-load/Config.in"
source "package/perl-class-method-modifiers/Config.in"
source "package/perl-class-std/Config.in"
source "package/perl-class-std-fast/Config.in"
source "package/perl-convert-asn1/Config.in"
source "package/perl-cookie-baker/Config.in"
source "package/perl-crypt-blowfish/Config.in"
source "package/perl-crypt-cbc/Config.in"
source "package/perl-crypt-openssl-random/Config.in"
source "package/perl-crypt-openssl-rsa/Config.in"
source "package/perl-data-dump/Config.in"
source "package/perl-data-optlist/Config.in"
source "package/perl-data-uuid/Config.in"
source "package/perl-date-manip/Config.in"
source "package/perl-datetime-tiny/Config.in"
source "package/perl-dbd-mysql/Config.in"
source "package/perl-dbi/Config.in"
source "package/perl-devel-globaldestruction/Config.in"
source "package/perl-devel-stacktrace/Config.in"
source "package/perl-devel-stacktrace-ashtml/Config.in"
source "package/perl-device-serialport/Config.in"
source "package/perl-digest-hmac/Config.in"
source "package/perl-digest-md5/Config.in"
source "package/perl-digest-sha1/Config.in"
source "package/perl-dist-checkconflicts/Config.in"
source "package/perl-encode-detect/Config.in"
source "package/perl-encode-locale/Config.in"
source "package/perl-exporter-tiny/Config.in"
source "package/perl-file-listing/Config.in"
source "package/perl-file-sharedir/Config.in"
source "package/perl-file-slurp/Config.in"
source "package/perl-file-util/Config.in"
source "package/perl-filesys-notify-simple/Config.in"
source "package/perl-gd/Config.in"
source "package/perl-gdgraph/Config.in"
source "package/perl-gdtextutil/Config.in"
source "package/perl-hash-multivalue/Config.in"
source "package/perl-html-parser/Config.in"
source "package/perl-html-tagset/Config.in"
source "package/perl-http-cookies/Config.in"
source "package/perl-http-daemon/Config.in"
source "package/perl-http-date/Config.in"
source "package/perl-http-entity-parser/Config.in"
source "package/perl-http-headers-fast/Config.in"
source "package/perl-http-message/Config.in"
source "package/perl-http-multipartparser/Config.in"
source "package/perl-http-negotiate/Config.in"
source "package/perl-io-html/Config.in"
source "package/perl-io-interface/Config.in"
source "package/perl-io-socket-multicast/Config.in"
source "package/perl-io-socket-ssl/Config.in"
source "package/perl-json-maybexs/Config.in"
source "package/perl-json-tiny/Config.in"
source "package/perl-libwww-perl/Config.in"
source "package/perl-lwp-mediatypes/Config.in"
@ -702,8 +739,12 @@ menu "Perl libraries/modules"
source "package/perl-mailtools/Config.in"
source "package/perl-mime-base64-urlsafe/Config.in"
source "package/perl-mime-base64/Config.in"
source "package/perl-mime-tools/Config.in"
source "package/perl-module-implementation/Config.in"
source "package/perl-module-runtime/Config.in"
source "package/perl-mojolicious-plugin-authentication/Config.in"
source "package/perl-mojolicious/Config.in"
source "package/perl-moo/Config.in"
source "package/perl-net-dns/Config.in"
source "package/perl-net-http/Config.in"
source "package/perl-net-ping/Config.in"
@ -712,12 +753,28 @@ menu "Perl libraries/modules"
source "package/perl-net-ssleay/Config.in"
source "package/perl-net-telnet/Config.in"
source "package/perl-netaddr-ip/Config.in"
source "package/perl-number-bytes-human/Config.in"
source "package/perl-package-stash/Config.in"
source "package/perl-params-util/Config.in"
source "package/perl-path-tiny/Config.in"
source "package/perl-time-hires/Config.in"
source "package/perl-plack/Config.in"
source "package/perl-posix-strftime-compiler/Config.in"
source "package/perl-role-tiny/Config.in"
source "package/perl-stream-buffered/Config.in"
source "package/perl-sub-exporter-progressive/Config.in"
source "package/perl-sub-quote/Config.in"
source "package/perl-sub-install/Config.in"
source "package/perl-sys-cpu/Config.in"
source "package/perl-sys-meminfo/Config.in"
source "package/perl-sys-mmap/Config.in"
source "package/perl-time-parsedate/Config.in"
source "package/perl-timedate/Config.in"
source "package/perl-try-tiny/Config.in"
source "package/perl-type-tiny/Config.in"
source "package/perl-uri/Config.in"
source "package/perl-www-form-urlencoded/Config.in"
source "package/perl-www-robotrules/Config.in"
source "package/perl-x10/Config.in"
source "package/perl-xml-libxml/Config.in"
source "package/perl-xml-namespacesupport/Config.in"
source "package/perl-xml-sax/Config.in"
@ -747,9 +804,17 @@ endif
if BR2_PACKAGE_PYTHON || BR2_PACKAGE_PYTHON3
menu "External python modules"
source "package/python-aiocoap/Config.in"
source "package/python-aiodns/Config.in"
source "package/python-aiohttp/Config.in"
source "package/python-aiohttp-apispec/Config.in"
source "package/python-aiohttp-jinja2/Config.in"
source "package/python-aiohttp-remotes/Config.in"
source "package/python-aiohttp-security/Config.in"
source "package/python-aiohttp-session/Config.in"
source "package/python-aiohttp-sse/Config.in"
source "package/python-aiohttp-swagger/Config.in"
source "package/python-aiorwlock/Config.in"
source "package/python-aiojobs/Config.in"
source "package/python-alsaaudio/Config.in"
source "package/python-apispec/Config.in"
source "package/python-argh/Config.in"
@ -770,6 +835,7 @@ menu "External python modules"
source "package/python-cached-property/Config.in"
source "package/python-can/Config.in"
source "package/python-cbor/Config.in"
source "package/python-cchardet/Config.in"
source "package/python-certifi/Config.in"
source "package/python-cffi/Config.in"
source "package/python-characteristic/Config.in"
@ -811,6 +877,8 @@ menu "External python modules"
source "package/python-engineio/Config.in"
source "package/python-enum/Config.in"
source "package/python-enum34/Config.in"
source "package/python-falcon/Config.in"
source "package/python-fire/Config.in"
source "package/python-flask/Config.in"
source "package/python-flask-cors/Config.in"
source "package/python-flask-babel/Config.in"
@ -865,6 +933,7 @@ menu "External python modules"
source "package/python-marshmallow-peewee/Config.in"
source "package/python-mbstrdecoder/Config.in"
source "package/python-meld3/Config.in"
source "package/python-mimeparse/Config.in"
source "package/python-mistune/Config.in"
source "package/python-mock/Config.in"
source "package/python-more-itertools/Config.in"
@ -884,6 +953,7 @@ menu "External python modules"
source "package/python-paho-mqtt/Config.in"
source "package/python-pam/Config.in"
source "package/python-paramiko/Config.in"
source "package/python-passlib/Config.in"
source "package/python-pathlib2/Config.in"
source "package/python-pathpy/Config.in"
source "package/python-pathtools/Config.in"
@ -892,9 +962,12 @@ menu "External python modules"
source "package/python-peewee/Config.in"
source "package/python-peewee-migrate/Config.in"
source "package/python-pexpect/Config.in"
source "package/python-pickleshare/Config.in"
source "package/python-picamera/Config.in"
source "package/python-pickleshare/Config.in"
source "package/python-pigpio/Config.in"
source "package/python-pillow/Config.in"
source "package/python-pip/Config.in"
source "package/python-ply/Config.in"
source "package/python-portend/Config.in"
source "package/python-posix-ipc/Config.in"
source "package/python-priority/Config.in"
@ -904,17 +977,23 @@ menu "External python modules"
source "package/python-psycopg2/Config.in"
source "package/python-ptyprocess/Config.in"
source "package/python-pudb/Config.in"
source "package/python-py/Config.in"
source "package/python-pyasn/Config.in"
source "package/python-pyasn-modules/Config.in"
source "package/python-pyasn1/Config.in"
source "package/python-pyasn1-modules/Config.in"
source "package/python-pycares/Config.in"
source "package/python-pycli/Config.in"
source "package/python-pycparser/Config.in"
source "package/python-pycrypto/Config.in"
source "package/python-pycryptodomex/Config.in"
source "package/python-pycurl/Config.in"
source "package/python-pydal/Config.in"
source "package/python-pyelftools/Config.in"
source "package/python-pyftpdlib/Config.in"
source "package/python-pygame/Config.in"
source "package/python-pygments/Config.in"
source "package/python-pyhamcrest/Config.in"
source "package/python-pyicu/Config.in"
source "package/python-pyinotify/Config.in"
source "package/python-pyjwt/Config.in"
@ -929,13 +1008,13 @@ menu "External python modules"
source "package/python-pyparted/Config.in"
source "package/python-pypcap/Config.in"
source "package/python-pyqrcode/Config.in"
source "package/python-pyqt/Config.in"
source "package/python-pyqt5/Config.in"
source "package/python-pyratemp/Config.in"
source "package/python-pyro/Config.in"
source "package/python-pyroute2/Config.in"
source "package/python-pysendfile/Config.in"
source "package/python-pysmb/Config.in"
source "package/python-pysmi/Config.in"
source "package/python-pysnmp/Config.in"
source "package/python-pysnmp-apps/Config.in"
source "package/python-pysnmp-mibs/Config.in"
@ -961,12 +1040,16 @@ menu "External python modules"
source "package/python-rq/Config.in"
source "package/python-rtslib-fb/Config.in"
source "package/python-scandir/Config.in"
source "package/python-scapy/Config.in"
source "package/python-scapy3k/Config.in"
source "package/python-schedule/Config.in"
source "package/python-sdnotify/Config.in"
source "package/python-secretstorage/Config.in"
source "package/python-see/Config.in"
source "package/python-semver/Config.in"
source "package/python-sentry-sdk/Config.in"
source "package/python-serial/Config.in"
source "package/python-serial-asyncio/Config.in"
source "package/python-service-identity/Config.in"
source "package/python-setproctitle/Config.in"
source "package/python-setuptools/Config.in"
@ -1000,12 +1083,14 @@ menu "External python modules"
source "package/python-txaio/Config.in"
source "package/python-txtorcon/Config.in"
source "package/python-typepy/Config.in"
source "package/python-typing/Config.in"
source "package/python-typing-extensions/Config.in"
source "package/python-u-msgpack/Config.in"
source "package/python-ubjson/Config.in"
source "package/python-ujson/Config.in"
source "package/python-urllib3/Config.in"
source "package/python-urwid/Config.in"
source "package/python-uvloop/Config.in"
source "package/python-validators/Config.in"
source "package/python-versiontools/Config.in"
source "package/python-visitor/Config.in"
@ -1019,8 +1104,10 @@ menu "External python modules"
source "package/python-websockets/Config.in"
source "package/python-werkzeug/Config.in"
source "package/python-whoosh/Config.in"
source "package/python-wrapt/Config.in"
source "package/python-ws4py/Config.in"
source "package/python-wsaccel/Config.in"
source "package/python-wtforms/Config.in"
source "package/python-xlib/Config.in"
source "package/python-xlrd/Config.in"
source "package/python-xlsxwriter/Config.in"
@ -1029,6 +1116,7 @@ menu "External python modules"
source "package/python-xmltodict/Config.in"
source "package/python-yarl/Config.in"
source "package/python-yieldfrom/Config.in"
source "package/python-zeroconf/Config.in"
source "package/python-zope-interface/Config.in"
endmenu
endif
@ -1086,6 +1174,7 @@ menu "Audio/Sound"
source "package/opusfile/Config.in"
source "package/portaudio/Config.in"
source "package/sbc/Config.in"
source "package/spandsp/Config.in"
source "package/speex/Config.in"
source "package/speexdsp/Config.in"
source "package/taglib/Config.in"
@ -1182,6 +1271,7 @@ menu "Graphics"
source "package/cairomm/Config.in"
source "package/chipmunk/Config.in"
source "package/exiv2/Config.in"
source "package/exempi/Config.in"
source "package/fltk/Config.in"
source "package/fontconfig/Config.in"
source "package/freetype/Config.in"
@ -1196,6 +1286,7 @@ menu "Graphics"
source "package/harfbuzz/Config.in"
source "package/ijs/Config.in"
source "package/imlib2/Config.in"
source "package/intel-gmmlib/Config.in"
source "package/irrlicht/Config.in"
source "package/jasper/Config.in"
source "package/jpeg/Config.in"
@ -1248,6 +1339,7 @@ menu "Graphics"
source "package/poppler/Config.in"
source "package/powervr/Config.in"
source "package/tiff/Config.in"
source "package/waffle/Config.in"
source "package/wayland/Config.in"
source "package/wayland-protocols/Config.in"
source "package/waylandpp/Config.in"
@ -1322,6 +1414,7 @@ menu "External AngularJS plugins"
endmenu
endif
source "package/bootstrap/Config.in"
source "package/duktape/Config.in"
source "package/explorercanvas/Config.in"
source "package/flot/Config.in"
source "package/jquery/Config.in"
@ -1431,6 +1524,7 @@ menu "Networking"
source "package/azmq/Config.in"
source "package/azure-iot-sdk-c/Config.in"
source "package/batman-adv/Config.in"
source "package/bluez5_utils-headers/Config.in"
source "package/c-ares/Config.in"
source "package/canfestival/Config.in"
source "package/cgic/Config.in"
@ -1438,12 +1532,14 @@ menu "Networking"
source "package/curlpp/Config.in"
source "package/czmq/Config.in"
source "package/daq/Config.in"
source "package/davici/Config.in"
source "package/filemq/Config.in"
source "package/flickcurl/Config.in"
source "package/fmlib/Config.in"
source "package/freeradius-client/Config.in"
source "package/geoip/Config.in"
source "package/glib-networking/Config.in"
source "package/grpc/Config.in"
source "package/gssdp/Config.in"
source "package/gupnp/Config.in"
source "package/gupnp-av/Config.in"
@ -1488,6 +1584,7 @@ menu "Networking"
source "package/liboauth/Config.in"
source "package/liboping/Config.in"
source "package/libosip2/Config.in"
source "package/libpagekite/Config.in"
source "package/libpcap/Config.in"
source "package/libpjsip/Config.in"
source "package/librsync/Config.in"
@ -1499,6 +1596,7 @@ menu "Networking"
source "package/libstrophe/Config.in"
source "package/libtirpc/Config.in"
source "package/libtorrent/Config.in"
source "package/libtorrent-rasterbar/Config.in"
source "package/libupnp/Config.in"
source "package/libupnp18/Config.in"
source "package/libupnpp/Config.in"
@ -1513,6 +1611,7 @@ menu "Networking"
source "package/nghttp2/Config.in"
source "package/norm/Config.in"
source "package/nss-mdns/Config.in"
source "package/nss-myhostname/Config.in"
source "package/nss-pam-ldapd/Config.in"
source "package/omniorb/Config.in"
source "package/openldap/Config.in"
@ -1531,6 +1630,7 @@ menu "Networking"
source "package/thrift/Config.in"
source "package/usbredir/Config.in"
source "package/wampcc/Config.in"
source "package/websocketpp/Config.in"
source "package/zeromq/Config.in"
source "package/zmqpp/Config.in"
source "package/zyre/Config.in"
@ -1556,6 +1656,7 @@ menu "Other"
source "package/ding-libs/Config.in"
source "package/eigen/Config.in"
source "package/elfutils/Config.in"
source "package/ell/Config.in"
source "package/fftw/Config.in"
source "package/flann/Config.in"
source "package/flatbuffers/Config.in"
@ -1576,11 +1677,14 @@ menu "Other"
source "package/libcap/Config.in"
source "package/libcap-ng/Config.in"
source "package/libcgroup/Config.in"
source "package/libclc/Config.in"
source "package/libcofi/Config.in"
source "package/libcorrect/Config.in"
source "package/libcroco/Config.in"
source "package/libcrossguid/Config.in"
source "package/libcsv/Config.in"
source "package/libdaemon/Config.in"
source "package/libeastl/Config.in"
source "package/libee/Config.in"
source "package/libev/Config.in"
source "package/libevdev/Config.in"
@ -1646,6 +1750,7 @@ endif
source "package/tinycbor/Config.in"
source "package/tz/Config.in"
source "package/tzdata/Config.in"
source "package/xapian/Config.in"
endmenu
menu "Security"
@ -1734,12 +1839,14 @@ menu "Networking applications"
source "package/batctl/Config.in"
source "package/bcusdk/Config.in"
source "package/bind/Config.in"
source "package/bird/Config.in"
source "package/bluez-tools/Config.in"
source "package/bluez_utils/Config.in"
source "package/bluez5_utils/Config.in"
source "package/bmon/Config.in"
source "package/boa/Config.in"
source "package/boinc/Config.in"
source "package/brcm-patchram-plus/Config.in"
source "package/bridge-utils/Config.in"
source "package/bwm-ng/Config.in"
source "package/c-icap/Config.in"
@ -1769,6 +1876,7 @@ menu "Networking applications"
source "package/ejabberd/Config.in"
source "package/ethtool/Config.in"
source "package/faifa/Config.in"
source "package/fail2ban/Config.in"
source "package/fastd/Config.in"
source "package/fcgiwrap/Config.in"
source "package/flannel/Config.in"
@ -1776,11 +1884,13 @@ menu "Networking applications"
source "package/fping/Config.in"
source "package/freeswitch/Config.in"
source "package/freeswitch-mod-bcg729/Config.in"
source "package/gerbera/Config.in"
source "package/gesftpserver/Config.in"
source "package/glorytun/Config.in"
source "package/gupnp-tools/Config.in"
source "package/gutenprint/Config.in"
source "package/hans/Config.in"
source "package/haproxy/Config.in"
source "package/hiawatha/Config.in"
source "package/hostapd/Config.in"
source "package/hplip/Config.in"
@ -1808,6 +1918,7 @@ menu "Networking applications"
source "package/iputils/Config.in"
source "package/irssi/Config.in"
source "package/iw/Config.in"
source "package/iwd/Config.in"
source "package/janus-gateway/Config.in"
source "package/keepalived/Config.in"
source "package/kismet/Config.in"
@ -1827,6 +1938,7 @@ menu "Networking applications"
source "package/macchanger/Config.in"
source "package/memcached/Config.in"
source "package/mii-diag/Config.in"
source "package/mini-snmpd/Config.in"
source "package/minidlna/Config.in"
source "package/minissdpd/Config.in"
source "package/mjpg-streamer/Config.in"
@ -1872,6 +1984,7 @@ endif
source "package/open-plc-utils/Config.in"
source "package/openntpd/Config.in"
source "package/openobex/Config.in"
source "package/openresolv/Config.in"
source "package/openssh/Config.in"
source "package/openswan/Config.in"
source "package/openvpn/Config.in"
@ -1931,7 +2044,6 @@ endif
source "package/thttpd/Config.in"
source "package/tinc/Config.in"
source "package/tinyhttpd/Config.in"
source "package/tn5250/Config.in"
source "package/tor/Config.in"
source "package/traceroute/Config.in"
source "package/transmission/Config.in"
@ -2025,6 +2137,7 @@ comment "Utilities"
source "package/sudo/Config.in"
source "package/terminology/Config.in"
source "package/time/Config.in"
source "package/tini/Config.in"
source "package/tmux/Config.in"
source "package/which/Config.in"
source "package/xmlstarlet/Config.in"
@ -2037,7 +2150,6 @@ menu "System tools"
source "package/atop/Config.in"
source "package/attr/Config.in"
source "package/audit/Config.in"
source "package/bootutils/Config.in"
source "package/cgroupfs-mount/Config.in"
source "package/circus/Config.in"
source "package/coreutils/Config.in"
@ -2047,11 +2159,11 @@ menu "System tools"
source "package/dcron/Config.in"
source "package/ddrescue/Config.in"
source "package/debianutils/Config.in"
source "package/docker-cli/Config.in"
source "package/docker-compose/Config.in"
source "package/docker-containerd/Config.in"
source "package/docker-engine/Config.in"
source "package/docker-proxy/Config.in"
source "package/dsp-tools/Config.in"
source "package/efibootmgr/Config.in"
source "package/efivar/Config.in"
source "package/emlog/Config.in"
@ -2073,6 +2185,7 @@ menu "System tools"
source "package/numactl/Config.in"
source "package/nut/Config.in"
source "package/openvmtools/Config.in"
source "package/pamtester/Config.in"
source "package/polkit/Config.in"
source "package/powerpc-utils/Config.in"
source "package/procps-ng/Config.in"

View File

@ -2,9 +2,11 @@ menu "Host utilities"
source "package/aespipe/Config.in.host"
source "package/android-tools/Config.in.host"
source "package/btrfs-progs/Config.in.host"
source "package/cargo/Config.in.host"
source "package/cbootimage/Config.in.host"
source "package/checkpolicy/Config.in.host"
source "package/checksec/Config.in.host"
source "package/cmake/Config.in.host"
source "package/cramfs/Config.in.host"
source "package/cryptsetup/Config.in.host"
@ -14,6 +16,7 @@ menu "Host utilities"
source "package/dtc/Config.in.host"
source "package/e2fsprogs/Config.in.host"
source "package/e2tools/Config.in.host"
source "package/f2fs-tools/Config.in.host"
source "package/faketime/Config.in.host"
source "package/fwup/Config.in.host"
source "package/genext2fs/Config.in.host"
@ -51,15 +54,18 @@ menu "Host utilities"
source "package/qemu/Config.in.host"
source "package/raspberrypi-usbboot/Config.in.host"
source "package/rauc/Config.in.host"
source "package/rcw/Config.in.host"
source "package/rustc/Config.in.host"
source "package/s6-rc/Config.in.host"
source "package/sam-ba/Config.in.host"
source "package/squashfs/Config.in.host"
source "package/sunxi-tools/Config.in.host"
source "package/swig/Config.in.host"
source "package/tegrarcm/Config.in.host"
source "package/ti-cgt-pru/Config.in.host"
source "package/uboot-tools/Config.in.host"
source "package/util-linux/Config.in.host"
source "package/utp_com/Config.in.host"
source "package/vboot-utils/Config.in.host"
source "package/xorriso/Config.in.host"
source "package/zip/Config.in.host"

View File

@ -141,38 +141,34 @@ ifeq ($(BR2_DEBUG_3),y)
TARGET_DEBUGGING = -g3
endif
TARGET_CFLAGS_RELRO = -Wl,-z,relro
TARGET_CFLAGS_RELRO_FULL = -Wl,-z,now $(TARGET_CFLAGS_RELRO)
TARGET_LDFLAGS = $(call qstrip,$(BR2_TARGET_LDFLAGS))
ifeq ($(BR2_SSP_REGULAR),y)
TARGET_CPPFLAGS += -fstack-protector
else ifeq ($(BR2_SSP_STRONG),y)
TARGET_CPPFLAGS += -fstack-protector-strong
else ifeq ($(BR2_SSP_ALL),y)
TARGET_CPPFLAGS += -fstack-protector-all
endif
ifeq ($(BR2_RELRO_PARTIAL),y)
TARGET_CPPFLAGS += $(TARGET_CFLAGS_RELRO)
TARGET_LDFLAGS += $(TARGET_CFLAGS_RELRO)
else ifeq ($(BR2_RELRO_FULL),y)
TARGET_CPPFLAGS += -fPIE $(TARGET_CFLAGS_RELRO_FULL)
TARGET_LDFLAGS += -pie
endif
# By design, _FORTIFY_SOURCE requires gcc optimization to be enabled.
# Therefore, we need to pass _FORTIFY_SOURCE and the optimization level
# through the same mechanism, i.e currently through CFLAGS. Passing
# _FORTIFY_SOURCE through the wrapper and the optimization level
# through CFLAGS would not work, because CFLAGS are sometimes
# ignored/overridden by packages, but the flags passed by the wrapper
# are enforced: this would cause _FORTIFY_SOURCE to be used without any
# optimization level, leading to a build / configure failure. So we keep
# passing _FORTIFY_SOURCE and the optimization level both through CFLAGS.
ifeq ($(BR2_FORTIFY_SOURCE_1),y)
TARGET_CPPFLAGS += -D_FORTIFY_SOURCE=1
TARGET_HARDENED += -D_FORTIFY_SOURCE=1
else ifeq ($(BR2_FORTIFY_SOURCE_2),y)
TARGET_CPPFLAGS += -D_FORTIFY_SOURCE=2
TARGET_HARDENED += -D_FORTIFY_SOURCE=2
endif
TARGET_CPPFLAGS += -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64
TARGET_CFLAGS = $(TARGET_CPPFLAGS) $(TARGET_ABI) $(TARGET_OPTIMIZATION) $(TARGET_DEBUGGING)
TARGET_CFLAGS = $(TARGET_CPPFLAGS) $(TARGET_ABI) $(TARGET_OPTIMIZATION) $(TARGET_DEBUGGING) $(TARGET_HARDENED)
TARGET_CXXFLAGS = $(TARGET_CFLAGS)
TARGET_FCFLAGS = $(TARGET_ABI) $(TARGET_OPTIMIZATION) $(TARGET_DEBUGGING)
# https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79509
ifeq ($(BR2_m68k_cf),y)
TARGET_CFLAGS += -fno-dwarf2-cfi-asm
TARGET_CXXFLAGS += -fno-dwarf2-cfi-asm
endif
ifeq ($(BR2_BINFMT_FLAT),y)
TARGET_CFLAGS += $(if $($(PKG)_FLAT_STACKSIZE),-Wl$(comma)-elf2flt=-s$($(PKG)_FLAT_STACKSIZE),\
-Wl$(comma)-elf2flt)

View File

@ -10,6 +10,7 @@ ACPICA_SITE = https://acpica.org/sites/acpica/files
ACPICA_LICENSE = BSD-3-Clause or GPL-2.0
ACPICA_LICENSE_FILES = source/include/acpi.h
ACPICA_DEPENDENCIES = host-bison host-flex
HOST_ACPICA_DEPENDENCIES = host-bison host-flex
define ACPICA_BUILD_CMDS
$(TARGET_CONFIGURE_OPTS) $(MAKE) -C $(@D) \

View File

@ -1,6 +1,6 @@
config BR2_PACKAGE_ACPID
bool "acpid"
depends on BR2_x86_64 || BR2_i386
depends on BR2_USE_MMU # fork()
help
Advanced Configuration and Power Interface event daemon.

0
package/acpid/S02acpid Executable file → Normal file
View File

View File

@ -1,3 +1,3 @@
# From https://sourceforge.net/projects/acpid2/files/
md5 0432407b5ff75ae8e08afb43052fde2b acpid-2.0.28.tar.xz
sha1 a5cb34d53eb6965293c436db23dc81550273975b acpid-2.0.28.tar.xz
md5 1528040b5d34f8c24ebabd97befbf913 acpid-2.0.30.tar.xz
sha1 680bbb3fa9cdabb78fb19c6d24bb57224fbbbaed acpid-2.0.30.tar.xz

View File

@ -4,12 +4,20 @@
#
################################################################################
ACPID_VERSION = 2.0.28
ACPID_VERSION = 2.0.30
ACPID_SOURCE = acpid-$(ACPID_VERSION).tar.xz
ACPID_SITE = http://downloads.sourceforge.net/project/acpid2
ACPID_LICENSE = GPL-2.0+
ACPID_LICENSE_FILES = COPYING
define ACPID_INSTALL_INIT_SYSTEMD
$(INSTALL) -D -m 0644 package/acpid/acpid.service \
$(TARGET_DIR)/usr/lib/systemd/system/acpid.service
mkdir -p $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants
ln -sf ../../../../usr/lib/systemd/system/acpid.service \
$(TARGET_DIR)/etc/systemd/system/multi-user.target.wants/acpid.service
endef
define ACPID_INSTALL_INIT_SYSV
$(INSTALL) -D -m 0755 package/acpid/S02acpid \
$(TARGET_DIR)/etc/init.d/S02acpid

View File

@ -0,0 +1,9 @@
[Unit]
Description=ACPI event daemon
Documentation=man:acpid(8)
[Service]
ExecStart=/usr/sbin/acpid --foreground --netlink
[Install]
WantedBy=multi-user.target

View File

@ -11,5 +11,6 @@ ACSCCID_LICENSE = LGPL-2.1+
ACSCCID_LICENSE_FILES = COPYING
ACSCCID_INSTALL_STAGING = YES
ACSCCID_DEPENDENCIES = pcsc-lite host-flex host-pkgconf libusb
ACSCCID_CONF_OPTS = --enable-usbdropdir=/usr/lib/pcsc/drivers
$(eval $(autotools-package))

View File

@ -1,71 +0,0 @@
From 37078a46346f01141cc13026bb5ad426bb98f3a0 Mon Sep 17 00:00:00 2001
From: Fabrice Fontaine <fontaine.fabrice@gmail.com>
Date: Wed, 22 Aug 2018 20:01:07 +0200
Subject: [PATCH] Fix build with mmx
Commit 39387fc80f90f3a9ac9ef9f3aa32da5776a0721e removed mmx support
however aircrack-ng fails to build on platforms with mmx because an
error is raised if __MMX__ is defined.
Fixes:
- http://autobuild.buildroot.net/results/b7362b69435e9ef6fb2aedc50743e88dbd7a5c72
Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
[Upstream status: merged (https://github.com/aircrack-ng/aircrack-ng/pull/1943)]
---
src/aircrack-crypto/arch.h | 3 ---
src/aircrack-crypto/memory.h | 3 ---
src/aircrack-crypto/pseudo_intrinsics.h | 9 ---------
3 files changed, 15 deletions(-)
diff --git a/src/aircrack-crypto/arch.h b/src/aircrack-crypto/arch.h
index 1a19ddd6..78b9e619 100644
--- a/src/aircrack-crypto/arch.h
+++ b/src/aircrack-crypto/arch.h
@@ -357,9 +357,6 @@
#elif __SSE2__
#define SIMD_COEF_32 4
#define SIMD_COEF_64 2
-#elif __MMX__
-#define SIMD_COEF_32 2
-#define SIMD_COEF_64 1
#endif
/*
diff --git a/src/aircrack-crypto/memory.h b/src/aircrack-crypto/memory.h
index 83b048f0..24b1c95b 100644
--- a/src/aircrack-crypto/memory.h
+++ b/src/aircrack-crypto/memory.h
@@ -70,9 +70,6 @@
#elif __SSE2__
#define SIMD_COEF_32 4
#define SIMD_COEF_64 2
-#elif __MMX__
-#define SIMD_COEF_32 2
-#define SIMD_COEF_64 1
#endif
/*
diff --git a/src/aircrack-crypto/pseudo_intrinsics.h b/src/aircrack-crypto/pseudo_intrinsics.h
index dd0ca379..f5527bdd 100644
--- a/src/aircrack-crypto/pseudo_intrinsics.h
+++ b/src/aircrack-crypto/pseudo_intrinsics.h
@@ -658,15 +658,6 @@ _inline __m128i _mm_set1_epi64(long long a)
(vtype)(vtype64) { x0, x1 }
#endif
-/******************************** MMX *********************************/
-
-#elif __MMX__
-#include <mmintrin.h>
-
-typedef __m64i vtype;
-
-#error MMX intrinsics not implemented (contributions are welcome!)
-
#endif /* __SIMD__ elif __SIMD__ elif __SIMD__ */
/************************* COMMON STUFF BELOW *************************/
--
2.14.1

View File

@ -1,69 +0,0 @@
From 7cf680386de051cb8308510680299aef810fe743 Mon Sep 17 00:00:00 2001
From: Joseph Benden <joe@benden.us>
Date: Fri, 17 Aug 2018 13:23:39 -0700
Subject: [PATCH] autotools: Fix optional SIMD on PPC arch
Resolves:
https://github.com/aircrack-ng/aircrack-ng/issues/1941
Upstream (applied to their master, not yet in a release): (squashed together)
https://github.com/aircrack-ng/aircrack-ng/commit/97838c6b903d33c8403a4bdcae60b8619fad7538
https://github.com/aircrack-ng/aircrack-ng/commit/efc0b2718f4afd9582419902d205b242e546b9ab
Signed-off-by: Joseph Benden <joe@benden.us>
Signed-off-by: Matt Weber <matthew.weber@rockwellcollins.com
---
build/m4/aircrack_ng_simd.m4 | 4 ++++
src/aircrack-crypto/Makefile.am | 7 ++++++-
2 files changed, 10 insertions(+), 1 deletion(-)
diff --git a/build/m4/aircrack_ng_simd.m4 b/build/m4/aircrack_ng_simd.m4
index 29c3816..2bcc41f 100644
--- a/build/m4/aircrack_ng_simd.m4
+++ b/build/m4/aircrack_ng_simd.m4
@@ -132,6 +132,7 @@ then
AX_CHECK_COMPILE_FLAG([-maltivec], [
AX_APPEND_FLAG(-maltivec, [ppc_altivec_[]_AC_LANG_ABBREV[]flags])
AC_SUBST(ppc_altivec_[]_AC_LANG_ABBREV[]flags)
+ ALTIVEC_FOUND=1
])
AX_CHECK_COMPILE_FLAG([-mabi=altivec], [
@@ -147,6 +148,7 @@ then
AX_CHECK_COMPILE_FLAG([-mpower8-vector], [
AX_APPEND_FLAG(-mpower8-vector, [ppc_altivec_[]_AC_LANG_ABBREV[]flags])
AC_SUBST(ppc_altivec_[]_AC_LANG_ABBREV[]flags)
+ POWER8_FOUND=1
])
fi
@@ -258,6 +260,8 @@ AM_CONDITIONAL([ARM], [test "$IS_ARM" = 1])
AM_CONDITIONAL([PPC], [test "$IS_PPC" = 1])
AM_CONDITIONAL([NEON], [test "$NEON_FOUND" = 1])
AM_CONDITIONAL([AVX512F], [test "$AVX512F_FOUND" = 1])
+AM_CONDITIONAL([ALTIVEC], [test "$ALTIVEC_FOUND" = 1])
+AM_CONDITIONAL([POWER8], [test "$POWER8_FOUND" = 1])
])
AC_DEFUN([AIRCRACK_NG_SIMD_C], [
diff --git a/src/aircrack-crypto/Makefile.am b/src/aircrack-crypto/Makefile.am
index 8cc685d..a1664a5 100644
--- a/src/aircrack-crypto/Makefile.am
+++ b/src/aircrack-crypto/Makefile.am
@@ -131,7 +131,12 @@ lib_LTLIBRARIES += libaircrack-crypto-arm-neon.la
endif
endif
if PPC
-lib_LTLIBRARIES += libaircrack-crypto-ppc-altivec.la libaircrack-crypto-ppc-power8.la
+if ALTIVEC
+lib_LTLIBRARIES += libaircrack-crypto-ppc-altivec.la
+endif
+if POWER8
+lib_LTLIBRARIES += libaircrack-crypto-ppc-power8.la
+endif
endif
if X86
if AVX512F
--
1.9.1

Some files were not shown because too many files have changed in this diff Show More