Release 2018.08.2

-----BEGIN PGP SIGNATURE-----
 
 iHAEABECADAWIQSrB9gG0s50H7iG7lCwJbqLWcNjGQUCW9G6QRIcamFjbWV0QHVj
 bGliYy5vcmcACgkQsCW6i1nDYxlGBwCgnOKITuifymOE/wuasJSTv0jgytsAoI9w
 nkOFc9/ucAmLZ7UF3po10WbV
 =4JZN
 -----END PGP SIGNATURE-----

Merge tag '2018.08.2' into buildroot-next

Release 2018.08.2
This commit is contained in:
Calin Crisan 2018-11-12 11:29:57 +02:00
commit e4a8de1d55
2473 changed files with 26354 additions and 21248 deletions

View File

@ -183,8 +183,8 @@ config BR2_TAR_OPTIONS
default ""
help
Options to pass to tar when extracting the sources.
E.g. " -v --exclude='*.svn*'" to exclude all .svn internal files
and to be verbose.
E.g. " -v --exclude='*.svn*'" to exclude all .svn internal
files and to be verbose.
endmenu
@ -208,6 +208,9 @@ config BR2_DL_DIR
If the Linux shell environment has defined the BR2_DL_DIR
environment variable, then this overrides this configuration
item.
The directory is organized with a subdirectory for each
package. Each package has its own $(LIBFOO_DL_DIR) variable
that can be used to find the correct path.
The default is $(TOPDIR)/dl
@ -432,8 +435,8 @@ endif
config BR2_STRIP_strip
bool "strip target binaries"
depends on !BR2_PACKAGE_HOST_ELF2FLT
default y
depends on !BR2_PACKAGE_HOST_ELF2FLT
help
Binaries and libraries in the target filesystem will be
stripped using the normal 'strip' command. This allows to save
@ -443,16 +446,16 @@ config BR2_STRIP_strip
config BR2_STRIP_EXCLUDE_FILES
string "executables that should not be stripped"
depends on BR2_STRIP_strip
default ""
depends on BR2_STRIP_strip
help
You may specify a space-separated list of binaries and
libraries here that should not be stripped on the target.
config BR2_STRIP_EXCLUDE_DIRS
string "directories that should be skipped when stripping"
depends on BR2_STRIP_strip
default ""
depends on BR2_STRIP_strip
help
You may specify a space-separated list of directories that
should be skipped when stripping. Binaries and libraries in
@ -538,11 +541,21 @@ config BR2_OPTIMIZE_S
-ftree-vect-loop-version
This is the default.
config BR2_OPTIMIZE_FAST
bool "optimize for fast"
depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_6
help
Optimize for fast. Disregard strict standards
compliance. -Ofast enables all -O3 optimizations. It also
enables optimizations that are not valid for all
standard-compliant programs. It turns on -ffast-math and the
Fortran-specific -fstack-arrays, unless -fmax-stack-var-size
is specified, and -fno-protect-parens.
endchoice
config BR2_GOOGLE_BREAKPAD_ENABLE
bool "Enable google-breakpad support"
select BR2_PACKAGE_GOOGLE_BREAKPAD
depends on BR2_INSTALL_LIBSTDCPP
depends on BR2_HOST_GCC_AT_LEAST_4_8 # C++11
depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 # C++11
@ -551,6 +564,7 @@ config BR2_GOOGLE_BREAKPAD_ENABLE
depends on (BR2_TOOLCHAIN_USES_GLIBC || BR2_TOOLCHAIN_USES_UCLIBC)
depends on BR2_PACKAGE_GOOGLE_BREAKPAD_ARCH_SUPPORTS
depends on BR2_PACKAGE_HOST_GOOGLE_BREAKPAD_ARCH_SUPPORTS
select BR2_PACKAGE_GOOGLE_BREAKPAD
help
This option will enable the use of google breakpad, a library
and tool suite that allows you to distribute an application to
@ -617,7 +631,6 @@ config BR2_SHARED_STATIC_LIBS
endchoice
config BR2_PACKAGE_OVERRIDE_FILE
string "location of a package override file"
default "$(CONFIG_DIR)/local.mk"
@ -665,7 +678,8 @@ config BR2_COMPILER_PARANOID_UNSAFE_PATH
Note that this mechanism is available for both the internal
toolchain (through the toolchain wrapper and binutils patches)
and external toolchain backends (through the toolchain wrapper).
and external toolchain backends (through the toolchain
wrapper).
config BR2_REPRODUCIBLE
bool "Make the build reproducible (experimental)"
@ -749,9 +763,9 @@ choice
bool "RELRO Protection"
depends on BR2_SHARED_LIBS
help
Enable a link-time protection know as RELRO (RELocation Read Only)
which helps to protect from certain type of exploitation techniques
altering the content of some ELF sections.
Enable a link-time protection know as RELRO (RELocation Read
Only) which helps to protect from certain type of exploitation
techniques altering the content of some ELF sections.
config BR2_RELRO_NONE
bool "None"
@ -767,9 +781,9 @@ config BR2_RELRO_PARTIAL
config BR2_RELRO_FULL
bool "Full"
help
This option includes the partial configuration, but also
marks the GOT as read-only at the cost of initialization time
during program loading, i.e every time an executable is started.
This option includes the partial configuration, but also marks
the GOT as read-only at the cost of initialization time during
program loading, i.e every time an executable is started.
endchoice
@ -782,10 +796,10 @@ choice
depends on !BR2_OPTIMIZE_0
help
Enable the _FORTIFY_SOURCE macro which introduces additional
checks to detect buffer-overflows in the following standard library
functions: memcpy, mempcpy, memmove, memset, strcpy, stpcpy,
strncpy, strcat, strncat, sprintf, vsprintf, snprintf, vsnprintf,
gets.
checks to detect buffer-overflows in the following standard
library functions: memcpy, mempcpy, memmove, memset, strcpy,
stpcpy, strncpy, strcat, strncat, sprintf, vsprintf, snprintf,
vsnprintf, gets.
NOTE: This feature requires an optimization level of s/1/2/3/g

File diff suppressed because it is too large Load Diff

View File

@ -92,9 +92,9 @@ all:
.PHONY: all
# Set and export the version string
export BR2_VERSION := 2018.02.7
export BR2_VERSION := 2018.08.2
# Actual time the release is cut (for reproducible builds)
BR2_VERSION_EPOCH = 1540493000
BR2_VERSION_EPOCH = 1540470000
# Save running make version since it's clobbered by the make package
RUNNING_MAKE_VERSION := $(MAKE_VERSION)
@ -220,7 +220,10 @@ BR_GRAPH_OUT := $(or $(BR2_GRAPH_OUT),pdf)
BUILD_DIR := $(BASE_DIR)/build
BINARIES_DIR := $(BASE_DIR)/images
TARGET_DIR := $(BASE_DIR)/target
# 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
@ -236,15 +239,6 @@ LEGAL_MANIFEST_CSV_HOST = $(LEGAL_INFO_DIR)/host-manifest.csv
LEGAL_WARNINGS = $(LEGAL_INFO_DIR)/.warnings
LEGAL_REPORT = $(LEGAL_INFO_DIR)/README
################################################################################
#
# staging and target directories do NOT list these as
# dependencies anywhere else
#
################################################################################
$(BUILD_DIR) $(TARGET_DIR) $(HOST_DIR) $(BINARIES_DIR) $(LEGAL_INFO_DIR) $(REDIST_SOURCES_DIR_TARGET) $(REDIST_SOURCES_DIR_HOST):
@mkdir -p $@
BR2_CONFIG = $(CONFIG_DIR)/.config
# Pull in the user's configuration file
@ -258,9 +252,6 @@ export TZ = UTC
export LANG = C
export LC_ALL = C
export GZIP = -n
BR2_VERSION_GIT_EPOCH = $(shell GIT_DIR=$(TOPDIR)/.git $(GIT) log -1 --format=%at)
export SOURCE_DATE_EPOCH ?= $(if $(wildcard $(TOPDIR)/.git),$(BR2_VERSION_GIT_EPOCH),$(BR2_VERSION_EPOCH))
DEPENDENCIES_HOST_PREREQ += host-fakedate
endif
# To put more focus on warnings, be less verbose as default
@ -449,7 +440,6 @@ KERNEL_ARCH := $(shell echo "$(ARCH)" | sed -e "s/-.*//" \
-e s/arceb/arc/ \
-e s/arm.*/arm/ -e s/sa110/arm/ \
-e s/aarch64.*/arm64/ \
-e s/bfin/blackfin/ \
-e s/or1k/openrisc/ \
-e s/parisc64/parisc/ \
-e s/powerpc64.*/powerpc/ \
@ -466,12 +456,18 @@ TAR_OPTIONS = $(call qstrip,$(BR2_TAR_OPTIONS)) -xf
# packages compiled for the host go here
HOST_DIR := $(call qstrip,$(BR2_HOST_DIR))
ifneq ($(HOST_DIR),$(BASE_DIR)/host)
HOST_DIR_SYMLINK = $(BASE_DIR)/host
$(HOST_DIR_SYMLINK): $(BASE_DIR)
ln -snf $(HOST_DIR) $(BASE_DIR)/host
endif
# Quotes are needed for spaces and all in the original PATH content.
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 = $(TARGET_DIR)/THIS_IS_NOT_YOUR_ROOT_FILESYSTEM
TARGET_DIR_WARNING_FILE = $(BASE_TARGET_DIR)/THIS_IS_NOT_YOUR_ROOT_FILESYSTEM
ifeq ($(BR2_CCACHE),y)
CCACHE := $(HOST_DIR)/bin/ccache
@ -513,11 +509,17 @@ include package/Makefile.in
-include $(sort $(wildcard arch/arch.mk.*))
include support/dependencies/dependencies.mk
PACKAGES += $(DEPENDENCIES_HOST_PREREQ)
include $(sort $(wildcard toolchain/*.mk))
include $(sort $(wildcard toolchain/*/*.mk))
ifeq ($(BR2_REPRODUCIBLE),y)
# If SOURCE_DATE_EPOCH has not been set then use the commit date, or the last
# release date if the source tree is not within a Git repository.
# See: https://reproducible-builds.org/specs/source-date-epoch/
BR2_VERSION_GIT_EPOCH := $(shell $(GIT) log -1 --format=%at 2> /dev/null)
export SOURCE_DATE_EPOCH ?= $(or $(BR2_VERSION_GIT_EPOCH),$(BR2_VERSION_EPOCH))
endif
# Include the package override file if one has been provided in the
# configuration.
PACKAGE_OVERRIDE_FILE = $(call qstrip,$(BR2_PACKAGE_OVERRIDE_FILE))
@ -570,8 +572,8 @@ $(foreach pkg,$(call UPPERCASE,$(PACKAGES)),\
endif
.PHONY: dirs
dirs: $(BUILD_DIR) $(STAGING_DIR) $(TARGET_DIR) \
$(HOST_DIR) $(HOST_DIR)/usr $(HOST_DIR)/lib $(BINARIES_DIR)
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
@ -588,19 +590,9 @@ sdk: world
$(TOPDIR)/support/scripts/fix-rpath host
$(TOPDIR)/support/scripts/fix-rpath staging
$(INSTALL) -m 755 $(TOPDIR)/support/misc/relocate-sdk.sh $(HOST_DIR)/relocate-sdk.sh
mkdir -p $(HOST_DIR)/share/buildroot
echo $(HOST_DIR) > $(HOST_DIR)/share/buildroot/sdk-location
# Compatibility symlink in case a post-build script still uses $(HOST_DIR)/usr
$(HOST_DIR)/usr: $(HOST_DIR)
@ln -snf . $@
$(HOST_DIR)/lib: $(HOST_DIR)
@mkdir -p $@
@case $(HOSTARCH) in \
(*64) ln -snf lib $(@D)/lib64;; \
(*) ln -snf lib $(@D)/lib32;; \
esac
# Populating the staging with the base directories is handled by the skeleton package
$(STAGING_DIR):
@mkdir -p $(STAGING_DIR)
@ -703,6 +695,9 @@ endif
$(TARGETS_ROOTFS): target-finalize
# Avoid the rootfs name leaking down the dependency chain
target-finalize: ROOTFS=
.PHONY: target-finalize
target-finalize: $(PACKAGES)
@$(call MESSAGE,"Finalizing target directory")
@ -776,6 +771,7 @@ endif
.PHONY: target-post-image
target-post-image: $(TARGETS_ROOTFS) target-finalize
@rm -f $(ROOTFS_COMMON_TAR)
@$(foreach s, $(call qstrip,$(BR2_ROOTFS_POST_IMAGE_SCRIPT)), \
$(call MESSAGE,"Executing post-image script $(s)"); \
$(EXTRA_ENV) $(s) $(BINARIES_DIR) $(call qstrip,$(BR2_ROOTFS_POST_SCRIPT_ARGS))$(sep))
@ -965,6 +961,11 @@ savedefconfig: $(BUILD_DIR)/buildroot-config/conf prepare-kconfig
#
################################################################################
# staging and target directories do NOT list these as
# dependencies anywhere else
$(BUILD_DIR) $(BASE_TARGET_DIR) $(HOST_DIR) $(BINARIES_DIR) $(LEGAL_INFO_DIR) $(REDIST_SOURCES_DIR_TARGET) $(REDIST_SOURCES_DIR_HOST):
@mkdir -p $@
# outputmakefile generates a Makefile in the output directory, if using a
# separate output directory. This allows convenient use of make in the
# output directory.
@ -999,7 +1000,7 @@ printvars:
.PHONY: clean
clean:
rm -rf $(TARGET_DIR) $(BINARIES_DIR) $(HOST_DIR) \
rm -rf $(BASE_TARGET_DIR) $(BINARIES_DIR) $(HOST_DIR) $(HOST_DIR_SYMLINK) \
$(BUILD_DIR) $(BASE_DIR)/staging \
$(LEGAL_INFO_DIR) $(GRAPHS_DIR)
@ -1051,6 +1052,10 @@ help:
@echo ' <pkg>-build - Build <pkg> up to the build step'
@echo ' <pkg>-show-depends - List packages on which <pkg> depends'
@echo ' <pkg>-show-rdepends - List packages which have <pkg> as a dependency'
@echo ' <pkg>-show-recursive-depends'
@echo ' - Recursively list packages on which <pkg> depends'
@echo ' <pkg>-show-recursive-rdepends'
@echo ' - Recursively list packages which have <pkg> as a dependency'
@echo ' <pkg>-graph-depends - Generate a graph of <pkg>'\''s dependencies'
@echo ' <pkg>-graph-rdepends - Generate a graph of <pkg>'\''s reverse dependencies'
@echo ' <pkg>-dirclean - Remove <pkg> build directory'

View File

@ -15,9 +15,6 @@ config BR2_ARCH_HAS_MMU_MANDATORY
config BR2_ARCH_HAS_MMU_OPTIONAL
bool
config BR2_ARCH_HAS_FDPIC_SUPPORT
bool
choice
prompt "Target Architecture"
default BR2_i386
@ -28,24 +25,25 @@ config BR2_arcle
bool "ARC (little endian)"
select BR2_ARCH_HAS_MMU_MANDATORY
help
Synopsys' DesignWare ARC Processor Cores are a family of 32-bit CPUs
that can be used from deeply embedded to high performance host
applications. Little endian.
Synopsys' DesignWare ARC Processor Cores are a family of
32-bit CPUs that can be used from deeply embedded to high
performance host applications. Little endian.
config BR2_arceb
bool "ARC (big endian)"
select BR2_ARCH_HAS_MMU_MANDATORY
help
Synopsys' DesignWare ARC Processor Cores are a family of 32-bit CPUs
that can be used from deeply embedded to high performance host
applications. Big endian.
Synopsys' DesignWare ARC Processor Cores are a family of
32-bit CPUs that can be used from deeply embedded to high
performance host applications. Big endian.
config BR2_arm
bool "ARM (little endian)"
# MMU support is set by the subarchitecture file, arch/Config.in.arm
help
ARM is a 32-bit reduced instruction set computer (RISC) instruction
set architecture (ISA) developed by ARM Holdings. Little endian.
ARM is a 32-bit reduced instruction set computer (RISC)
instruction set architecture (ISA) developed by ARM Holdings.
Little endian.
http://www.arm.com/
http://en.wikipedia.org/wiki/ARM
@ -53,8 +51,9 @@ config BR2_armeb
bool "ARM (big endian)"
# MMU support is set by the subarchitecture file, arch/Config.in.arm
help
ARM is a 32-bit reduced instruction set computer (RISC) instruction
set architecture (ISA) developed by ARM Holdings. Big endian.
ARM is a 32-bit reduced instruction set computer (RISC)
instruction set architecture (ISA) developed by ARM Holdings.
Big endian.
http://www.arm.com/
http://en.wikipedia.org/wiki/ARM
@ -76,16 +75,6 @@ config BR2_aarch64_be
http://www.arm.com/products/processors/instruction-set-architectures/armv8-architecture.php
http://en.wikipedia.org/wiki/ARM
config BR2_bfin
bool "Blackfin"
select BR2_ARCH_HAS_FDPIC_SUPPORT
select BR2_ARCH_NEEDS_GCC_AT_LEAST_6
help
The Blackfin is a family of 16 or 32-bit microprocessors developed,
manufactured and marketed by Analog Devices.
http://www.analog.com/
http://en.wikipedia.org/wiki/Blackfin
config BR2_csky
bool "csky"
select BR2_ARCH_HAS_NO_TOOLCHAIN_BUILDROOT
@ -113,8 +102,8 @@ config BR2_microblazeel
bool "Microblaze AXI (little endian)"
select BR2_ARCH_HAS_MMU_MANDATORY
help
Soft processor core designed for Xilinx FPGAs from Xilinx. AXI bus
based architecture (little endian)
Soft processor core designed for Xilinx FPGAs from Xilinx. AXI
bus based architecture (little endian)
http://www.xilinx.com
http://en.wikipedia.org/wiki/Microblaze
@ -122,8 +111,8 @@ config BR2_microblazebe
bool "Microblaze non-AXI (big endian)"
select BR2_ARCH_HAS_MMU_MANDATORY
help
Soft processor core designed for Xilinx FPGAs from Xilinx. PLB bus
based architecture (non-AXI, big endian)
Soft processor core designed for Xilinx FPGAs from Xilinx. PLB
bus based architecture (non-AXI, big endian)
http://www.xilinx.com
http://en.wikipedia.org/wiki/Microblaze
@ -131,7 +120,8 @@ config BR2_mips
bool "MIPS (big endian)"
select BR2_ARCH_HAS_MMU_MANDATORY
help
MIPS is a RISC microprocessor from MIPS Technologies. Big endian.
MIPS is a RISC microprocessor from MIPS Technologies. Big
endian.
http://www.mips.com/
http://en.wikipedia.org/wiki/MIPS_Technologies
@ -139,7 +129,8 @@ config BR2_mipsel
bool "MIPS (little endian)"
select BR2_ARCH_HAS_MMU_MANDATORY
help
MIPS is a RISC microprocessor from MIPS Technologies. Little endian.
MIPS is a RISC microprocessor from MIPS Technologies. Little
endian.
http://www.mips.com/
http://en.wikipedia.org/wiki/MIPS_Technologies
@ -148,7 +139,8 @@ config BR2_mips64
select BR2_ARCH_IS_64
select BR2_ARCH_HAS_MMU_MANDATORY
help
MIPS is a RISC microprocessor from MIPS Technologies. Big endian.
MIPS is a RISC microprocessor from MIPS Technologies. Big
endian.
http://www.mips.com/
http://en.wikipedia.org/wiki/MIPS_Technologies
@ -157,7 +149,8 @@ config BR2_mips64el
select BR2_ARCH_IS_64
select BR2_ARCH_HAS_MMU_MANDATORY
help
MIPS is a RISC microprocessor from MIPS Technologies. Little endian.
MIPS is a RISC microprocessor from MIPS Technologies. Little
endian.
http://www.mips.com/
http://en.wikipedia.org/wiki/MIPS_Technologies
@ -180,8 +173,8 @@ config BR2_powerpc
bool "PowerPC"
select BR2_ARCH_HAS_MMU_MANDATORY
help
PowerPC is a RISC architecture created by Apple-IBM-Motorola alliance.
Big endian.
PowerPC is a RISC architecture created by Apple-IBM-Motorola
alliance. Big endian.
http://www.power.org/
http://en.wikipedia.org/wiki/Powerpc
@ -190,8 +183,8 @@ config BR2_powerpc64
select BR2_ARCH_IS_64
select BR2_ARCH_HAS_MMU_MANDATORY
help
PowerPC is a RISC architecture created by Apple-IBM-Motorola alliance.
Big endian.
PowerPC is a RISC architecture created by Apple-IBM-Motorola
alliance. Big endian.
http://www.power.org/
http://en.wikipedia.org/wiki/Powerpc
@ -200,8 +193,8 @@ config BR2_powerpc64le
select BR2_ARCH_IS_64
select BR2_ARCH_HAS_MMU_MANDATORY
help
PowerPC is a RISC architecture created by Apple-IBM-Motorola alliance.
Little endian.
PowerPC is a RISC architecture created by Apple-IBM-Motorola
alliance. Little endian.
http://www.power.org/
http://en.wikipedia.org/wiki/Powerpc
@ -209,8 +202,9 @@ config BR2_sh
bool "SuperH"
select BR2_ARCH_HAS_MMU_OPTIONAL
help
SuperH (or SH) is a 32-bit reduced instruction set computer (RISC)
instruction set architecture (ISA) developed by Hitachi.
SuperH (or SH) is a 32-bit reduced instruction set computer
(RISC) instruction set architecture (ISA) developed by
Hitachi.
http://www.hitachi.com/
http://en.wikipedia.org/wiki/SuperH
@ -218,8 +212,9 @@ config BR2_sparc
bool "SPARC"
select BR2_ARCH_HAS_MMU_MANDATORY
help
SPARC (from Scalable Processor Architecture) is a RISC instruction
set architecture (ISA) developed by Sun Microsystems.
SPARC (from Scalable Processor Architecture) is a RISC
instruction set architecture (ISA) developed by Sun
Microsystems.
http://www.oracle.com/sun
http://en.wikipedia.org/wiki/Sparc
@ -228,8 +223,9 @@ config BR2_sparc64
select BR2_ARCH_IS_64
select BR2_ARCH_HAS_MMU_MANDATORY
help
SPARC (from Scalable Processor Architecture) is a RISC instruction
set architecture (ISA) developed by Sun Microsystems.
SPARC (from Scalable Processor Architecture) is a RISC
instruction set architecture (ISA) developed by Sun
Microsystems.
http://www.oracle.com/sun
http://en.wikipedia.org/wiki/Sparc
@ -283,6 +279,10 @@ config BR2_ARCH_NEEDS_GCC_AT_LEAST_7
bool
select BR2_ARCH_NEEDS_GCC_AT_LEAST_6
config BR2_ARCH_NEEDS_GCC_AT_LEAST_8
bool
select BR2_ARCH_NEEDS_GCC_AT_LEAST_7
# The following string values are defined by the individual
# Config.in.$ARCH files
config BR2_ARCH
@ -341,7 +341,6 @@ config BR2_READELF_ARCH_NAME
choice
prompt "Target Binary Format"
default BR2_BINFMT_ELF if BR2_USE_MMU
default BR2_BINFMT_FDPIC if BR2_ARCH_HAS_FDPIC_SUPPORT
default BR2_BINFMT_FLAT
config BR2_BINFMT_ELF
@ -349,56 +348,34 @@ config BR2_BINFMT_ELF
depends on BR2_USE_MMU
select BR2_BINFMT_SUPPORTS_SHARED
help
ELF (Executable and Linkable Format) is a format for libraries and
executables used across different architectures and operating
systems.
config BR2_BINFMT_FDPIC
bool "FDPIC"
depends on BR2_ARCH_HAS_FDPIC_SUPPORT
select BR2_BINFMT_SUPPORTS_SHARED
help
ELF FDPIC binaries are based on ELF, but allow the individual load
segments of a binary to be located in memory independently of each
other. This makes this format ideal for use in environments where no
MMU is available.
ELF (Executable and Linkable Format) is a format for libraries
and executables used across different architectures and
operating systems.
config BR2_BINFMT_FLAT
bool "FLAT"
depends on !BR2_USE_MMU
help
FLAT binary is a relatively simple and lightweight executable format
based on the original a.out format. It is widely used in environment
where no MMU is available.
FLAT binary is a relatively simple and lightweight executable
format based on the original a.out format. It is widely used
in environment where no MMU is available.
endchoice
# Set up flat binary type
choice
prompt "FLAT Binary type"
depends on BR2_BINFMT_FLAT
default BR2_BINFMT_FLAT_ONE
depends on BR2_BINFMT_FLAT
config BR2_BINFMT_FLAT_ONE
bool "One memory region"
help
All segments are linked into one memory region.
config BR2_BINFMT_FLAT_SEP_DATA
bool "Separate data and code region"
# this FLAT binary type technically exists on m68k, but fails
# to build numerous packages: due to architecture limitation,
# big functions cannot be built in this mode. They cause build
# failures such as "Tried to convert PC relative branch to
# absolute jump" or "error: value -yyyyy out of range".
depends on BR2_bfin
help
Allow for the data and text segments to be separated and placed in
different regions of memory.
config BR2_BINFMT_FLAT_SHARED
bool "Shared binary"
depends on BR2_m68k || BR2_bfin
depends on BR2_m68k
# Even though this really generates shared binaries, there is no libdl
# and dlopen() cannot be used. So packages that require shared
# libraries cannot be built. Therefore, we don't select
@ -418,10 +395,6 @@ if BR2_arm || BR2_armeb || BR2_aarch64 || BR2_aarch64_be
source "arch/Config.in.arm"
endif
if BR2_bfin
source "arch/Config.in.bfin"
endif
if BR2_csky
source "arch/Config.in.csky"
endif

View File

@ -1,7 +1,7 @@
choice
prompt "Target CPU"
depends on BR2_arc
default BR2_arc770d
depends on BR2_arc
help
Specific CPU to use

View File

@ -6,12 +6,21 @@ config BR2_ARM_CPU_HAS_NEON
config BR2_ARM_CPU_MAYBE_HAS_NEON
bool
# For some cores, the FPU is optional
config BR2_ARM_CPU_MAYBE_HAS_FPU
bool
config BR2_ARM_CPU_HAS_FPU
bool
# for some cores, VFPv2 is optional
config BR2_ARM_CPU_MAYBE_HAS_VFPV2
bool
select BR2_ARM_CPU_MAYBE_HAS_FPU
config BR2_ARM_CPU_HAS_VFPV2
bool
select BR2_ARM_CPU_HAS_FPU
# for some cores, VFPv3 is optional
config BR2_ARM_CPU_MAYBE_HAS_VFPV3
@ -31,6 +40,24 @@ config BR2_ARM_CPU_HAS_VFPV4
bool
select BR2_ARM_CPU_HAS_VFPV3
# FPv4 is always optional
config BR2_ARM_CPU_MAYBE_HAS_FPV4
bool
select BR2_ARM_CPU_MAYBE_HAS_FPU
config BR2_ARM_CPU_HAS_FPV4
bool
select BR2_ARM_CPU_HAS_FPU
# FPv5 is always optional
config BR2_ARM_CPU_MAYBE_HAS_FPV5
bool
select BR2_ARM_CPU_MAYBE_HAS_FPV4
config BR2_ARM_CPU_HAS_FPV5
bool
select BR2_ARM_CPU_HAS_FPV4
config BR2_ARM_CPU_HAS_FP_ARMV8
bool
select BR2_ARM_CPU_HAS_VFPV4
@ -240,7 +267,14 @@ config BR2_cortex_m3
config BR2_cortex_m4
bool "cortex-M4"
select BR2_ARM_CPU_HAS_THUMB2
select BR2_ARM_CPU_MAYBE_HAS_FPV4
select BR2_ARM_CPU_ARMV7M
config BR2_cortex_m7
bool "cortex-M7"
select BR2_ARM_CPU_HAS_THUMB2
select BR2_ARM_CPU_MAYBE_HAS_FPV5
select BR2_ARM_CPU_ARMV7M
select BR2_ARCH_NEEDS_GCC_AT_LEAST_5
endif # !BR2_ARCH_IS_64
comment "armv8 cores"
@ -445,7 +479,9 @@ config BR2_ARM_ENABLE_NEON
config BR2_ARM_ENABLE_VFP
bool "Enable VFP extension support"
depends on BR2_ARM_CPU_MAYBE_HAS_VFPV2
depends on BR2_ARM_CPU_MAYBE_HAS_FPU
select BR2_ARM_CPU_HAS_FPV5 if BR2_ARM_CPU_MAYBE_HAS_FPV5
select BR2_ARM_CPU_HAS_FPV4 if BR2_ARM_CPU_MAYBE_HAS_FPV4
select BR2_ARM_CPU_HAS_VFPV4 if BR2_ARM_CPU_MAYBE_HAS_VFPV4
select BR2_ARM_CPU_HAS_VFPV3 if BR2_ARM_CPU_MAYBE_HAS_VFPV3
select BR2_ARM_CPU_HAS_VFPV2 if BR2_ARM_CPU_MAYBE_HAS_VFPV2
@ -456,9 +492,9 @@ config BR2_ARM_ENABLE_VFP
choice
prompt "Target ABI"
depends on BR2_arm || BR2_armeb
default BR2_ARM_EABIHF if BR2_ARM_CPU_HAS_VFPV2
default BR2_ARM_EABIHF if BR2_ARM_CPU_HAS_FPU
default BR2_ARM_EABI
depends on BR2_arm || BR2_armeb
help
Application Binary Interface to use. The Application Binary
Interface describes the calling conventions (how arguments
@ -491,7 +527,7 @@ config BR2_ARM_EABI
config BR2_ARM_EABIHF
bool "EABIhf"
depends on BR2_ARM_CPU_HAS_VFPV2
depends on BR2_ARM_CPU_HAS_FPU
help
The EABIhf is an extension of EABI which supports the 'hard'
floating point model. This model uses the floating point
@ -512,10 +548,12 @@ endchoice
choice
prompt "Floating point strategy"
default BR2_ARM_FPU_FP_ARMV8 if BR2_ARM_CPU_HAS_FP_ARMV8
default BR2_ARM_FPU_FPV5D16 if BR2_ARM_CPU_HAS_FPV5
default BR2_ARM_FPU_FPV4D16 if BR2_ARM_CPU_HAS_FPV4
default BR2_ARM_FPU_VFPV4D16 if BR2_ARM_CPU_HAS_VFPV4
default BR2_ARM_FPU_VFPV3D16 if BR2_ARM_CPU_HAS_VFPV3
default BR2_ARM_FPU_VFPV2 if BR2_ARM_CPU_HAS_VFPV2
default BR2_ARM_SOFT_FLOAT if !BR2_ARM_CPU_HAS_VFPV2
default BR2_ARM_SOFT_FLOAT if !BR2_ARM_CPU_HAS_FPU
config BR2_ARM_SOFT_FLOAT
bool "Soft float"
@ -622,6 +660,38 @@ config BR2_ARM_FPU_NEON_VFPV4
example on Cortex-A5 and Cortex-A7, support for VFPv4 and
NEON is optional.
config BR2_ARM_FPU_FPV4D16
bool "FPv4-D16"
depends on BR2_ARM_CPU_HAS_FPV4
help
This option allows to use the FPv4-SP (single precision)
floating point unit, as available in some ARMv7m processors
(Cortex-M4).
config BR2_ARM_FPU_FPV5D16
bool "FPv5-D16"
depends on BR2_ARM_CPU_HAS_FPV5
select BR2_ARCH_NEEDS_GCC_AT_LEAST_5
help
This option allows to use the FPv5-SP (single precision)
floating point unit, as available in some ARMv7m processors
(Cortex-M7).
Note that if you want binary code that works on the earlier
Cortex-M4, you should instead select FPv4-D16.
config BR2_ARM_FPU_FPV5DPD16
bool "FPv5-DP-D16"
depends on BR2_ARM_CPU_HAS_FPV5
select BR2_ARCH_NEEDS_GCC_AT_LEAST_5
help
This option allows to use the FPv5-DP (double precision)
floating point unit, as available in some ARMv7m processors
(Cortex-M7).
Note that if you want binary code that works on the earlier
Cortex-M4, you should instead select FPv4-D16.
config BR2_ARM_FPU_FP_ARMV8
bool "FP-ARMv8"
depends on BR2_ARM_CPU_HAS_FP_ARMV8
@ -716,6 +786,7 @@ config BR2_GCC_TARGET_CPU
# armv7m
default "cortex-m3" if BR2_cortex_m3
default "cortex-m4" if BR2_cortex_m4
default "cortex-m7" if BR2_cortex_m7
# armv8a
default "cortex-a32" if BR2_cortex_a32
default "cortex-a35" if BR2_cortex_a35
@ -746,7 +817,6 @@ config BR2_GCC_TARGET_ABI
default "lp64" if BR2_aarch64 || BR2_aarch64_be
config BR2_GCC_TARGET_FPU
depends on BR2_arm || BR2_armeb
default "vfp" if BR2_ARM_FPU_VFPV2
default "vfpv3" if BR2_ARM_FPU_VFPV3
default "vfpv3-d16" if BR2_ARM_FPU_VFPV3D16
@ -754,8 +824,12 @@ config BR2_GCC_TARGET_FPU
default "vfpv4-d16" if BR2_ARM_FPU_VFPV4D16
default "neon" if BR2_ARM_FPU_NEON
default "neon-vfpv4" if BR2_ARM_FPU_NEON_VFPV4
default "fpv4-sp-d16" if BR2_ARM_FPU_FPV4D16
default "fpv5-sp-d16" if BR2_ARM_FPU_FPV5D16
default "fpv5-d16" if BR2_ARM_FPU_FPV5DPD16
default "fp-armv8" if BR2_ARM_FPU_FP_ARMV8
default "neon-fp-armv8" if BR2_ARM_FPU_NEON_FP_ARMV8
depends on BR2_arm || BR2_armeb
config BR2_GCC_TARGET_FLOAT_ABI
default "soft" if BR2_ARM_SOFT_FLOAT

View File

@ -1,102 +0,0 @@
choice
prompt "Target CPU"
depends on BR2_bfin
default BR2_bf532
help
Specify target CPU
config BR2_bf512
bool "bf512"
config BR2_bf514
bool "bf514"
config BR2_bf516
bool "bf516"
config BR2_bf518
bool "bf518"
config BR2_bf522
bool "bf522"
config BR2_bf523
bool "bf523"
config BR2_bf524
bool "bf524"
config BR2_bf525
bool "bf525"
config BR2_bf526
bool "bf526"
config BR2_bf527
bool "bf527"
config BR2_bf531
bool "bf531"
config BR2_bf532
bool "bf532"
config BR2_bf533
bool "bf533"
config BR2_bf534
bool "bf534"
config BR2_bf536
bool "bf536"
config BR2_bf537
bool "bf537"
config BR2_bf538
bool "bf538"
config BR2_bf539
bool "bf539"
config BR2_bf542
bool "bf542"
config BR2_bf544
bool "bf544"
config BR2_bf547
bool "bf547"
config BR2_bf548
bool "bf548"
config BR2_bf549
bool "bf549"
config BR2_bf561
bool "bf561"
endchoice
config BR2_ARCH
default "bfin"
config BR2_ENDIAN
default "LITTLE"
config BR2_GCC_TARGET_CPU
default bf606 if BR2_bf606
default bf607 if BR2_bf607
default bf608 if BR2_bf608
default bf609 if BR2_bf609
default bf512 if BR2_bf512
default bf514 if BR2_bf514
default bf516 if BR2_bf516
default bf518 if BR2_bf518
default bf522 if BR2_bf522
default bf523 if BR2_bf523
default bf524 if BR2_bf524
default bf525 if BR2_bf525
default bf526 if BR2_bf526
default bf527 if BR2_bf527
default bf531 if BR2_bf531
default bf532 if BR2_bf532
default bf533 if BR2_bf533
default bf534 if BR2_bf534
default bf536 if BR2_bf536
default bf537 if BR2_bf537
default bf538 if BR2_bf538
default bf539 if BR2_bf539
default bf542 if BR2_bf542
default bf544 if BR2_bf544
default bf547 if BR2_bf547
default bf548 if BR2_bf548
default bf549 if BR2_bf549
default bf561 if BR2_bf561
config BR2_GCC_TARGET_CPU_REVISION
string "Target CPU revision"
help
Specify a target CPU revision, which will be appended to the
value of the -mcpu option. For example, if the selected CPU is
bf609, and then selected CPU revision is "0.0", then gcc will
receive the -mcpu=bf609-0.0 option.
config BR2_READELF_ARCH_NAME
default "Analog Devices Blackfin"

View File

@ -15,8 +15,8 @@ config BR2_m68k_cf
# coldfire variants will be added later
choice
prompt "Target CPU"
depends on BR2_m68k
default BR2_m68k_68040
depends on BR2_m68k
help
Specific CPU variant to use

View File

@ -28,9 +28,9 @@ config BR2_MIPS_CPU_MIPS64R6
choice
prompt "Target Architecture Variant"
depends on BR2_mips || BR2_mipsel || BR2_mips64 || BR2_mips64el
default BR2_mips_32 if BR2_mips || BR2_mipsel
default BR2_mips_64 if BR2_mips64 || BR2_mips64el
depends on BR2_mips || BR2_mipsel || BR2_mips64 || BR2_mips64el
help
Specific CPU variant to use
@ -115,11 +115,10 @@ config BR2_mips_p6600
select BR2_MIPS_CPU_MIPS64R6
endchoice
choice
prompt "Target ABI"
depends on BR2_mips64 || BR2_mips64el
default BR2_MIPS_NABI32
depends on BR2_mips64 || BR2_mips64el
help
Application Binary Interface to use
@ -145,11 +144,11 @@ config BR2_MIPS_SOFT_FLOAT
choice
prompt "FP mode"
depends on !BR2_ARCH_IS_64 && !BR2_MIPS_SOFT_FLOAT
default BR2_MIPS_FP32_MODE_XX
depends on !BR2_ARCH_IS_64 && !BR2_MIPS_SOFT_FLOAT
help
MIPS32 supports different FP modes (32,xx,64). Information about FP
modes can be found here:
MIPS32 supports different FP modes (32,xx,64). Information
about FP modes can be found here:
https://sourceware.org/binutils/docs/as/MIPS-Options.html
https://dmz-portal.imgtec.com/wiki/MIPS_O32_ABI_-_FR0_and_FR1_Interlinking#5._Generating_modeless_code
@ -180,8 +179,8 @@ config BR2_MIPS_NAN_2008
choice
prompt "Target NaN"
depends on BR2_mips_32r5 || BR2_mips_64r5
default BR2_MIPS_ENABLE_NAN_2008
depends on BR2_mips_32r5 || BR2_mips_64r5
help
MIPS supports two different NaN encodings, legacy and 2008.
Information about MIPS NaN encodings can be found here:

View File

@ -71,12 +71,12 @@ config BR2_powerpc_740
depends on !BR2_ARCH_IS_64
config BR2_powerpc_7400
bool "7400"
select BR2_POWERPC_CPU_HAS_ALTIVEC
depends on !BR2_ARCH_IS_64
select BR2_POWERPC_CPU_HAS_ALTIVEC
config BR2_powerpc_7450
bool "7450"
select BR2_POWERPC_CPU_HAS_ALTIVEC
depends on !BR2_ARCH_IS_64
select BR2_POWERPC_CPU_HAS_ALTIVEC
config BR2_powerpc_750
bool "750"
depends on !BR2_ARCH_IS_64

View File

@ -1,7 +1,7 @@
choice
prompt "Target Architecture Variant"
depends on BR2_sh
default BR2_sh4
depends on BR2_sh
help
Specific CPU variant to use

View File

@ -1,8 +1,8 @@
choice
prompt "Target Architecture Variant"
depends on BR2_sparc || BR2_sparc64
default BR2_sparc_v8 if BR2_sparc
default BR2_sparc_v9 if BR2_sparc64
depends on BR2_sparc || BR2_sparc64
help
Specific CPU variant to use

View File

@ -20,8 +20,8 @@ config BR2_X86_CPU_HAS_AVX2
choice
prompt "Target Architecture Variant"
depends on BR2_i386 || BR2_x86_64
default BR2_x86_i586 if BR2_i386
depends on BR2_i386 || BR2_x86_64
help
Specific CPU variant to use
@ -50,35 +50,35 @@ config BR2_x86_pentiumpro
depends on !BR2_x86_64
config BR2_x86_pentium_mmx
bool "pentium MMX"
select BR2_X86_CPU_HAS_MMX
depends on !BR2_x86_64
select BR2_X86_CPU_HAS_MMX
config BR2_x86_pentium_m
bool "pentium mobile"
depends on !BR2_x86_64
select BR2_X86_CPU_HAS_MMX
select BR2_X86_CPU_HAS_SSE
depends on !BR2_x86_64
config BR2_x86_pentium2
bool "pentium2"
select BR2_X86_CPU_HAS_MMX
depends on !BR2_x86_64
select BR2_X86_CPU_HAS_MMX
config BR2_x86_pentium3
bool "pentium3"
depends on !BR2_x86_64
select BR2_X86_CPU_HAS_MMX
select BR2_X86_CPU_HAS_SSE
depends on !BR2_x86_64
config BR2_x86_pentium4
bool "pentium4"
depends on !BR2_x86_64
select BR2_X86_CPU_HAS_MMX
select BR2_X86_CPU_HAS_SSE
select BR2_X86_CPU_HAS_SSE2
depends on !BR2_x86_64
config BR2_x86_prescott
bool "prescott"
depends on !BR2_x86_64
select BR2_X86_CPU_HAS_MMX
select BR2_X86_CPU_HAS_SSE
select BR2_X86_CPU_HAS_SSE2
select BR2_X86_CPU_HAS_SSE3
depends on !BR2_x86_64
config BR2_x86_nocona
bool "nocona"
select BR2_X86_CPU_HAS_MMX
@ -140,21 +140,21 @@ config BR2_x86_silvermont
select BR2_X86_CPU_HAS_SSE42
config BR2_x86_k6
bool "k6"
select BR2_X86_CPU_HAS_MMX
depends on !BR2_x86_64
select BR2_X86_CPU_HAS_MMX
config BR2_x86_k6_2
bool "k6-2"
select BR2_X86_CPU_HAS_MMX
depends on !BR2_x86_64
select BR2_X86_CPU_HAS_MMX
config BR2_x86_athlon
bool "athlon"
select BR2_X86_CPU_HAS_MMX
depends on !BR2_x86_64
select BR2_X86_CPU_HAS_MMX
config BR2_x86_athlon_4
bool "athlon-4"
depends on !BR2_x86_64
select BR2_X86_CPU_HAS_MMX
select BR2_X86_CPU_HAS_SSE
depends on !BR2_x86_64
config BR2_x86_opteron
bool "opteron"
select BR2_X86_CPU_HAS_MMX
@ -198,21 +198,21 @@ config BR2_x86_geode
depends on !BR2_x86_64
config BR2_x86_c3
bool "Via/Cyrix C3 (Samuel/Ezra cores)"
select BR2_X86_CPU_HAS_MMX
depends on !BR2_x86_64
select BR2_X86_CPU_HAS_MMX
config BR2_x86_c32
bool "Via C3-2 (Nehemiah cores)"
depends on !BR2_x86_64
select BR2_X86_CPU_HAS_MMX
select BR2_X86_CPU_HAS_SSE
depends on !BR2_x86_64
config BR2_x86_winchip_c6
bool "IDT Winchip C6"
select BR2_X86_CPU_HAS_MMX
depends on !BR2_x86_64
select BR2_X86_CPU_HAS_MMX
config BR2_x86_winchip2
bool "IDT Winchip 2"
select BR2_X86_CPU_HAS_MMX
depends on !BR2_x86_64
select BR2_X86_CPU_HAS_MMX
endchoice
config BR2_ARCH

View File

@ -1,15 +1,15 @@
choice
prompt "Target Architecture Variant"
depends on BR2_xtensa
default BR2_xtensa_fsf
depends on BR2_xtensa
config BR2_XTENSA_CUSTOM
select BR2_ARCH_HAS_MMU_OPTIONAL
bool "Custom Xtensa processor configuration"
select BR2_ARCH_HAS_MMU_OPTIONAL
config BR2_xtensa_fsf
select BR2_ARCH_HAS_MMU_MANDATORY
bool "fsf - Default configuration"
select BR2_ARCH_HAS_MMU_MANDATORY
endchoice
@ -20,18 +20,18 @@ config BR2_XTENSA_OVERLAY_FILE
Enter the path to the overlay tarball for a custom processor
configuration.
These overlay files are tar packages with updated configuration
files for various toolchain packages and Xtensa processor
configurations. They are provided by the processor vendor or
directly from Tensilica.
These overlay files are tar packages with updated
configuration files for various toolchain packages and Xtensa
processor configurations. They are provided by the processor
vendor or directly from Tensilica.
The path can be either absolute, or relative to the top directory
of buildroot.
The path can be either absolute, or relative to the top
directory of buildroot.
choice
prompt "Target Architecture Endianness"
depends on BR2_XTENSA_CUSTOM
default BR2_XTENSA_LITTLE_ENDIAN
depends on BR2_XTENSA_CUSTOM
config BR2_XTENSA_LITTLE_ENDIAN
bool "Little endian"

View File

@ -12,7 +12,7 @@
BR_ARCH_XTENSA_OVERLAY_FILE = $(call qstrip,$(BR2_XTENSA_OVERLAY_FILE))
ifneq ($(filter http://% https://% ftp://% scp://%,$(BR_ARCH_XTENSA_OVERLAY_FILE)),)
ARCH_XTENSA_OVERLAY_URL = $(BR_ARCH_XTENSA_OVERLAY_FILE)
ARCH_XTENSA_OVERLAY_FILE = $(DL_DIR)/$(notdir $(BR_ARCH_XTENSA_OVERLAY_FILE))
ARCH_XTENSA_OVERLAY_FILE = $($(PKG)_DL_DIR)/$(notdir $(BR_ARCH_XTENSA_OVERLAY_FILE))
# Do not check that file, we can't know its hash
BR_NO_CHECK_HASH_FOR += $(notdir $(ARCH_XTENSA_OVERLAY_URL))
else

View File

@ -71,6 +71,14 @@ config BR2_TARGET_ARM_TRUSTED_FIRMWARE_BL31
typically used on platforms where another bootloader (e.g
U-Boot) encapsulates ATF BL31.
config BR2_TARGET_ARM_TRUSTED_FIRMWARE_BL31_UBOOT
bool "Build BL31 U-Boot image"
select BR2_TARGET_ARM_TRUSTED_FIRMWARE_BL31
help
Generates a U-Boot image named atf-uboot.ub containing
bl31.bin. This is used for example by the Xilinx version of
U-Boot SPL to load ATF on the ZynqMP SoC.
config BR2_TARGET_ARM_TRUSTED_FIRMWARE_UBOOT_AS_BL33
bool "Use U-Boot as BL33"
depends on BR2_TARGET_UBOOT

View File

@ -25,6 +25,7 @@ endif
ARM_TRUSTED_FIRMWARE_INSTALL_IMAGES = YES
ARM_TRUSTED_FIRMWARE_PLATFORM = $(call qstrip,$(BR2_TARGET_ARM_TRUSTED_FIRMWARE_PLATFORM))
ARM_TRUSTED_FIRMWARE_IMG_DIR = $(@D)/build/$(ARM_TRUSTED_FIRMWARE_PLATFORM)/release
ARM_TRUSTED_FIRMWARE_MAKE_OPTS += \
CROSS_COMPILE="$(TARGET_CROSS)" \
@ -74,15 +75,36 @@ ifeq ($(BR2_TARGET_ARM_TRUSTED_FIRMWARE_BL31),y)
ARM_TRUSTED_FIRMWARE_MAKE_TARGETS += bl31
endif
ifeq ($(BR2_TARGET_ARM_TRUSTED_FIRMWARE_BL31_UBOOT),y)
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 \
-a $${BASE_ADDR} -e $${BASE_ADDR} \
-d $(ARM_TRUSTED_FIRMWARE_IMG_DIR)/bl31.bin \
$(ARM_TRUSTED_FIRMWARE_IMG_DIR)/atf-uboot.ub
endef
define ARM_TRUSTED_FIRMWARE_BL31_UBOOT_INSTALL
$(INSTALL) -m 0644 $(ARM_TRUSTED_FIRMWARE_IMG_DIR)/atf-uboot.ub \
$(BINARIES_DIR)/atf-uboot.ub
endef
ARM_TRUSTED_FIRMWARE_MAKE_OPTS += RESET_TO_BL31=1
ARM_TRUSTED_FIRMWARE_DEPENDENCIES += host-uboot-tools
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)
$(ARM_TRUSTED_FIRMWARE_BL31_UBOOT_BUILD)
endef
define ARM_TRUSTED_FIRMWARE_INSTALL_IMAGES_CMDS
cp -dpf $(@D)/build/$(ARM_TRUSTED_FIRMWARE_PLATFORM)/release/*.bin $(BINARIES_DIR)/
cp -dpf $(ARM_TRUSTED_FIRMWARE_IMG_DIR)/*.bin $(BINARIES_DIR)/
$(ARM_TRUSTED_FIRMWARE_BL31_UBOOT_INSTALL)
endef
# Configuration check

View File

@ -1,12 +1,14 @@
config BR2_TARGET_AT91BOOTSTRAP
depends on BR2_arm926t
bool "AT91 Bootstrap"
depends on BR2_arm926t
help
AT91Bootstrap is a first level bootloader for the Atmel AT91
devices. It integrates algorithms for:
- Device initialization such as clock configuration, PIO settings...
- Device initialization such as clock configuration, PIO
settings...
- Peripheral drivers such as PIO, PMC or SDRAMC...
- Physical media algorithm such as DataFlash, NandFlash, NOR Flash...
- Physical media algorithm such as DataFlash, NandFlash, NOR
Flash...
if BR2_TARGET_AT91BOOTSTRAP

View File

@ -17,7 +17,7 @@ AT91BOOTSTRAP_INSTALL_IMAGES = YES
AT91BOOTSTRAP_INSTALL_TARGET = NO
define AT91BOOTSTRAP_EXTRACT_CMDS
$(UNZIP) -d $(BUILD_DIR) $(DL_DIR)/$(AT91BOOTSTRAP_SOURCE)
$(UNZIP) -d $(BUILD_DIR) $(AT91BOOTSTRAP_DL_DIR)/$(AT91BOOTSTRAP_SOURCE)
mv $(BUILD_DIR)/Bootstrap-v$(AT91BOOTSTRAP_VERSION)/* $(@D)
rmdir $(BUILD_DIR)/Bootstrap-v$(AT91BOOTSTRAP_VERSION)
endef

View File

@ -1,12 +1,16 @@
config BR2_TARGET_AT91BOOTSTRAP3
depends on BR2_arm926t || BR2_cortex_a5
bool "AT91 Bootstrap 3"
depends on BR2_arm926t || BR2_cortex_a5
help
AT91Bootstrap is a first level bootloader for the Atmel AT91
devices. It integrates algorithms for:
- Device initialization such as clock configuration, PIO settings...
- Device initialization such as clock configuration, PIO
settings...
- Peripheral drivers such as PIO, PMC or SDRAMC...
- Physical media algorithm such as DataFlash, NandFlash, NOR Flash...
- Physical media algorithm such as DataFlash, NandFlash, NOR
Flash...
https://www.at91.com/linux4sam/bin/view/Linux4SAM/AT91Bootstrap
https://www.at91.com/linux4sam/bin/view/Linux4SAM/AT91Bootstrap
@ -22,8 +26,8 @@ config BR2_TARGET_AT91BOOTSTRAP3_LATEST_VERSION
config BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_GIT
bool "Custom Git repository"
help
This option allows Buildroot to get the AT91 Bootstrap 3 source
code from a Git repository.
This option allows Buildroot to get the AT91 Bootstrap 3
source code from a Git repository.
endchoice

View File

@ -1,3 +1,3 @@
config BR2_TARGET_AT91DATAFLASHBOOT
depends on BR2_arm926t
bool "AT91 DataFlashBoot"
depends on BR2_arm926t

View File

@ -17,7 +17,6 @@ config BR2_TARGET_BAREBOX_BOARD_DEFCONFIG
Name of the board for which Barebox should be built, without
the _defconfig suffix.
config BR2_TARGET_BAREBOX_CUSTOM_CONFIG_FILE
string "Configuration file path"
depends on BR2_TARGET_BAREBOX_USE_CUSTOM_CONFIG

View File

@ -1,6 +1,6 @@
config BR2_TARGET_LPC32XXCDL
depends on BR2_arm926t
bool "LPC32XX CDL (kickstart and S1L)"
depends on BR2_arm926t
if BR2_TARGET_LPC32XXCDL

View File

@ -33,10 +33,10 @@ LPC32XXCDL_S1L_BURNER = nand/s1lapp_jtag
endif
LPC32XXCDL_BUILD_FLAGS = \
CROSS_COMPILE=$(TARGET_CROSS) \
NXPMCU_WINBASE=$(@D) \
NXPMCU_SOFTWARE=$(@D) \
BSP=$(BR2_TARGET_LPC32XXCDL_BOARDNAME) \
CROSS_COMPILE=$(TARGET_CROSS) \
NXPMCU_WINBASE=$(@D) \
NXPMCU_SOFTWARE=$(@D) \
BSP=$(BR2_TARGET_LPC32XXCDL_BOARDNAME) \
CSP=lpc32xx TOOL=gnu GEN=lpc
LPC32XXCDL_BOARD_STARTUP_DIR = \

View File

@ -24,8 +24,8 @@ config BR2_TARGET_MXS_BOOTLETS_CUSTOM_GIT
endchoice
config BR2_TARGET_MXS_BOOTLETS_CUSTOM_TARBALL_URL
depends on BR2_TARGET_MXS_BOOTLETS_CUSTOM_TARBALL
string "URL of custom bootlets tarball"
depends on BR2_TARGET_MXS_BOOTLETS_CUSTOM_TARBALL
if BR2_TARGET_MXS_BOOTLETS_CUSTOM_GIT
@ -43,16 +43,16 @@ choice
Select which bootstream to generate
config BR2_TARGET_MXS_BOOTLETS_BAREBOX
depends on BR2_TARGET_BAREBOX
bool "Barebox Bootloader"
depends on BR2_TARGET_BAREBOX
config BR2_TARGET_MXS_BOOTLETS_LINUX
depends on BR2_LINUX_KERNEL
bool "Linux Kernel"
depends on BR2_LINUX_KERNEL
config BR2_TARGET_MXS_BOOTLETS_UBOOT
depends on BR2_TARGET_UBOOT
bool "U-boot bootloader"
depends on BR2_TARGET_UBOOT
endchoice

View File

@ -0,0 +1,53 @@
From 4df2e7c0ae84bfbdba0ed285c0664aa089b38b7e Mon Sep 17 00:00:00 2001
From: Carlos Santos <casantos@datacom.ind.br>
Date: Sat, 30 Sep 2017 19:49:55 -0300
Subject: [PATCH] extlinux: Use the host toolchain to build.
It is meant to run on the host machine, hence must be built using the
host toolchain.
Signed-off-by: Carlos Santos <casantos@datacom.ind.br>
---
extlinux/Makefile | 12 ++++++------
1 file changed, 6 insertions(+), 6 deletions(-)
diff --git a/extlinux/Makefile b/extlinux/Makefile
index 02d1db51..5c4baa5a 100644
--- a/extlinux/Makefile
+++ b/extlinux/Makefile
@@ -18,9 +18,9 @@ include $(MAKEDIR)/syslinux.mk
OPTFLAGS = -g -Os
INCLUDES = -I$(SRC) -I$(objdir) -I$(SRC)/../libinstaller
-CFLAGS = $(GCCWARN) -Wno-sign-compare -D_FILE_OFFSET_BITS=64 \
+CFLAGS = $(CFLAGS_FOR_BUILD) $(GCCWARN) -Wno-sign-compare -D_FILE_OFFSET_BITS=64 \
$(OPTFLAGS) $(INCLUDES)
-LDFLAGS =
+LDFLAGS = $(LDFLAGS_FOR_BUILD)
SRCS = main.c \
mountinfo.c \
@@ -52,16 +52,16 @@ spotless: clean
installer: extlinux
extlinux: $(OBJS)
- $(CC) $(LDFLAGS) -o $@ $^
+ $(CC_FOR_BUILD) $(LDFLAGS) -o $@ $^
strip:
$(STRIP) extlinux
%.o: %.c
- $(CC) $(UMAKEDEPS) $(CFLAGS) -c -o $@ $<
+ $(CC_FOR_BUILD) $(UMAKEDEPS) $(CFLAGS) -c -o $@ $<
%.i: %.c
- $(CC) $(UMAKEDEPS) $(CFLAGS) -E -o $@ $<
+ $(CC_FOR_BUILD) $(UMAKEDEPS) $(CFLAGS) -E -o $@ $<
%.s: %.c
- $(CC) $(UMAKEDEPS) $(CFLAGS) -S -o $@ $<
+ $(CC_FOR_BUILD) $(UMAKEDEPS) $(CFLAGS) -S -o $@ $<
-include .*.d
--
2.13.5

View File

@ -48,7 +48,6 @@ config BR2_TARGET_SYSLINUX_EFI
help
Install the 'efi' image, to boot from an EFI environment.
if BR2_TARGET_SYSLINUX_LEGACY_BIOS
config BR2_TARGET_SYSLINUX_C32

View File

@ -59,7 +59,7 @@ define SYSLINUX_BUILD_CMDS
CC_FOR_BUILD="$(HOSTCC)" \
CFLAGS_FOR_BUILD="$(HOST_CFLAGS)" \
LDFLAGS_FOR_BUILD="$(HOST_LDFLAGS)" \
$(SYSLINUX_EFI_ARGS) -C $(@D) $(SYSLINUX_TARGET)
$(SYSLINUX_EFI_ARGS) -C $(@D) $(SYSLINUX_TARGET)
endef
# While the actual bootloader is compiled for the target, several

View File

@ -6,19 +6,20 @@ config BR2_TARGET_UBOOT
if BR2_TARGET_UBOOT
choice
prompt "Build system"
default BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG if BR2_TARGET_UBOOT_LATEST_VERSION
default BR2_TARGET_UBOOT_BUILD_SYSTEM_LEGACY
config BR2_TARGET_UBOOT_BUILD_SYSTEM_LEGACY
bool "Legacy"
help
Select this option if you use an old U-Boot (older than 2015.04),
so that we use the old build system.
config BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG
bool "Kconfig"
help
Select this option if you use a recent U-Boot version (2015.04 or
newer), so that we use the Kconfig build system.
Select this option if you use a recent U-Boot version (2015.04
or newer), so that we use the Kconfig build system.
config BR2_TARGET_UBOOT_BUILD_SYSTEM_LEGACY
bool "Legacy"
help
Select this option if you use an old U-Boot (older than
2015.04), so that we use the old build system.
endchoice
@ -27,9 +28,9 @@ config BR2_TARGET_UBOOT_BOARDNAME
string "U-Boot board name"
help
One of U-Boot supported boards to be built.
This will be suffixed with _config to meet U-Boot standard naming.
See boards.cfg in U-Boot source code for the list of available
configurations.
This will be suffixed with _config to meet U-Boot standard
naming. See boards.cfg in U-Boot source code for the list of
available configurations.
endif
choice
@ -38,7 +39,7 @@ choice
Select the specific U-Boot version you want to use
config BR2_TARGET_UBOOT_LATEST_VERSION
bool "2018.01"
bool "2018.07"
config BR2_TARGET_UBOOT_CUSTOM_VERSION
bool "Custom version"
@ -79,14 +80,14 @@ config BR2_TARGET_UBOOT_CUSTOM_REPO_VERSION
default BR2_TARGET_UBOOT_CUSTOM_GIT_VERSION \
if BR2_TARGET_UBOOT_CUSTOM_GIT_VERSION != "" # legacy
help
Revision to use in the typical format used by Git/Mercurial/Subversion
E.G. a sha id, a tag, branch, ..
Revision to use in the typical format used by
Git/Mercurial/Subversion E.G. a sha id, a tag, branch, ..
endif
config BR2_TARGET_UBOOT_VERSION
string
default "2018.01" if BR2_TARGET_UBOOT_LATEST_VERSION
default "2018.07" 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
@ -189,6 +190,9 @@ config BR2_TARGET_UBOOT_FORMAT_DTB_BIN
config BR2_TARGET_UBOOT_FORMAT_DTB_IMG
bool "u-boot-dtb.img"
config BR2_TARGET_UBOOT_FORMAT_DTB_IMX
bool "u-boot-dtb.imx"
config BR2_TARGET_UBOOT_FORMAT_IMG
bool "u-boot.img"
@ -199,23 +203,19 @@ config BR2_TARGET_UBOOT_FORMAT_NAND_BIN
bool "u-boot-nand.bin"
config BR2_TARGET_UBOOT_FORMAT_KWB
depends on BR2_arm
bool "u-boot.kwb (Marvell)"
config BR2_TARGET_UBOOT_FORMAT_LDR
depends on BR2_bfin
bool "u-boot.ldr"
depends on BR2_arm
config BR2_TARGET_UBOOT_FORMAT_ELF
bool "u-boot.elf"
config BR2_TARGET_UBOOT_FORMAT_SB
depends on BR2_arm
bool "u-boot.sb (Freescale i.MX28)"
depends on BR2_arm
config BR2_TARGET_UBOOT_FORMAT_SD
depends on BR2_arm
bool "u-boot.sd (Freescale i.MX28)"
depends on BR2_arm
help
This is Freescale i.MX28 SB format, with a header for booting
from an SD card.
@ -226,28 +226,28 @@ config BR2_TARGET_UBOOT_FORMAT_SD
See doc/README.mxs (or doc/README.mx28_common before 2013.07)
config BR2_TARGET_UBOOT_FORMAT_NAND
depends on BR2_arm
bool "u-boot.nand (Freescale i.MX28)"
depends on BR2_arm
help
This is Freescale i.MX28 BootStream format (.sb), with a header
for booting from a NAND flash.
This is Freescale i.MX28 BootStream format (.sb), with a
header for booting from a NAND flash.
U-boot includes an mxsboot tool to generate this format,
starting from 2011.12.
There are two possibilities when preparing an image writable to
NAND flash:
1) The NAND was not written at all yet or the BCB (Boot Control
Blocks) is broken. In this case, the NAND image 'u-boot.nand'
needs to written.
There are two possibilities when preparing an image writable
to NAND flash:
1) The NAND was not written at all yet or the BCB (Boot
Control Blocks) is broken. In this case, the NAND image
'u-boot.nand' needs to written.
2) The NAND flash was already written with a good BCB. This
applies after 'u-boot.nand' was correctly written. There is no
need to write the BCB again. In this case, the bootloader can be
upgraded by writing 'u-boot.sb'.
need to write the BCB again. In this case, the bootloader can
be upgraded by writing 'u-boot.sb'.
To satisfy both cases, the 'u-boot.nand' image obtained from
mxsboot as well as the U-Boot make target 'u-boot.sb' are copied
to the binaries directory.
mxsboot as well as the U-Boot make target 'u-boot.sb' are
copied to the binaries directory.
See doc/README.mxs (or doc/README.mx28_common before 2013.07)
@ -295,7 +295,8 @@ config BR2_TARGET_UBOOT_FORMAT_CUSTOM_NAME
depends on BR2_TARGET_UBOOT_FORMAT_CUSTOM
help
In case the U-Boot binary for the target platform is not among
the default names, one or more custom names can be listed here.
the default names, one or more custom names can be listed
here.
Use space to separate multiple names.
Example:
u-boot_magic.bin
@ -303,10 +304,10 @@ config BR2_TARGET_UBOOT_FORMAT_CUSTOM_NAME
endmenu
config BR2_TARGET_UBOOT_OMAP_IFT
bool "produce a .ift signed image (OMAP)"
depends on BR2_TARGET_UBOOT_FORMAT_BIN
depends on BR2_arm || BR2_armeb
select BR2_PACKAGE_HOST_OMAP_U_BOOT_UTILS
bool "produce a .ift signed image (OMAP)"
help
Use gpsign to produce an image of u-boot.bin signed with
a Configuration Header for booting on OMAP processors.
@ -367,6 +368,64 @@ config BR2_TARGET_UBOOT_ZYNQ_IMAGE
for u-boot-dtb.img file so this U-Boot format is required
to be set.
config BR2_TARGET_UBOOT_ZYNQMP
bool "Boot on the Xilinx ZynqMP SoCs"
depends on BR2_aarch64
help
Enable options specific to the Xilinx ZynqMP family of SoCs.
if BR2_TARGET_UBOOT_ZYNQMP
config BR2_TARGET_UBOOT_ZYNQMP_PMUFW
string "PMU firmware location"
depends on BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG
help
Location of a PMU firmware binary.
If not empty, instructs the U-Boot build process to generate
a boot.bin (to be loaded by the ZynqMP boot ROM) containing
both the U-Boot SPL and the PMU firmware in the
Xilinx-specific boot format.
The value can be an absolute or relative path, and will be
used directly from where it is located, or an URI
(e.g. http://...), and it will be downloaded and used from
the download directory.
If empty, the generated boot.bin will not contain a PMU
firmware.
This feature requires U-Boot >= 2018.07.
config BR2_TARGET_UBOOT_ZYNQMP_PSU_INIT_FILE
string "Custom psu_init_gpl file"
depends on BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG
help
On ZynqMP the booloader is responsible for some basic
initializations, such as enabling peripherals and
configuring pinmuxes. The psu_init_gpl.c file (and,
optionally, psu_init_gpl.h) contains the code for such
initializations.
Although U-Boot contains psu_init_gpl.c files for some
boards, each of them describes only one specific
configuration. Users of a different board, or needing a
different configuration, can generate custom files using the
Xilinx development tools.
Set this variable to the path to your psu_init_gpl.c file
(e.g. "board/myboard/psu_init_gpl.c"). psu_init_gpl.h, if
needed, should be in the same directory. U-Boot will build
and link the user-provided file instead of the built-in one.
Leave empty to use the files provided by U-Boot.
This feature requires commit
6da4f67ad09cd8b311d77b2b04e557b7ef65b56c from upstream
U-Boot, available from versions after 2018.07.
endif
config BR2_TARGET_UBOOT_ALTERA_SOCFPGA_IMAGE_CRC
bool "CRC image for Altera SoC FPGA (mkpimage)"
depends on BR2_arm

View File

@ -1,2 +1,2 @@
# Locally computed:
sha256 938f597394b33e82e5af8c98bd5ea1a238f61892aabef36384adbf7ca5b52dda u-boot-2018.01.tar.bz2
sha256 9f10df88bc91b35642e461217f73256bbaeeca9ae2db8db56197ba5e89e1f6d4 u-boot-2018.07.tar.bz2

View File

@ -61,10 +61,6 @@ UBOOT_BINS += u-boot.ais
UBOOT_MAKE_TARGET += u-boot.ais
endif
ifeq ($(BR2_TARGET_UBOOT_FORMAT_LDR),y)
UBOOT_BINS += u-boot.ldr
endif
ifeq ($(BR2_TARGET_UBOOT_FORMAT_NAND_BIN),y)
UBOOT_BINS += u-boot-nand.bin
endif
@ -74,6 +70,11 @@ UBOOT_BINS += u-boot-dtb.img
UBOOT_MAKE_TARGET += u-boot-dtb.img
endif
ifeq ($(BR2_TARGET_UBOOT_FORMAT_DTB_IMX),y)
UBOOT_BINS += u-boot-dtb.imx
UBOOT_MAKE_TARGET += u-boot-dtb.imx
endif
ifeq ($(BR2_TARGET_UBOOT_FORMAT_DTB_BIN),y)
UBOOT_BINS += u-boot-dtb.bin
UBOOT_MAKE_TARGET += u-boot-dtb.bin
@ -202,8 +203,8 @@ UBOOT_POST_PATCH_HOOKS += UBOOT_FIXUP_LIBFDT_INCLUDE
ifeq ($(BR2_TARGET_UBOOT_BUILD_SYSTEM_LEGACY),y)
define UBOOT_CONFIGURE_CMDS
$(TARGET_CONFIGURE_OPTS) \
$(MAKE) -C $(@D) $(UBOOT_MAKE_OPTS) \
$(TARGET_CONFIGURE_OPTS) \
$(MAKE) -C $(@D) $(UBOOT_MAKE_OPTS) \
$(UBOOT_BOARD_NAME)_config
endef
else ifeq ($(BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG),y)
@ -238,16 +239,16 @@ define UBOOT_BUILD_CMDS
$(if $(UBOOT_CUSTOM_DTS_PATH),
cp -f $(UBOOT_CUSTOM_DTS_PATH) $(@D)/arch/$(UBOOT_ARCH)/dts/
)
$(TARGET_CONFIGURE_OPTS) \
$(MAKE) -C $(@D) $(UBOOT_MAKE_OPTS) \
$(TARGET_CONFIGURE_OPTS) \
$(MAKE) -C $(@D) $(UBOOT_MAKE_OPTS) \
$(UBOOT_MAKE_TARGET)
$(if $(BR2_TARGET_UBOOT_FORMAT_SD),
$(@D)/tools/mxsboot sd $(@D)/u-boot.sb $(@D)/u-boot.sd)
$(if $(BR2_TARGET_UBOOT_FORMAT_NAND),
$(@D)/tools/mxsboot \
-w $(BR2_TARGET_UBOOT_FORMAT_NAND_PAGE_SIZE) \
-o $(BR2_TARGET_UBOOT_FORMAT_NAND_OOB_SIZE) \
-e $(BR2_TARGET_UBOOT_FORMAT_NAND_ERASE_SIZE) \
-w $(BR2_TARGET_UBOOT_FORMAT_NAND_PAGE_SIZE) \
-o $(BR2_TARGET_UBOOT_FORMAT_NAND_OOB_SIZE) \
-e $(BR2_TARGET_UBOOT_FORMAT_NAND_ERASE_SIZE) \
nand $(@D)/u-boot.sb $(@D)/u-boot.nand)
endef
@ -286,6 +287,35 @@ define UBOOT_INSTALL_IMAGES_CMDS
$(BINARIES_DIR)/boot.scr)
endef
ifeq ($(BR2_TARGET_UBOOT_ZYNQMP),y)
UBOOT_ZYNQMP_PMUFW = $(call qstrip,$(BR2_TARGET_UBOOT_ZYNQMP_PMUFW))
ifneq ($(findstring ://,$(UBOOT_ZYNQMP_PMUFW)),)
UBOOT_EXTRA_DOWNLOADS += $(UBOOT_ZYNQMP_PMUFW)
BR_NO_CHECK_HASH_FOR += $(notdir $(UBOOT_ZYNQMP_PMUFW))
UBOOT_ZYNQMP_PMUFW_PATH = $(UBOOT_DL_DIR)/$(notdir $(UBOOT_ZYNQMP_PMUFW))
else ifneq ($(UBOOT_ZYNQMP_PMUFW),)
UBOOT_ZYNQMP_PMUFW_PATH = $(shell readlink -f $(UBOOT_ZYNQMP_PMUFW))
endif
define UBOOT_ZYNQMP_KCONFIG_PMUFW
$(call KCONFIG_SET_OPT,CONFIG_PMUFW_INIT_FILE,"$(UBOOT_ZYNQMP_PMUFW_PATH)", \
$(@D)/.config)
endef
UBOOT_ZYNQMP_PSU_INIT = $(call qstrip,$(BR2_TARGET_UBOOT_ZYNQMP_PSU_INIT_FILE))
UBOOT_ZYNQMP_PSU_INIT_PATH = $(shell readlink -f $(UBOOT_ZYNQMP_PSU_INIT))
ifneq ($(UBOOT_ZYNQMP_PSU_INIT),)
define UBOOT_ZYNQMP_KCONFIG_PSU_INIT
$(call KCONFIG_SET_OPT,CONFIG_XILINX_PS_INIT_FILE,"$(UBOOT_ZYNQMP_PSU_INIT_PATH)", \
$(@D)/.config)
endef
endif
endif # BR2_TARGET_UBOOT_ZYNQMP
define UBOOT_INSTALL_OMAP_IFT_IMAGE
cp -dpf $(@D)/$(UBOOT_BIN_IFT) $(BINARIES_DIR)/
endef
@ -335,6 +365,11 @@ UBOOT_DEPENDENCIES += host-mkpimage
UBOOT_POST_INSTALL_IMAGES_HOOKS += UBOOT_CRC_ALTERA_SOCFPGA_IMAGE
endif
define UBOOT_KCONFIG_FIXUP_CMDS
$(UBOOT_ZYNQMP_KCONFIG_PMUFW)
$(UBOOT_ZYNQMP_KCONFIG_PSU_INIT)
endef
ifeq ($(BR2_TARGET_UBOOT_ENVIMAGE),y)
ifeq ($(BR_BUILDING),y)
ifeq ($(call qstrip,$(BR2_TARGET_UBOOT_ENVIMAGE_SOURCE)),)
@ -412,7 +447,14 @@ endif # BR2_TARGET_UBOOT_CUSTOM_GIT || BR2_TARGET_UBOOT_CUSTOM_HG
endif # BR2_TARGET_UBOOT && BR_BUILDING
ifeq ($(BR2_TARGET_UBOOT_BUILD_SYSTEM_LEGACY),y)
UBOOT_DEPENDENCIES += \
$(BR2_BISON_HOST_DEPENDENCY) \
$(BR2_FLEX_HOST_DEPENDENCY)
$(eval $(generic-package))
else ifeq ($(BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG),y)
UBOOT_MAKE_ENV = $(TARGET_MAKE_ENV)
UBOOT_KCONFIG_DEPENDENCIES = \
$(BR2_BISON_HOST_DEPENDENCY) \
$(BR2_FLEX_HOST_DEPENDENCY)
$(eval $(kconfig-package))
endif # BR2_TARGET_UBOOT_BUILD_SYSTEM_LEGACY

View File

@ -292,13 +292,13 @@ use in the comment.
* Kernel headers
** Dependency symbol: +BR2_TOOLCHAIN_HEADERS_AT_LEAST_X_Y+, (replace
+X_Y+ with the proper version, see +toolchain/toolchain-common.in+)
+X_Y+ with the proper version, see +toolchain/Config.in+)
** Comment string: +headers >= X.Y+ and/or `headers <= X.Y` (replace
+X.Y+ with the proper version)
* GCC version
** Dependency symbol: +BR2_TOOLCHAIN_GCC_AT_LEAST_X_Y+, (replace
+X_Y+ with the proper version, see +toolchain/toolchain-common.in+)
+X_Y+ with the proper version, see +toolchain/Config.in+)
** Comment string: +gcc >= X.Y+ and/or `gcc <= X.Y` (replace
+X.Y+ with the proper version)

View File

@ -179,8 +179,10 @@ some tools to be installed on the host. If the package name is
variables of other packages, if they depend on +libfoo+ or
+host-libfoo+.
The call to the +generic-package+ and/or +host-generic-package+ macro *must* be
at the end of the +.mk+ file, after all variable definitions.
The call to the +generic-package+ and/or +host-generic-package+ macro
*must* be at the end of the +.mk+ file, after all variable definitions.
The call to +host-generic-package+ *must* be after the call to
+generic-package+, if any.
For the target package, the +generic-package+ uses the variables defined by
the .mk file and prefixed by the uppercased package name:
@ -276,7 +278,7 @@ not and can not work as people would expect it should:
the file using this URL. Otherwise, Buildroot will assume the file
to be downloaded is located at +LIBFOO_SITE+. Buildroot will not do
anything with those additional files, except download them: it will
be up to the package recipe to use them from +$(DL_DIR)+.
be up to the package recipe to use them from +$(LIBFOO_DL_DIR)+.
* +LIBFOO_SITE_METHOD+ determines the method used to fetch or copy the
package source code. In many cases, Buildroot guesses the method
@ -360,6 +362,13 @@ not and can not work as people would expect it should:
a similar way, +HOST_LIBFOO_DEPENDENCIES+ lists the dependencies for
the current host package.
* +LIBFOO_EXTRACT_DEPENDENCIES+ lists the dependencies (in terms of
package name) that are required for the current target package to be
extracted. These dependencies are guaranteed to be compiled and
installed before the extract step of the current package
starts. This is only used internally by the package infrastructure,
and should typically not be used directly by packages.
* +LIBFOO_PATCH_DEPENDENCIES+ lists the dependencies (in terms of
package name) that are required for the current package to be
patched. These dependencies are guaranteed to be extracted and
@ -560,8 +569,8 @@ In the action definitions, you can use the following variables:
* +$(@D)+, which contains the directory in which the package source
code has been uncompressed.
* +$(DL_DIR)+ contains the path to the directory where all the downloads made
by Buildroot are stored.
* +$(LIBFOO_DL_DIR)+ contains the path to the directory where all the downloads
made by Buildroot for +libfoo+ are stored in.
* +$(TARGET_CC)+, +$(TARGET_LD)+, etc. to get the target
cross-compilation utilities

View File

@ -0,0 +1,119 @@
// -*- mode:doc; -*-
// vim: set syntax=asciidoc:
=== Infrastructure for Go packages
This infrastructure applies to Go packages that use the standard
build system and use bundled dependencies.
[[golang-package-tutorial]]
==== +golang-package+ tutorial
First, let's see how to write a +.mk+ file for a go package,
with an example :
------------------------
01: ################################################################################
02: #
03: # foo
04: #
05: ################################################################################
06:
07: FOO_VERSION = 1.0
08: FOO_SITE = $(call github,bar,foo,$(FOO_VERSION))
09: FOO_LICENSE = BSD-3-Clause
10: FOO_LICENSE_FILES = LICENSE
11:
12: $(eval $(golang-package))
------------------------
On line 7, we declare the version of the package.
On line 8, we declare the upstream location of the package, here
fetched from Github, since a large number of Go packages are hosted on
Github.
On line 9 and 10, we give licensing details about the package.
Finally, on line 12, we invoke the +golang-package+ macro that
generates all the Makefile rules that actually allow the package to be
built.
[[golang-package-reference]]
==== +golang-package+ reference
In their +Config.in+ file, packages using the +golang-package+
infrastructure should depend on +BR2_PACKAGE_HOST_GO_ARCH_SUPPORTS+
and +BR2_PACKAGE_HOST_GO_CGO_LINKING_SUPPORTS+ because Buildroot will
automatically add a dependency on +host-go+ to such packages.
The main macro of the Go package infrastructure is
+golang-package+. It is similar to the +generic-package+ macro. Only
target packages are supported with +golang-package+.
Just like the generic infrastructure, the Go infrastructure works
by defining a number of variables before calling the +golang-package+.
All the package metadata information variables that exist in the
xref:generic-package-reference[generic package infrastructure] also
exist in the Go infrastructure: +FOO_VERSION+, +FOO_SOURCE+,
+FOO_PATCH+, +FOO_SITE+, +FOO_SUBDIR+, +FOO_DEPENDENCIES+,
+FOO_LICENSE+, +FOO_LICENSE_FILES+, +FOO_INSTALL_STAGING+, etc.
Note that it is not necessary to add +host-go+ in the
+FOO_DEPENDENCIES+ variable of a package, since this basic dependency
is automatically added as needed by the Go package infrastructure.
A few additional variables, specific to the Go infrastructure, can
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.
* If your package need a custom +GOPATH+ to be compiled in, you can
use the +FOO_WORKSPACE+ variable. The +GOPATH+ being used will be
+<package-srcdir>/<FOO_WORKSPACE>+. If +FOO_WORKSPACE+ is not
specified, it defaults to +_gopath+.
* +FOO_SRC_SUBDIR+ is the sub-directory where your source will be
compiled relatively to the +GOPATH+. An example value is
+github.com/bar/foo+. If +FOO_SRC_SUBDIR+ is not specified, it
defaults to a value infered from the +FOO_SITE+ variable.
* +FOO_LDFLAGS+ and +FOO_TAGS+ can be used to pass respectively the
+LDFLAGS+ or the +TAGS+ to the +go+ build command.
* +FOO_BUILD_TARGETS+ can be used to pass the list of targets that
should be built. If +FOO_BUILD_TARGETS+ is not specified, it
defaults to +.+. We then have two cases:
** +FOO_BUILD_TARGETS+ is +.+. In this case, we assume only one binary
will be produced, and that by default we name it after the package
name. If that is not appropriate, the name of the produced binary
can be overridden using +FOO_BIN_NAME+.
** +FOO_BUILD_TARGETS+ is not +.+. In this case, we iterate over the
values to build each target, and for each produced a binary that is
the non-directory component of the target. For example if
+FOO_BUILD_TARGETS = cmd/docker cmd/dockerd+ the binaries produced
are +docker+ and +dockerd+.
* +FOO_INSTALL_BINS+ can be used to pass the list of binaries that
should be installed in +/usr/bin+ on the target. If
+FOO_INSTALL_BINS+ is not specified, it defaults to the lower-case
name of package.
With the Go infrastructure, all the steps required to build and
install the packages are already defined, and they generally work well
for most Go-based packages. However, when required, it is still
possible to customize what is done in any particular step:
* By adding a post-operation hook (after extract, patch, configure,
build or install). See xref:hooks[] for details.
* By overriding one of the steps. For example, even if the Go
infrastructure is used, if the package +.mk+ file defines its own
+FOO_BUILD_CMDS+ variable, it will be used instead of the default Go
one. However, using this method should be restricted to very
specific cases. Do not use it in the general case.

View File

@ -81,3 +81,7 @@ be set to suit the needs of the package under consideration:
be well suited for all packages that use the standard kconfig
infrastructure as inherited from the Linux kernel; some packages use
a derivative of kconfig that use a different location.
* +FOO_KCONFIG_DEPENDENCIES+: the list of packages (most probably, host
packages) that need to be built before this package's kconfig is
interpreted. Seldom used. By default, empty.

View File

@ -1,18 +1,18 @@
// -*- mode:doc; -*-
// vim: set syntax=asciidoc:
=== Integration of Meson-based packages
=== Infrastructure for Meson-based packages
[[meson-package-tutorial]]
==== +meson-package+ tutorial
http://mesonbuild.com[Meson] is an open source build system meant to be both
extremely fast, and, even more importantly, as user friendly as possible.
extremely fast, and, even more importantly, as user friendly as possible. It
uses https://ninja-build.org[Ninja] as a companion tool to perform the actual
build operations.
Buildroot does not (yet) provide a dedicated package infrastructure for
meson-based packages. So, we will explain how to write a +.mk+ file for such a
package. Let's start with an example:
Let's see how to write a +.mk+ file for a Meson-based package, with an example:
------------------------------
01: ################################################################################
@ -28,74 +28,69 @@ package. Let's start with an example:
11: FOO_LICENSE_FILES = COPYING
12: FOO_INSTALL_STAGING = YES
13:
14: FOO_DEPENDENCIES = host-meson host-pkgconf bar
14: FOO_DEPENDENCIES = host-pkgconf bar
15:
16: FOO_CONF_OPTS += \
17: --prefix=/usr \
18: --buildtype $(if $(BR2_ENABLE_DEBUG),debug,release) \
19: --cross-file $(HOST_DIR)/etc/meson/cross-compilation.conf
20:
21: FOO_NINJA_OPTS = $(if $(VERBOSE),-v) -j$(PARALLEL_JOBS)
16: ifeq ($(BR2_PACKAGE_BAZ),y)
17: FOO_CONF_OPTS += -Dbaz=true
18: FOO_DEPENDENCIES += baz
19: else
20: FOO_CONF_OPTS += -Dbaz=false
21: endif
22:
23: ifeq ($(BR2_PACKAGE_BAZ),y)
24: FOO_CONF_OPTS += -Dbaz
25: endif
26:
27: define FOO_CONFIGURE_CMDS
28: rm -rf $(@D)/build
29: mkdir -p $(@D)/build
30: $(TARGET_MAKE_ENV) meson $(FOO_CONF_OPTS) $(@D) $(@D)/build
31: endef
32:
33: define FOO_BUILD_CMDS
34: $(TARGET_MAKE_ENV) ninja $(FOO_NINJA_OPTS) -C $(@D)/build
35: endef
36:
37: define FOO_INSTALL_TARGET_CMDS
38: $(TARGET_MAKE_ENV) DESTDIR=$(TARGET_DIR) ninja $(FOO_NINJA_OPTS) \
39: -C $(@D)/build install
40: endef
41:
42: define FOO_INSTALL_STAGING_CMDS
43: $(TARGET_MAKE_ENV) DESTDIR=$(STAGING_DIR) ninja $(FOO_NINJA_OPTS) \
44: -C $(@D)/build install
45: endef
46:
47: $(eval $(generic-package))
23: $(eval $(meson-package))
--------------------------------
The Makefile starts with the definition of the standard variables for package
declaration (lines 7 to 11).
As seen in line 47, it is based on the
xref:generic-package-tutorial[+generic-package+ infrastructure]. So, it defines
the variables required by this particular infrastructure, where Meson and its
companion tool, Ninja, are invoked:
On line line 23, we invoke the +meson-package+ macro that generates all the
Makefile rules that actually allows the package to be built.
* +FOO_CONFIGURE_CMDS+: the build directory required by Meson is created, and
Meson is invoked to generate the Ninja build file. The options required to
configure the cross-compilation of the package are passed via
+FOO_CONF_OPTS+.
In the example, +host-pkgconf+ and +bar+ are declared as dependencies in
+FOO_DEPENDENCIES+ at line 14 because the Meson build file of +foo+ uses
`pkg-config` to determine the compilation flags and libraries of package +bar+.
* +FOO_BUILD_CMDS+: Ninja is invoked to perform the build.
Note that it is not necessary to add +host-meson+ in the +FOO_DEPENDENCIES+
variable of a package, since this basic dependency is automatically added as
needed by the Meson package infrastructure.
* +FOO_INSTALL_TARGET_CMDS+: Ninja is invoked to install the files generated
during the build step in the target directory.
* +FOO_INSTALL_STAGING_CMDS+: Ninja is invoked to install the files generated
during the build step in the staging directory, as +FOO_INSTALL_STAGING+ is
set to "YES".
In order to have Meson available for the build, +FOO_DEPENDENCIES+ needs to
contain +host-meson+. In the example, +host-pkgconf+ and +bar+ are also
declared as dependencies because the Meson build file of +foo+ uses `pkg-config`
to determine the compilation flags and libraries of package +bar+.
If the "baz" package is selected, then support for the "baz" feature in "foo"
is activated by adding +-Dbaz+ to +FOO_CONF_OPTS+, as specified in the
+meson_options.txt+ file in "foo" source tree.
If the "baz" package is selected, then support for the "baz" feature in "foo" is
activated by adding +-Dbaz=true+ to +FOO_CONF_OPTS+ at line 17, as specified in
the +meson_options.txt+ file in "foo" source tree. The "baz" package is also
added to +FOO_DEPENDENCIES+. Note that the support for +baz+ is explicitly
disabled at line 20, if the package is not selected.
To sum it up, to add a new meson-based package, the Makefile example can be
copied verbatim then edited to replace all occurences of +FOO+ with the
uppercase name of the new package and update the values of the standard
variables.
[[meson-package-reference]]
==== +meson-package+ reference
The main macro of the Meson package infrastructure is +meson-package+. It is
similar to the +generic-package+ macro. The ability to have target and host
packages is also available, with the +host-meson-package+ macro.
Just like the generic infrastructure, the Meson infrastructure works by defining
a number of variables before calling the +meson-package+ macro.
First, all the package metadata information variables that exist in the generic
infrastructure also exist in the Meson infrastructure: +FOO_VERSION+,
+FOO_SOURCE+, +FOO_PATCH+, +FOO_SITE+, +FOO_SUBDIR+, +FOO_DEPENDENCIES+,
+FOO_INSTALL_STAGING+, +FOO_INSTALL_TARGET+.
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_CONF_ENV+, to specify additional environment variables to pass to
+meson+ for the configuration step. By default, empty.
* +FOO_CONF_OPTS+, to specify additional options to pass to +meson+ for the
configuration step. By default, empty.
* +FOO_NINJA_ENV+, to specify additional environment variables to pass to
+ninja+, meson companion tool in charge of the build operations. By default,
empty.

View File

@ -32,6 +32,38 @@ using the following rules:
with `.` and `-` characters substituted with `_` (e.g.:
+FOO_BAR_BOO_VERSION+).
[[check-package]]
==== How to check the coding style
Buildroot provides a script in +utils/check-package+ that checks new or
changed files for coding style. It is not a complete language validator,
but it catches many common mistakes. It is meant to run in the actual
files you created or modified, before creating the patch for submission.
This script can be used for packages, filesystem makefiles, Config.in
files, etc. It does not check the files defining the package
infrastructures and some other files containing similar common code.
To use it, run the +check-package+ script, by telling which files you
created or changed:
----
$ ./utils/check-package package/new-package/*
----
If you have the +utils+ directory in your path you can also run:
----
$ cd package/new-package/
$ check-package *
----
The tool can also be used for packages in a br2-external:
----
$ check-package -b /path/to/br2-ext-tree/package/my-package/*
----
[[testing-package]]
==== How to test your package
@ -77,9 +109,14 @@ and what package to test:
$ ./utils/test-pkg -c libcurl.config -p libcurl
----
This will try to build your package against all the toolchains used
by the autobuilders (except for the internal toolchains, because it takes
too long to do so). The output lists all toolchains and the corresponding
By default, +test-pkg+ will build your package against a subset of the
toolchains used by the autobuilders, which has been selected by the
Buildroot developers as being the most useful and representative
subset. If you want to test all toolchains, pass the +-a+ option. Note
that in any case, internal toolchains are excluded as they take too
long to build.
The output lists all toolchains that are tested and the corresponding
result (excerpt, results are fake):
----

View File

@ -9,8 +9,9 @@ applications) can be integrated into Buildroot. It also shows how
existing packages are integrated, which is needed for fixing issues or
tuning their configuration.
When you add a new package, be sure to test it in various conditions;
see xref:testing-package[]
When you add a new package, be sure to test it in various conditions
(see xref:testing-package[]) and also check it for coding style (see
xref:check-package[]).
include::adding-packages-directory.txt[]
@ -38,6 +39,8 @@ include::adding-packages-meson.txt[]
include::adding-packages-cargo.txt[]
include::adding-packages-golang.txt[]
include::adding-packages-kernel-module.txt[]
include::adding-packages-asciidoc.txt[]

View File

@ -224,12 +224,12 @@ The +graph-depends+ behaviour can be controlled by setting options in the
* +--transitive+, +--no-transitive+, to draw (or not) the transitive
dependencies. The default is to not draw transitive dependencies.
* +--colours R,T,H+, the comma-separated list of colours to draw the
* +--colors R,T,H+, the comma-separated list of colors to draw the
root package (+R+), the target packages (+T+) and the host packages
(+H+). Defaults to: +lightblue,grey,gainsboro+
--------------------------------
BR2_GRAPH_DEPS_OPTS='-d 3 --no-transitive --colours=red,green,blue' make graph-depends
BR2_GRAPH_DEPS_OPTS='-d 3 --no-transitive --colors=red,green,blue' make graph-depends
--------------------------------
=== Graphing the build duration

View File

@ -264,6 +264,10 @@ yourself to the DEVELOPERS file. This should be done in the same patch
creating or modifying the package. See xref:DEVELOPERS[the DEVELOPERS file]
for more information.
Buildroot provides a handy tool to check for common coding style
mistakes on files you created or modified, called +check-package+ (see
xref:check-package[] for more information).
==== Preparing a patch series
Starting from the changes committed in your local git view, _rebase_

View File

@ -81,3 +81,19 @@ make busybox-rebuild all
the root filesystem image in +output/images+ contains the updated
BusyBox.
Source trees for big projects often contain hundreds or thousands of
files which are not needed for building, but will slow down the process
of copying the sources with _rsync_. Optionally, it is possible define
+<pkg>_OVERRIDE_SRCDIR_RSYNC_EXCLUSIONS+ to skip syncing certain files
from the source tree. For example, when working on the +webkitgtk+
package, the following will exclude the tests and in-tree builds from
a local WebKit source tree:
------------------
WEBKITGTK_OVERRIDE_SRCDIR = /home/bob/WebKit
WEBKITGTK_OVERRIDE_SRCDIR_RSYNC_EXCLUSIONS = \
--exclude JSTests --exclude ManualTests --exclude PerformanceTests \
--exclude WebDriverTests --exclude WebKitBuild --exclude WebKitLibraries \
--exclude WebKit.xcworkspace --exclude Websites --exclude Examples
------------------

View File

@ -8,105 +8,105 @@
<div class="panel-heading">Download</div>
<div class="panel-body">
<h3 style="text-align: center;">Latest stable / long term support release: <b>2018.02</b></h3>
<h3 style="text-align: center;">Latest long term support release: <b>2018.02.5</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.tar.gz"><img src="images/zip.png" width="180" alt=""></a>
<a href="/downloads/buildroot-2018.02.5.tar.gz"><img src="images/zip.png" width="180" alt=""></a>
</div>
<div class="back">
<a href="/downloads/buildroot-2018.02.tar.gz"><img src="images/zip.png" width="180" alt=""></a>
<a href="/downloads/buildroot-2018.02.5.tar.gz"><img src="images/zip.png" width="180" alt=""></a>
</div>
</div>
</div>
<h3><a href="/downloads/buildroot-2018.02.tar.gz">buildroot-2018.02.tar.gz</a></h3>
<p><a href="/downloads/buildroot-2018.02.tar.gz.sign">PGP signature</a></p>
<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>
</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.tar.bz2"><img src="images/package.png" width="180" alt=""></a>
<a href="/downloads/buildroot-2018.02.5.tar.bz2"><img src="images/package.png" width="180" alt=""></a>
</div>
<div class="back">
<a href="/downloads/buildroot-2018.02.tar.bz2"><img src="images/package.png" width="180" alt=""></a>
<a href="/downloads/buildroot-2018.02.5.tar.bz2"><img src="images/package.png" width="180" alt=""></a>
</div>
</div>
</div>
<h3><a href="/downloads/buildroot-2018.02.tar.bz2">buildroot-2018.02.tar.bz2</a></h3>
<p><a href="/downloads/buildroot-2018.02.tar.bz2.sign">PGP signature</a></p>
<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>
</div>
</div>
<!--
<h3 style="text-align: center;">Latest stable release: <b>2017.11.2</b></h3>
<h3 style="text-align: center;">Latest release candidate: <b>2018.08-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-2017.11.2.tar.gz"><img src="images/zip.png" width="180" alt=""></a>
<a href="/downloads/buildroot-2018.08-rc3.tar.gz"><img src="images/zip.png" width="180" alt=""></a>
</div>
<div class="back">
<a href="/downloads/buildroot-2017.11.2.tar.gz"><img src="images/zip.png" width="180" alt=""></a>
<a href="/downloads/buildroot-2018.08-rc3.tar.gz"><img src="images/zip.png" width="180" alt=""></a>
</div>
</div>
</div>
<h3><a href="/downloads/buildroot-2017.11.2.tar.gz">buildroot-2017.11.2.tar.gz</a></h3>
<p><a href="/downloads/buildroot-2017.11.2.tar.gz.sign">PGP signature</a></p>
<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>
</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-2017.11.2.tar.bz2"><img src="images/package.png" width="180" alt=""></a>
<a href="/downloads/buildroot-2018.08-rc3.tar.bz2"><img src="images/package.png" width="180" alt=""></a>
</div>
<div class="back">
<a href="/downloads/buildroot-2017.11.2.tar.bz2"><img src="images/package.png" width="180" alt=""></a>
<a href="/downloads/buildroot-2018.08-rc3.tar.bz2"><img src="images/package.png" width="180" alt=""></a>
</div>
</div>
</div>
<h3><a href="/downloads/buildroot-2017.11.2.tar.bz2">buildroot-2017.11.2.tar.bz2</a></h3>
<p><a href="/downloads/buildroot-2017.11.2.tar.bz2.sign">PGP signature</a></p>
</div>
</div>
<h3 style="text-align: center;">Latest release candidate: <b>2018.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-2018.02-rc3.tar.gz"><img src="images/zip.png" width="180" alt=""></a>
</div>
<div class="back">
<a href="/downloads/buildroot-2018.02-rc3.tar.gz"><img src="images/zip.png" width="180" alt=""></a>
</div>
</div>
</div>
<h3><a href="/downloads/buildroot-2018.02-rc3.tar.gz">buildroot-2018.02-rc3.tar.gz</a></h3>
<p><a href="/downloads/buildroot-2018.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-2018.02-rc3.tar.bz2"><img src="images/package.png" width="180" alt=""></a>
</div>
<div class="back">
<a href="/downloads/buildroot-2018.02-rc3.tar.bz2"><img src="images/package.png" width="180" alt=""></a>
</div>
</div>
</div>
<h3><a href="/downloads/buildroot-2018.02-rc3.tar.bz2">buildroot-2018.02-rc3.tar.bz2</a></h3>
<p><a href="/downloads/buildroot-2018.02-rc3.tar.bz2.sign">PGP signature</a></p>
<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>
</div>
</div>
-->

BIN
docs/website/favicon.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 KiB

View File

@ -1,6 +1,6 @@
<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/master/dist/clipboard.min.js"></script>
<script src="https://cdn.rawgit.com/zenorocha/clipboard.js/v1.7.1/dist/clipboard.min.js"></script>
<script type="text/javascript" src="js/buildroot.js"></script>
</body>
</html>

View File

@ -9,6 +9,333 @@
<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">2018.08 released</h4>
<p><small class="text-muted"><i class="glyphicon glyphicon-time"></i>6 September 2018</small></p>
</div>
<div class="timeline-body">
<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
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>
</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-rc3 released</h4>
<p><small class="text-muted"><i class="glyphicon glyphicon-time"></i>31 August 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.08-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.08-rc3.tar.bz2">2018.08-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.02.5 released</h4>
<p><small class="text-muted"><i class="glyphicon glyphicon-time"></i>29 August 2018</small></p>
</div>
<div class="timeline-body">
<p>The 2018.02.5 bugfix release is out, fixing a number of important /
security related issues discovered since the 2018.02.4 release. See the
<a href="http://git.buildroot.net/buildroot/plain/CHANGES?id=2018.02.5">CHANGES</a>
file for more details, read the
<a href="http://lists.busybox.net/pipermail/buildroot/2018-August/229453.html">announcement</a>
and go to the <a href="/downloads/">downloads page</a> to pick up the
<a href="/downloads/buildroot-2018.02.5.tar.bz2">2018.02.5 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.2 released</h4>
<p><small class="text-muted"><i class="glyphicon glyphicon-time"></i>28 August 2018</small></p>
</div>
<div class="timeline-body">
<p>The 2018.05.2 bugfix release is out, fixing a number of important /
security related issues discovered since the 2018.05.1 release. See the
<a href="http://git.buildroot.net/buildroot/plain/CHANGES?id=2018.05.2">CHANGES</a>
file for more details, read the
<a href="http://lists.busybox.net/pipermail/buildroot/2018-August/229355.html">announcement</a>
and go to the <a href="/downloads/">downloads page</a> to pick up the
<a href="/downloads/buildroot-2018.05.2.tar.bz2">2018.05.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.08-rc2 released</h4>
<p><small class="text-muted"><i class="glyphicon glyphicon-time"></i>20 August 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.08-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.08-rc2.tar.bz2">2018.08-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">2018.08-rc1 released</h4>
<p><small class="text-muted"><i class="glyphicon glyphicon-time"></i>5 August 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.08-rc1">CHANGES</a>
file for details and/or read
the <a href="http://lists.busybox.net/pipermail/buildroot/2018-August/227070.html">announcement</a>.
</p>
<p>Head to the <a href="/downloads/">downloads page</a> to pick up the
<a href="/downloads/buildroot-2018.08-rc1.tar.bz2">2018.08-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.4 released</h4>
<p><small class="text-muted"><i class="glyphicon glyphicon-time"></i>21 July 2018</small></p>
</div>
<div class="timeline-body">
<p>The 2018.02.4 bugfix release is out, fixing a number of important /
security related issues discovered since the 2018.02.3 release. See the
<a href="http://git.buildroot.net/buildroot/plain/CHANGES?id=2018.02.4">CHANGES</a>
file for more details, read the
<a href="http://lists.busybox.net/pipermail/buildroot/2018-July/226417.html">announcement</a>
and go to the <a href="/downloads/">downloads page</a> to pick up the
<a href="/downloads/buildroot-2018.02.4.tar.bz2">2018.02.4 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.1 released</h4>
<p><small class="text-muted"><i class="glyphicon glyphicon-time"></i>20 July 2018</small></p>
</div>
<div class="timeline-body">
<p>The 2018.05.1 bugfix release is out, fixing a number of important /
security related issues discovered since the 2018.05 release. See the
<a href="http://git.buildroot.net/buildroot/plain/CHANGES?id=2018.05.1">CHANGES</a>
file for more details, read the
<a href="http://lists.busybox.net/pipermail/buildroot/2018-July/226383.html">announcement</a>
and go to the <a href="/downloads/">downloads page</a> to pick up the
<a href="/downloads/buildroot-2018.05.1.tar.bz2">2018.05.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.3 released</h4>
<p><small class="text-muted"><i class="glyphicon glyphicon-time"></i>18 June 2018</small></p>
</div>
<div class="timeline-body">
<p>The 2018.02.3 bugfix release is out, fixing a number of important /
security related issues discovered since the 2018.02.2 release. See the
<a href="http://git.buildroot.net/buildroot/plain/CHANGES?id=2018.02.3">CHANGES</a>
file for more details, read the
<a href="http://lists.busybox.net/pipermail/buildroot/2018-June/224225.html">announcement</a>
and go to the <a href="/downloads/">downloads page</a> to pick up the
<a href="/downloads/buildroot-2018.02.3.tar.bz2">2018.02.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.05 released</h4>
<p><small class="text-muted"><i class="glyphicon glyphicon-time"></i>1 June 2018</small></p>
</div>
<div class="timeline-body">
<p>The stable 2018.05 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.05">CHANGES</a>
file for more details, read the
<a href="http://lists.busybox.net/pipermail/buildroot/2018-June/222697.html">announcement</a>
and go to the <a href="/downloads/">downloads page</a> to pick up the
<a href="/downloads/buildroot-2018.05.tar.bz2">2018.05 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.05-rc3 released</h4>
<p><small class="text-muted"><i class="glyphicon glyphicon-time"></i>28 May 2018</small></p>
</div>
<div class="timeline-body">
<p>Release candidate 3 is out with more cleanups and security
/ build fixes. See
the <a href="http://git.buildroot.net/buildroot/plain/CHANGES?id=2018.05-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.05-rc3.tar.bz2">2018.05-rc3
release candidate</a>, and report any problems found to
the <a href="support.html">mailing list</a>
or <a href="https://bugs.uclibc.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.05-rc2 released</h4>
<p><small class="text-muted"><i class="glyphicon glyphicon-time"></i>22 May 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.05-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.05-rc2.tar.bz2">2018.05-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.05-rc1 released</h4>
<p><small class="text-muted"><i class="glyphicon glyphicon-time"></i>9 May 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.05-rc1">CHANGES</a>
file for details and read the
<a href="http://lists.busybox.net/pipermail/buildroot/2018-May/221257.html">announcement</a>.
</p>
<p>Head to the <a href="/downloads/">downloads page</a> to pick up the
<a href="/downloads/buildroot-2018.05-rc1.tar.bz2">2018.05-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.2 released</h4>
<p><small class="text-muted"><i class="glyphicon glyphicon-time"></i>4 May 2018</small></p>
</div>
<div class="timeline-body">
<p>The 2018.02.2 bugfix release is out, fixing a number of important /
security related issues discovered since the 2018.02.1 release. See the
<a href="http://git.buildroot.net/buildroot/plain/CHANGES?id=2018.02.2">CHANGES</a>
file for more details, read the
<a href="http://lists.busybox.net/pipermail/buildroot/2018-May/220788.html">announcement</a>
and go to the <a href="/downloads/">downloads page</a> to pick up the
<a href="/downloads/buildroot-2018.02.2.tar.bz2">2018.02.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">2017.02.11 released</h4>
<p><small class="text-muted"><i class="glyphicon glyphicon-time"></i>11 April 2018</small></p>
</div>
<div class="timeline-body">
<p>The 2017.02.11 bugfix release is out, fixing a number of important /
security related issues discovered since the 2017.02.10 release. See the
<a href="http://git.buildroot.net/buildroot/plain/CHANGES?id=2017.02.11">CHANGES</a>
file for more details, read the
<a href="http://lists.busybox.net/pipermail/buildroot/2018-April/218919.html">announcement</a>
and go to the <a href="/downloads/">downloads page</a> to pick up the
<a href="/downloads/buildroot-2017.02.11.tar.bz2">2017.02.11 release</a>.</p>
<p>Notice that the 2017.02 series is now end of life, so please consider
updating to 2018.02 instead.</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.1 released</h4>
<p><small class="text-muted"><i class="glyphicon glyphicon-time"></i>10 April 2018</small></p>
</div>
<div class="timeline-body">
<p>The 2018.02.1 bugfix release is out, fixing a number of important /
security related issues discovered since the 2018.02 release. See the
<a href="http://git.buildroot.net/buildroot/plain/CHANGES?id=2018.02.1">CHANGES</a>
file for more details, read the
<a href="http://lists.busybox.net/pipermail/buildroot/2018-April/218642.html">announcement</a>
and go to the <a href="/downloads/">downloads page</a> to pick up the
<a href="/downloads/buildroot-2018.02.1.tar.bz2">2018.02.1 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 +347,8 @@
<p>The stable 2018.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=2018.02">CHANGES</a>
file for more details
file for more details, read the
<a href="http://lists.busybox.net/pipermail/buildroot/2018-March/215002.html">announcement</a>
and go to the <a href="/downloads/">downloads page</a> to pick up the
<a href="/downloads/buildroot-2018.02.tar.bz2">2018.02 release</a>.</p>

View File

@ -28,20 +28,88 @@
# macro will automatically generate a compressed filesystem image.
FS_DIR = $(BUILD_DIR)/buildroot-fs
FAKEROOT_SCRIPT = $(FS_DIR)/fakeroot.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))
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 \
$(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")
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)
ifneq ($(ROOTFS_USERS_TABLES),)
cat $(ROOTFS_USERS_TABLES) >> $(USERS_TABLE)
endif
PATH=$(BR_PATH) $(TOPDIR)/support/scripts/mkusers $(USERS_TABLE) $(TARGET_DIR) >> $(FAKEROOT_SCRIPT)
ifneq ($(ROOTFS_DEVICE_TABLES),)
cat $(ROOTFS_DEVICE_TABLES) > $(FULL_DEVICE_TABLE)
ifeq ($(BR2_ROOTFS_DEVICE_CREATION_STATIC),y)
$(call PRINTF,$(PACKAGES_DEVICES_TABLE)) >> $(FULL_DEVICE_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)
# Since this function will be called from within an $(eval ...)
# all variable references except the arguments must be $$-quoted.
define inner-rootfs
# extra deps
ROOTFS_$(2)_DEPENDENCIES += host-fakeroot host-makedevs \
$$(if $$(PACKAGES_USERS)$$(ROOTFS_USERS_TABLES),host-mkpasswd)
ROOTFS_$(2)_DIR = $$(FS_DIR)/$(1)
ROOTFS_$(2)_TARGET_DIR = $$(ROOTFS_$(2)_DIR)/target
ROOTFS_$(2)_DEPENDENCIES += rootfs-common
ifeq ($$(BR2_TARGET_ROOTFS_$(2)_GZIP),y)
ROOTFS_$(2)_COMPRESS_EXT = .gz
@ -72,42 +140,22 @@ ROOTFS_$(2)_COMPRESS_EXT = .xz
ROOTFS_$(2)_COMPRESS_CMD = xz -9 -C crc32 -c
endif
$$(BINARIES_DIR)/rootfs.$(1): target-finalize $$(ROOTFS_$(2)_DEPENDENCIES)
$$(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)")
rm -rf $(FS_DIR)
mkdir -p $(FS_DIR)
$$(foreach hook,$$(ROOTFS_$(2)_PRE_GEN_HOOKS),$$(call $$(hook))$$(sep))
rm -rf $$(ROOTFS_$(2)_DIR)
mkdir -p $$(ROOTFS_$(2)_DIR)
echo '#!/bin/sh' > $$(FAKEROOT_SCRIPT)
echo "set -e" >> $$(FAKEROOT_SCRIPT)
echo "chown -h -R 0:0 $$(TARGET_DIR)" >> $$(FAKEROOT_SCRIPT)
ifneq ($$(ROOTFS_USERS_TABLES),)
cat $$(ROOTFS_USERS_TABLES) >> $$(USERS_TABLE)
endif
$$(call PRINTF,$$(PACKAGES_USERS)) >> $$(USERS_TABLE)
PATH=$$(BR_PATH) $$(TOPDIR)/support/scripts/mkusers $$(USERS_TABLE) $$(TARGET_DIR) >> $$(FAKEROOT_SCRIPT)
ifneq ($$(ROOTFS_DEVICE_TABLES),)
cat $$(ROOTFS_DEVICE_TABLES) > $$(FULL_DEVICE_TABLE)
ifeq ($$(BR2_ROOTFS_DEVICE_CREATION_STATIC),y)
$$(call PRINTF,$$(PACKAGES_DEVICES_TABLE)) >> $$(FULL_DEVICE_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,$$(ROOTFS_COMMON_UNTAR_CMD)) >> $$(FAKEROOT_SCRIPT)
$$(foreach hook,$$(ROOTFS_$(2)_PRE_GEN_HOOKS),\
$$(call PRINTF,$$($$(hook))) >> $$(FAKEROOT_SCRIPT)$$(sep))
ifeq ($$(BR2_REPRODUCIBLE),y)
echo "find $$(TARGET_DIR) -print0 | xargs -0 -r touch -hd @$$(SOURCE_DATE_EPOCH)" >> $$(FAKEROOT_SCRIPT)
endif
$$(call PRINTF,$$(ROOTFS_REPRODUCIBLE)) >> $$(FAKEROOT_SCRIPT)
$$(call PRINTF,$$(ROOTFS_$(2)_CMD)) >> $$(FAKEROOT_SCRIPT)
$$(foreach hook,$$(ROOTFS_POST_CMD_HOOKS),\
$$(call PRINTF,$$($$(hook))) >> $$(FAKEROOT_SCRIPT)$$(sep))
chmod a+x $$(FAKEROOT_SCRIPT)
rm -f $$(TARGET_DIR_WARNING_FILE)
PATH=$$(BR_PATH) $$(HOST_DIR)/bin/fakeroot -- $$(FAKEROOT_SCRIPT)
$$(INSTALL) -m 0644 support/misc/target-dir-warning.txt $$(TARGET_DIR_WARNING_FILE)
$(Q)rm -rf $$(TARGET_DIR)
ifneq ($$(ROOTFS_$(2)_COMPRESS_CMD),)
PATH=$$(BR_PATH) $$(ROOTFS_$(2)_COMPRESS_CMD) $$@ > $$@$$(ROOTFS_$(2)_COMPRESS_EXT)
endif

View File

@ -1,9 +1,9 @@
config BR2_TARGET_ROOTFS_CPIO
bool "cpio the root filesystem (for use as an initial RAM filesystem)"
help
Build a cpio archive of the root filesystem. This is typically
used for an initial RAM filesystem that is passed to the kernel
by the bootloader.
Build a cpio archive of the root filesystem. This is typically
used for an initial RAM filesystem that is passed to the
kernel by the bootloader.
if BR2_TARGET_ROOTFS_CPIO

View File

@ -15,14 +15,16 @@ endef
else
# devtmpfs does not get automounted when initramfs is used.
# Add a pre-init script to mount it before running init
# We must have /dev/console very early, even before /init runs,
# for stdin/stdout/stderr
define ROOTFS_CPIO_ADD_INIT
if [ ! -e $(TARGET_DIR)/init ]; then \
$(INSTALL) -m 0755 fs/cpio/init $(TARGET_DIR)/init; \
fi
mkdir -p $(TARGET_DIR)/dev
mknod -m 0622 $(TARGET_DIR)/dev/console c 5 1
endef
PACKAGES_PERMISSIONS_TABLE += /dev/console c 622 0 0 5 1 - - -$(sep)
endif # BR2_ROOTFS_DEVICE_CREATION_STATIC
ROOTFS_CPIO_PRE_GEN_HOOKS += ROOTFS_CPIO_ADD_INIT

View File

@ -3,4 +3,24 @@ config BR2_TARGET_ROOTFS_CRAMFS
help
Build a cramfs root filesystem
http://sourceforge.net/projects/cramfs/
https://github.com/npitre/cramfs-tools
if BR2_TARGET_ROOTFS_CRAMFS
config BR2_TARGET_ROOTFS_CRAMFS_XIP
bool "Support XIP of all ELF files"
help
For ELF files, uncompressed and properly aligned data blocks
will be automatically be mapped directly into user space
whenever possible providing eXecute-In-Place (XIP) from ROM
of read-only segments. Data segments mapped read-write
(hence they have to be copied to RAM) may still be
compressed in the cramfs image in the same file along with
non compressed read-only segments. Both MMU and no-MMU
systems are supported. This is particularly handy for tiny
embedded systems with very tight memory constraints.
The CRAMFS_MTD Kconfig option must also be enabled in a
4.15+ kernel.
endif # BR2_TARGET_ROOTFS_CRAMFS

View File

@ -5,9 +5,17 @@
################################################################################
ifeq ($(BR2_ENDIAN),"BIG")
CRAMFS_OPTS = -b
CRAMFS_OPTS = -B
else
CRAMFS_OPTS = -l
CRAMFS_OPTS = -L
endif
ifeq ($(BR2_TARGET_ROOTFS_CRAMFS_XIP),y)
ifeq ($(BR2_USE_MMU),y)
CRAMFS_OPTS += -X -X
else
CRAMFS_OPTS += -X
endif
endif
define ROOTFS_CRAMFS_CMD

View File

@ -49,11 +49,11 @@ config BR2_TARGET_ROOTFS_EXT2_SIZE
default BR2_TARGET_ROOTFS_EXT2_BLOCKS if BR2_TARGET_ROOTFS_EXT2_BLOCKS_WRAP # legacy 2017.08
default "60M"
help
The size of the filesystem image. If it does not have a suffix,
it is interpreted as power-of-two kilobytes. If it is suffixed
by 'k', 'm', 'g', 't' (either upper-case or lower-case), then
it is interpreted in power-of-two kilobytes, megabytes,
gigabytes, terabytes, etc.
The size of the filesystem image. If it does not have a
suffix, it is interpreted as power-of-two kilobytes. If it is
suffixed by 'k', 'm', 'g', 't' (either upper-case or
lower-case), then it is interpreted in power-of-two kilobytes,
megabytes, gigabytes, terabytes, etc.
config BR2_TARGET_ROOTFS_EXT2_INODES
int "exact number of inodes (leave at 0 for auto calculation)"
@ -65,15 +65,16 @@ config BR2_TARGET_ROOTFS_EXT2_RESBLKS
help
The number of blocks on the filesystem (as a percentage of the
total number of blocks), that are reserved for use by root.
Traditionally, this has been 5%, and all ext-related tools still
default to reserving 5% when creating a new ext filesystem.
Traditionally, this has been 5%, and all ext-related tools
still default to reserving 5% when creating a new ext
filesystem.
config BR2_TARGET_ROOTFS_EXT2_MKFS_OPTIONS
string "additional mke2fs options"
default "-O ^64bit"
help
Specify a space-separated list of mke2fs options, including any
ext2/3/4 filesystem features.
Specify a space-separated list of mke2fs options, including
any ext2/3/4 filesystem features.
For more information about the mke2fs options, see the manual
page mke2fs(8).
@ -91,7 +92,8 @@ choice
prompt "Compression method"
default BR2_TARGET_ROOTFS_EXT2_NONE
help
Select compressor for ext2/3/4 filesystem of the root filesystem
Select compressor for ext2/3/4 filesystem of the root
filesystem
config BR2_TARGET_ROOTFS_EXT2_NONE
bool "no compression"

View File

@ -10,7 +10,8 @@ config BR2_TARGET_ROOTFS_INITRAMFS
A rootfs.cpio file will be generated in the images/ directory.
This is the archive that will be included in the kernel image.
The default rootfs compression set in the kernel configuration
is used, regardless of how buildroot's cpio archive is configured.
is used, regardless of how buildroot's cpio archive is
configured.
Note that enabling initramfs together with another filesystem
formats doesn't make sense: you would end up having two

View File

@ -1,7 +1,6 @@
################################################################################
#
# Build a kernel with an integrated initial ramdisk
# filesystem based on cpio.
# Build a kernel with an integrated initial ramdisk filesystem based on cpio.
#
################################################################################

View File

@ -35,47 +35,47 @@ ROOTFS_ISO9660_USE_INITRD = YES
endif
ifeq ($(ROOTFS_ISO9660_USE_INITRD),YES)
ROOTFS_ISO9660_TARGET_DIR = $(FS_DIR)/rootfs.iso9660.tmp
ROOTFS_ISO9660_TMP_TARGET_DIR = $(FS_DIR)/rootfs.iso9660.tmp
define ROOTFS_ISO9660_CREATE_TEMPDIR
$(RM) -rf $(ROOTFS_ISO9660_TARGET_DIR)
mkdir -p $(ROOTFS_ISO9660_TARGET_DIR)
$(RM) -rf $(ROOTFS_ISO9660_TMP_TARGET_DIR)
mkdir -p $(ROOTFS_ISO9660_TMP_TARGET_DIR)
endef
ROOTFS_ISO9660_PRE_GEN_HOOKS += ROOTFS_ISO9660_CREATE_TEMPDIR
else ifeq ($(BR2_TARGET_ROOTFS_ISO9660_TRANSPARENT_COMPRESSION),y)
ROOTFS_ISO9660_DEPENDENCIES += host-zisofs-tools
ROOTFS_ISO9660_TARGET_DIR = $(FS_DIR)/rootfs.iso9660.tmp
ROOTFS_ISO9660_TMP_TARGET_DIR = $(FS_DIR)/rootfs.iso9660.tmp
# This must be early, before we copy the bootloader files.
define ROOTFS_ISO9660_MKZFTREE
$(RM) -rf $(ROOTFS_ISO9660_TARGET_DIR)
$(RM) -rf $(ROOTFS_ISO9660_TMP_TARGET_DIR)
$(HOST_DIR)/bin/mkzftree -X -z 9 -p $(PARALLEL_JOBS) \
$(TARGET_DIR) \
$(ROOTFS_ISO9660_TARGET_DIR)
$(ROOTFS_ISO9660_TMP_TARGET_DIR)
endef
ROOTFS_ISO9660_PRE_GEN_HOOKS += ROOTFS_ISO9660_MKZFTREE
ROOTFS_ISO9660_GENISOIMAGE_OPTS += -z
else
ROOTFS_ISO9660_TARGET_DIR = $(TARGET_DIR)
ROOTFS_ISO9660_TMP_TARGET_DIR = $(TARGET_DIR)
endif
ifeq ($(BR2_TARGET_ROOTFS_ISO9660_GRUB2),y)
ROOTFS_ISO9660_DEPENDENCIES += grub2
ROOTFS_ISO9660_BOOTLOADER_CONFIG_PATH = \
$(ROOTFS_ISO9660_TARGET_DIR)/boot/grub/grub.cfg
$(ROOTFS_ISO9660_TMP_TARGET_DIR)/boot/grub/grub.cfg
ROOTFS_ISO9660_BOOT_IMAGE = boot/grub/grub-eltorito.img
define ROOTFS_ISO9660_INSTALL_BOOTLOADER
$(INSTALL) -D -m 0644 $(BINARIES_DIR)/grub-eltorito.img \
$(ROOTFS_ISO9660_TARGET_DIR)/boot/grub/grub-eltorito.img
$(ROOTFS_ISO9660_TMP_TARGET_DIR)/boot/grub/grub-eltorito.img
endef
else ifeq ($(BR2_TARGET_ROOTFS_ISO9660_ISOLINUX),y)
ROOTFS_ISO9660_DEPENDENCIES += syslinux
ROOTFS_ISO9660_BOOTLOADER_CONFIG_PATH = \
$(ROOTFS_ISO9660_TARGET_DIR)/isolinux/isolinux.cfg
$(ROOTFS_ISO9660_TMP_TARGET_DIR)/isolinux/isolinux.cfg
ROOTFS_ISO9660_BOOT_IMAGE = isolinux/isolinux.bin
define ROOTFS_ISO9660_INSTALL_BOOTLOADER
$(INSTALL) -D -m 0644 $(BINARIES_DIR)/syslinux/* \
$(ROOTFS_ISO9660_TARGET_DIR)/isolinux/
$(ROOTFS_ISO9660_TMP_TARGET_DIR)/isolinux/
$(INSTALL) -D -m 0644 $(HOST_DIR)/share/syslinux/ldlinux.c32 \
$(ROOTFS_ISO9660_TARGET_DIR)/isolinux/ldlinux.c32
$(ROOTFS_ISO9660_TMP_TARGET_DIR)/isolinux/ldlinux.c32
endef
endif
@ -96,7 +96,7 @@ endef
# Copy the kernel to temporary filesystem
define ROOTFS_ISO9660_COPY_KERNEL
$(INSTALL) -D -m 0644 $(LINUX_IMAGE_PATH) \
$(ROOTFS_ISO9660_TARGET_DIR)/boot/$(LINUX_IMAGE_NAME)
$(ROOTFS_ISO9660_TMP_TARGET_DIR)/boot/$(LINUX_IMAGE_NAME)
endef
ifeq ($(ROOTFS_ISO9660_USE_INITRD),YES)
@ -111,7 +111,7 @@ else
ROOTFS_ISO9660_DEPENDENCIES += rootfs-cpio
define ROOTFS_ISO9660_COPY_INITRD
$(INSTALL) -D -m 0644 $(BINARIES_DIR)/rootfs.cpio$(ROOTFS_CPIO_COMPRESS_EXT) \
$(ROOTFS_ISO9660_TARGET_DIR)/boot/initrd
$(ROOTFS_ISO9660_TMP_TARGET_DIR)/boot/initrd
$(SED) "s%__INITRD_PATH__%/boot/initrd%" \
$(ROOTFS_ISO9660_BOOTLOADER_CONFIG_PATH)
endef
@ -128,12 +128,11 @@ ROOTFS_ISO9660_PRE_GEN_HOOKS += ROOTFS_ISO9660_DISABLE_EXTERNAL_INITRD
endif # ROOTFS_ISO9660_USE_INITRD
define ROOTFS_ISO9660_CMD
$(HOST_DIR)/bin/genisoimage -J -R -b $(ROOTFS_ISO9660_BOOT_IMAGE) \
-no-emul-boot -boot-load-size 4 -boot-info-table \
$(ROOTFS_ISO9660_GENISOIMAGE_OPTS) \
-o $@ $(ROOTFS_ISO9660_TARGET_DIR)
-o $@ $(ROOTFS_ISO9660_TMP_TARGET_DIR)
endef
ifeq ($(BR2_TARGET_ROOTFS_ISO9660_HYBRID),y)

View File

@ -38,8 +38,8 @@ endchoice
config BR2_TARGET_ROOTFS_JFFS2_CUSTOM_EBSIZE
hex "Erase block size"
depends on BR2_TARGET_ROOTFS_JFFS2_CUSTOM
default 0x20000
depends on BR2_TARGET_ROOTFS_JFFS2_CUSTOM
help
Set to erase size of memory
@ -68,8 +68,8 @@ config BR2_TARGET_ROOTFS_JFFS2_PAD
config BR2_TARGET_ROOTFS_JFFS2_PADSIZE
hex "Pad output size (0x0 = to end of EB)"
depends on BR2_TARGET_ROOTFS_JFFS2_PAD
default 0x0
depends on BR2_TARGET_ROOTFS_JFFS2_PAD
help
Set to 0x0 to pad to end of erase block.
@ -94,19 +94,20 @@ config BR2_TARGET_ROOTFS_JFFS2_SUMMARY
config BR2_TARGET_ROOTFS_JFFS2_USE_CUSTOM_PAGESIZE
bool "Select custom virtual memory page size"
help
Use a custom virtual memory page size. Note that this is not related to
the flash memory page size. Using this option is only needed if Linux is
configured to use a page size different than 4kB.
Use a custom virtual memory page size. Note that this is not
related to the flash memory page size. Using this option is
only needed if Linux is configured to use a page size
different than 4kB.
config BR2_TARGET_ROOTFS_JFFS2_CUSTOM_PAGESIZE
hex "Virtual memory page size"
depends on BR2_TARGET_ROOTFS_JFFS2_USE_CUSTOM_PAGESIZE
default 0x1000
depends on BR2_TARGET_ROOTFS_JFFS2_USE_CUSTOM_PAGESIZE
help
Set to virtual memory page size of target system (in bytes). This value
should match the virtual page size in Linux (i.e. this should have the
same value as the value of the PAGE_SIZE macro in Linux). It is not
related to the flash memory page size.
Set to virtual memory page size of target system (in bytes).
This value should match the virtual page size in Linux (i.e.
this should have the same value as the value of the PAGE_SIZE
macro in Linux). It is not related to the flash memory page
size.
endif

View File

@ -27,5 +27,8 @@ config BR2_TARGET_ROOTFS_SQUASHFS4_LZO
config BR2_TARGET_ROOTFS_SQUASHFS4_XZ
bool "xz"
config BR2_TARGET_ROOTFS_SQUASHFS4_ZSTD
bool "zstd"
endchoice
endif

View File

@ -16,6 +16,8 @@ else ifeq ($(BR2_TARGET_ROOTFS_SQUASHFS4_LZMA),y)
ROOTFS_SQUASHFS_ARGS += -comp lzma
else ifeq ($(BR2_TARGET_ROOTFS_SQUASHFS4_XZ),y)
ROOTFS_SQUASHFS_ARGS += -comp xz
else ifeq ($(BR2_TARGET_ROOTFS_SQUASHFS4_ZSTD),y)
ROOTFS_SQUASHFS_ARGS += -comp zstd
else
ROOTFS_SQUASHFS_ARGS += -comp gzip
endif

View File

@ -50,8 +50,8 @@ endchoice
config BR2_TARGET_ROOTFS_TAR_OPTIONS
string "other random options to pass to tar"
depends on BR2_TARGET_ROOTFS_TAR
default ""
depends on BR2_TARGET_ROOTFS_TAR
help
Any other flags you want to pass to tar
Refer to tar --help for details

View File

@ -6,6 +6,8 @@
TAR_OPTS := $(call qstrip,$(BR2_TARGET_ROOTFS_TAR_OPTIONS))
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)

View File

@ -18,8 +18,9 @@ config BR2_TARGET_ROOTFS_UBI_SUBSIZE
int "sub-page size"
default 512
help
Tells ubinize that the flash supports sub-pages and the sub-page
size. Use 0 if sub-pages are not supported on flash chip.
Tells ubinize that the flash supports sub-pages and the
sub-page size. Use 0 if sub-pages are not supported on flash
chip.
The value provided here is passed to the -s/--sub-page-size
option of ubinize.
@ -28,9 +29,9 @@ config BR2_TARGET_ROOTFS_UBI_USE_CUSTOM_CONFIG
help
Select this option to use a custom ubinize configuration file,
rather than the default configuration used by Buildroot (which
defines a single dynamic volume marked as auto-resize). Passing
a custom ubinize configuration file allows you to create several
volumes, specify volume types, etc.
defines a single dynamic volume marked as auto-resize).
Passing a custom ubinize configuration file allows you to
create several volumes, specify volume types, etc.
As a convenience, buildroot replaces the string
"BR2_ROOTFS_UBIFS_PATH" with the path to the built ubifs file.

View File

@ -15,16 +15,16 @@ UBI_UBINIZE_OPTS += $(call qstrip,$(BR2_TARGET_ROOTFS_UBI_OPTS))
ROOTFS_UBI_DEPENDENCIES = rootfs-ubifs
ifeq ($(BR2_TARGET_ROOTFS_UBI_USE_CUSTOM_CONFIG),y)
UBINIZE_CONFIG_FILE_PATH = $(call qstrip,$(BR2_TARGET_ROOTFS_UBI_CUSTOM_CONFIG_FILE))
UBI_UBINIZE_CONFIG_FILE_PATH = $(call qstrip,$(BR2_TARGET_ROOTFS_UBI_CUSTOM_CONFIG_FILE))
else
UBINIZE_CONFIG_FILE_PATH = fs/ubi/ubinize.cfg
UBI_UBINIZE_CONFIG_FILE_PATH = fs/ubi/ubinize.cfg
endif
# don't use sed -i as it misbehaves on systems with SELinux enabled when this is
# executed through fakeroot (see #9386)
define ROOTFS_UBI_CMD
sed 's;BR2_ROOTFS_UBIFS_PATH;$@fs;' \
$(UBINIZE_CONFIG_FILE_PATH) > $(BUILD_DIR)/ubinize.cfg
$(UBI_UBINIZE_CONFIG_FILE_PATH) > $(BUILD_DIR)/ubinize.cfg
$(HOST_DIR)/sbin/ubinize -o $@ $(UBI_UBINIZE_OPTS) $(BUILD_DIR)/ubinize.cfg
rm $(BUILD_DIR)/ubinize.cfg
endef

View File

@ -117,14 +117,17 @@ config BR2_LINUX_KERNEL_EXT_AUFS_VERSION
string "aufs-standalone version"
default ""
help
The version you choose must match that of your kernel. Usually,
the sha1 of the cset you want to use; avoid using a branch name
as this yields non-reproducible builds.
The version you choose must match that of your kernel.
Usually, the sha1 of the cset you want to use; avoid using a
branch name as this yields non-reproducible builds.
See the following resources to see what versions are available:
See the following resources to see what versions are
available:
For aufs3.x: https://sourceforge.net/p/aufs/aufs3-standalone/ref/master/branches/
For aufs4.x: https://github.com/sfjro/aufs4-standalone/branches/all
For aufs3.x:
https://sourceforge.net/p/aufs/aufs3-standalone/ref/master/branches/
For aufs4.x:
https://github.com/sfjro/aufs4-standalone/branches/all
endif # aufs

View File

@ -30,7 +30,7 @@ choice
prompt "Kernel version"
config BR2_LINUX_KERNEL_LATEST_VERSION
bool "Latest version (4.15)"
bool "Latest version (4.17)"
config BR2_LINUX_KERNEL_LATEST_CIP_VERSION
bool "Latest CIP SLTS version (v4.4.138-cip25)"
@ -65,13 +65,13 @@ config BR2_LINUX_KERNEL_CUSTOM_VERSION
config BR2_LINUX_KERNEL_CUSTOM_TARBALL
bool "Custom tarball"
help
This option allows to specify a URL pointing to a kernel source
tarball. This URL can use any protocol recognized by Buildroot,
like http://, ftp://, file:// or scp://.
This option allows to specify a URL pointing to a kernel
source tarball. This URL can use any protocol recognized by
Buildroot, like http://, ftp://, file:// or scp://.
When pointing to a local tarball using file://, you may want to
use a make variable like $(TOPDIR) to reference the root of the
Buildroot tree.
When pointing to a local tarball using file://, you may want
to use a make variable like $(TOPDIR) to reference the root of
the Buildroot tree.
config BR2_LINUX_KERNEL_CUSTOM_GIT
bool "Custom Git repository"
@ -113,14 +113,14 @@ config BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION
default BR2_LINUX_KERNEL_CUSTOM_GIT_VERSION \
if BR2_LINUX_KERNEL_CUSTOM_GIT_VERSION != "" # legacy
help
Revision to use in the typical format used by Git/Mercurial/Subversion
E.G. a sha id, a tag, branch, ..
Revision to use in the typical format used by
Git/Mercurial/Subversion E.G. a sha id, a tag, branch, ..
endif
config BR2_LINUX_KERNEL_VERSION
string
default "4.15.16" if BR2_LINUX_KERNEL_LATEST_VERSION
default "4.17.19" if BR2_LINUX_KERNEL_LATEST_VERSION
default "v4.4.138-cip25" if BR2_LINUX_KERNEL_LATEST_CIP_VERSION
default BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE \
if BR2_LINUX_KERNEL_CUSTOM_VERSION
@ -179,7 +179,8 @@ config BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE
Path to the kernel configuration file
Note: this can be a defconfig file or a complete .config file,
which can later be saved back with make linux-update-(def)config.
which can later be saved back with make
linux-update-(def)config.
config BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES
string "Additional configuration fragment files"
@ -197,7 +198,7 @@ choice
config BR2_LINUX_KERNEL_UIMAGE
bool "uImage"
depends on BR2_arc || BR2_arm || BR2_armeb || BR2_bfin || \
depends on BR2_arc || BR2_arm || BR2_armeb || \
BR2_powerpc || BR2_powerpc64 || BR2_powerpc64le || \
BR2_sh || BR2_mips || BR2_mipsel || \
BR2_mips64 || BR2_mips64el || BR2_xtensa
@ -288,9 +289,9 @@ endchoice
choice
prompt "Kernel compression format"
help
This selection will just ensure that the correct host tools are built.
The actual compression for the kernel should be selected in the
kernel configuration menu.
This selection will just ensure that the correct host tools
are built. The actual compression for the kernel should be
selected in the kernel configuration menu.
config BR2_LINUX_KERNEL_GZIP
bool "gzip compression"
@ -321,8 +322,9 @@ config BR2_LINUX_KERNEL_IMAGE_NAME
depends on BR2_LINUX_KERNEL_IMAGE_TARGET_CUSTOM
help
The filename of the kernel image, if it is different from the
make target (above). Only Xtensa uses a filename different from
the make target. Defaults to BR2_LINUX_KERNEL_IMAGE_TARGET_NAME.
make target (above). Only Xtensa uses a filename different
from the make target. Defaults to
BR2_LINUX_KERNEL_IMAGE_TARGET_NAME.
If unsure, leave it empty.
@ -331,18 +333,19 @@ config BR2_LINUX_KERNEL_UIMAGE_LOADADDR
depends on BR2_arm || BR2_armeb
depends on BR2_LINUX_KERNEL_UIMAGE || BR2_LINUX_KERNEL_APPENDED_UIMAGE
help
If your ARM system's Linux kernel is configured with the new (3.7+)
multi-architecture support (CONFIG_ARCH_MULTIPLATFORM=y in your
kernel config), then it is necessary to specify a kernel load address
when building the uImage. This should be a hexadecimal string
beginning with 0x, for example: 0x00008000.
If your ARM system's Linux kernel is configured with the new
(3.7+) multi-architecture support (CONFIG_ARCH_MULTIPLATFORM=y
in your kernel config), then it is necessary to specify a
kernel load address when building the uImage. This should be a
hexadecimal string beginning with 0x, for example: 0x00008000.
If unsure, let this option empty.
config BR2_LINUX_KERNEL_DTS_SUPPORT
bool "Build a Device Tree Blob (DTB)"
help
Compile one or more device tree sources into device tree blobs.
Compile one or more device tree sources into device tree
blobs.
Select the dts files to compile in the options below.
if BR2_LINUX_KERNEL_DTS_SUPPORT

View File

@ -1,7 +1,7 @@
################################################################################
# Linux Aufs extensions
#
# Patch the linux kernel with aufs extension
#
################################################################################
LINUX_EXTENSIONS += aufs

View File

@ -1,7 +1,7 @@
################################################################################
# Linux ev3dev extensions
#
# Patch the linux kernel with ev3dev extension
#
################################################################################
LINUX_EXTENSIONS += ev3dev-linux-drivers

View File

@ -1,7 +1,7 @@
################################################################################
# Linux fbtft extensions
#
# Patch the linux kernel with fbtft extension
#
################################################################################
LINUX_EXTENSIONS += fbtft

View File

@ -1,7 +1,7 @@
################################################################################
# Linux RTAI extensions
#
# Patch the linux kernel with RTAI extension
#
################################################################################
LINUX_EXTENSIONS += rtai
@ -20,8 +20,8 @@ endif
define RTAI_PREPARE_KERNEL
kver=`$(MAKE) $(LINUX_MAKE_FLAGS) -C $(LINUX_DIR) --no-print-directory -s kernelversion` ; \
if test -f $(RTAI_DIR)/base/arch/$(RTAI_ARCH)/patches/hal-linux-$${kver}-*patch ; then \
$(APPLY_PATCHES) $(LINUX_DIR) \
$(RTAI_DIR)/base/arch/$(RTAI_ARCH)/patches/ \
$(APPLY_PATCHES) $(LINUX_DIR) \
$(RTAI_DIR)/base/arch/$(RTAI_ARCH)/patches/ \
hal-linux-$${kver}-*patch ; \
else \
echo "No RTAI patch for your kernel version" ; \

View File

@ -1,7 +1,7 @@
################################################################################
# Linux Adeos/Xenomai extensions
#
# Patch the linux kernel with xenomai extension
# Patch the linux kernel with Adeos/Xenomai extension
#
################################################################################
LINUX_EXTENSIONS += xenomai

View File

@ -62,7 +62,19 @@ LINUX_PATCHES = $(call qstrip,$(BR2_LINUX_KERNEL_PATCH))
LINUX_PATCH = $(filter ftp://% http://% https://%,$(LINUX_PATCHES))
LINUX_INSTALL_IMAGES = YES
LINUX_DEPENDENCIES += host-kmod
LINUX_DEPENDENCIES = host-kmod
# Starting with 4.16, the generated kconfig paser code is no longer
# shipped with the kernel sources, so we need flex and bison, but
# only if the host does not have them.
LINUX_KCONFIG_DEPENDENCIES = \
$(BR2_BISON_HOST_DEPENDENCY) \
$(BR2_FLEX_HOST_DEPENDENCY)
# Starting with 4.18, the kconfig in the kernel calls the
# cross-compiler to check its capabilities. So we need the
# toolchain before we can call the configurators.
LINUX_KCONFIG_DEPENDENCIES += toolchain
# host tools needed for kernel compression
ifeq ($(BR2_LINUX_KERNEL_LZ4),y)
@ -121,19 +133,29 @@ LINUX_MAKE_ENV += \
KBUILD_BUILD_TIMESTAMP="$(shell LC_ALL=C date -d @$(SOURCE_DATE_EPOCH))"
endif
# gcc-8 started warning about function aliases that have a
# non-matching prototype. This seems rather useful in general, but it
# causes tons of warnings in the Linux kernel, where we rely on
# abusing those aliases for system call entry points, in order to
# sanitize the arguments passed from user space in registers.
# https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82435
ifeq ($(BR2_TOOLCHAIN_GCC_AT_LEAST_8),y)
LINUX_MAKE_ENV += KCFLAGS=-Wno-attribute-alias
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`
KERNEL_DTS_NAME += $(call qstrip,$(BR2_LINUX_KERNEL_INTREE_DTS_NAME))
LINUX_DTS_NAME += $(call qstrip,$(BR2_LINUX_KERNEL_INTREE_DTS_NAME))
# We keep only the .dts files, so that the user can specify both .dts
# and .dtsi files in BR2_LINUX_KERNEL_CUSTOM_DTS_PATH. Both will be
# copied to arch/<arch>/boot/dts, but only the .dts files will
# actually be generated as .dtb.
KERNEL_DTS_NAME += $(basename $(filter %.dts,$(notdir $(call qstrip,$(BR2_LINUX_KERNEL_CUSTOM_DTS_PATH)))))
LINUX_DTS_NAME += $(basename $(filter %.dts,$(notdir $(call qstrip,$(BR2_LINUX_KERNEL_CUSTOM_DTS_PATH)))))
KERNEL_DTBS = $(addsuffix .dtb,$(KERNEL_DTS_NAME))
LINUX_DTBS = $(addsuffix .dtb,$(LINUX_DTS_NAME))
ifeq ($(BR2_LINUX_KERNEL_IMAGE_TARGET_CUSTOM),y)
LINUX_IMAGE_NAME = $(call qstrip,$(BR2_LINUX_KERNEL_IMAGE_NAME))
@ -155,9 +177,9 @@ LINUX_IMAGE_NAME = zImage.epapr
else ifeq ($(BR2_LINUX_KERNEL_APPENDED_ZIMAGE),y)
LINUX_IMAGE_NAME = zImage
else ifeq ($(BR2_LINUX_KERNEL_CUIMAGE),y)
LINUX_IMAGE_NAME = cuImage.$(firstword $(KERNEL_DTS_NAME))
LINUX_IMAGE_NAME = cuImage.$(firstword $(LINUX_DTS_NAME))
else ifeq ($(BR2_LINUX_KERNEL_SIMPLEIMAGE),y)
LINUX_IMAGE_NAME = simpleImage.$(firstword $(KERNEL_DTS_NAME))
LINUX_IMAGE_NAME = simpleImage.$(firstword $(LINUX_DTS_NAME))
else ifeq ($(BR2_LINUX_KERNEL_IMAGE),y)
LINUX_IMAGE_NAME = Image
else ifeq ($(BR2_LINUX_KERNEL_LINUX_BIN),y)
@ -187,11 +209,11 @@ endif
# for bzImage, arch/i386 and arch/x86_64 do not exist when copying the
# defconfig file.
ifeq ($(KERNEL_ARCH),i386)
KERNEL_ARCH_PATH = $(LINUX_DIR)/arch/x86
LINUX_ARCH_PATH = $(LINUX_DIR)/arch/x86
else ifeq ($(KERNEL_ARCH),x86_64)
KERNEL_ARCH_PATH = $(LINUX_DIR)/arch/x86
LINUX_ARCH_PATH = $(LINUX_DIR)/arch/x86
else
KERNEL_ARCH_PATH = $(LINUX_DIR)/arch/$(KERNEL_ARCH)
LINUX_ARCH_PATH = $(LINUX_DIR)/arch/$(KERNEL_ARCH)
endif
ifeq ($(BR2_LINUX_KERNEL_VMLINUX),y)
@ -201,7 +223,7 @@ LINUX_IMAGE_PATH = $(LINUX_DIR)/$(LINUX_IMAGE_NAME)
else ifeq ($(BR2_LINUX_KERNEL_VMLINUZ_BIN),y)
LINUX_IMAGE_PATH = $(LINUX_DIR)/$(LINUX_IMAGE_NAME)
else
LINUX_IMAGE_PATH = $(KERNEL_ARCH_PATH)/boot/$(LINUX_IMAGE_NAME)
LINUX_IMAGE_PATH = $(LINUX_ARCH_PATH)/boot/$(LINUX_IMAGE_NAME)
endif # BR2_LINUX_KERNEL_VMLINUX
define LINUX_APPLY_LOCAL_PATCHES
@ -305,6 +327,9 @@ define LINUX_KCONFIG_FIXUP_CMDS
$(call KCONFIG_ENABLE_OPT,CONFIG_SECURITY,$(@D)/.config)
$(call KCONFIG_ENABLE_OPT,CONFIG_SECURITY_SMACK,$(@D)/.config)
$(call KCONFIG_ENABLE_OPT,CONFIG_SECURITY_NETWORK,$(@D)/.config))
$(if $(BR2_PACKAGE_SUNXI_MALI_MAINLINE_DRIVER),
$(call KCONFIG_ENABLE_OPT,CONFIG_CMA,$(@D)/.config)
$(call KCONFIG_ENABLE_OPT,CONFIG_DMA_CMA,$(@D)/.config))
$(if $(BR2_PACKAGE_IPTABLES),
$(call KCONFIG_ENABLE_OPT,CONFIG_IP_NF_IPTABLES,$(@D)/.config)
$(call KCONFIG_ENABLE_OPT,CONFIG_IP_NF_FILTER,$(@D)/.config)
@ -327,16 +352,21 @@ define LINUX_KCONFIG_FIXUP_CMDS
endef
ifeq ($(BR2_LINUX_KERNEL_DTS_SUPPORT),y)
# Starting with 4.17, the generated dtc parser code is no longer
# shipped with the kernel sources, so we need flex and bison. For
# reproducibility, we use our owns rather than the host ones.
LINUX_DEPENDENCIES += host-bison host-flex
ifeq ($(BR2_LINUX_KERNEL_DTB_IS_SELF_BUILT),)
define LINUX_BUILD_DTB
$(LINUX_MAKE_ENV) $(MAKE) $(LINUX_MAKE_FLAGS) -C $(@D) $(KERNEL_DTBS)
$(LINUX_MAKE_ENV) $(MAKE) $(LINUX_MAKE_FLAGS) -C $(@D) $(LINUX_DTBS)
endef
ifeq ($(BR2_LINUX_KERNEL_APPENDED_DTB),)
define LINUX_INSTALL_DTB
# dtbs moved from arch/<ARCH>/boot to arch/<ARCH>/boot/dts since 3.8-rc1
cp $(addprefix \
$(KERNEL_ARCH_PATH)/boot/$(if $(wildcard \
$(addprefix $(KERNEL_ARCH_PATH)/boot/dts/,$(KERNEL_DTBS))),dts/),$(KERNEL_DTBS)) \
$(LINUX_ARCH_PATH)/boot/$(if $(wildcard \
$(addprefix $(LINUX_ARCH_PATH)/boot/dts/,$(LINUX_DTBS))),dts/),$(LINUX_DTBS)) \
$(1)
endef
endif # BR2_LINUX_KERNEL_APPENDED_DTB
@ -346,8 +376,8 @@ endif # BR2_LINUX_KERNEL_DTS_SUPPORT
ifeq ($(BR2_LINUX_KERNEL_APPENDED_DTB),y)
# dtbs moved from arch/$ARCH/boot to arch/$ARCH/boot/dts since 3.8-rc1
define LINUX_APPEND_DTB
(cd $(KERNEL_ARCH_PATH)/boot; \
for dtb in $(KERNEL_DTS_NAME); do \
(cd $(LINUX_ARCH_PATH)/boot; \
for dtb in $(LINUX_DTS_NAME); do \
if test -e $${dtb}.dtb ; then \
dtbpath=$${dtb}.dtb ; \
else \
@ -365,10 +395,10 @@ ifeq ($(BR2_LINUX_KERNEL_APPENDED_UIMAGE),y)
LINUX_APPEND_DTB += ; \
MKIMAGE_ARGS=`$(MKIMAGE) -l $(LINUX_IMAGE_PATH) |\
sed -n -e 's/Image Name:[ ]*\(.*\)/-n \1/p' -e 's/Load Address:/-a/p' -e 's/Entry Point:/-e/p'`; \
for dtb in $(KERNEL_DTS_NAME); do \
for dtb in $(LINUX_DTS_NAME); do \
$(MKIMAGE) -A $(MKIMAGE_ARCH) -O linux \
-T kernel -C none $${MKIMAGE_ARGS} \
-d $(KERNEL_ARCH_PATH)/boot/zImage.$${dtb} $(LINUX_IMAGE_PATH).$${dtb}; \
-d $(LINUX_ARCH_PATH)/boot/zImage.$${dtb} $(LINUX_IMAGE_PATH).$${dtb}; \
done
endif
endif
@ -376,12 +406,12 @@ endif
# Compilation. We make sure the kernel gets rebuilt when the
# configuration has changed.
define LINUX_BUILD_CMDS
@for dts in $(call qstrip,$(BR2_LINUX_KERNEL_CUSTOM_DTS_PATH)); do \
cp -f $${dts} $(KERNEL_ARCH_PATH)/boot/dts/ ; \
done
$(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) $(LINUX_TARGET_NAME)
@if grep -q "CONFIG_MODULES=y" $(@D)/.config; then \
$(LINUX_MAKE_ENV) $(MAKE) $(LINUX_MAKE_FLAGS) -C $(@D) modules ; \
@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)
@ -392,7 +422,7 @@ ifeq ($(BR2_LINUX_KERNEL_APPENDED_DTB),y)
# appended DTBs.
define LINUX_INSTALL_IMAGE
mkdir -p $(1)
cp $(KERNEL_ARCH_PATH)/boot/$(LINUX_IMAGE_NAME).* $(1)
cp $(LINUX_ARCH_PATH)/boot/$(LINUX_IMAGE_NAME).* $(1)
endef
else
# Otherwise, just install the unique image generated by the kernel
@ -411,15 +441,14 @@ endif
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 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 \
fi
endef
define LINUX_INSTALL_IMAGES_CMDS
$(call LINUX_INSTALL_IMAGE,$(BINARIES_DIR))
$(call LINUX_INSTALL_DTB,$(BINARIES_DIR))
@ -433,10 +462,10 @@ define LINUX_INSTALL_TARGET_CMDS
$(LINUX_INSTALL_KERNEL_IMAGE_TO_TARGET)
# Install modules and remove symbolic links pointing to build
# directories, not relevant on the target
@if grep -q "CONFIG_MODULES=y" $(@D)/.config; then \
@if grep -q "CONFIG_MODULES=y" $(@D)/.config; then \
$(LINUX_MAKE_ENV) $(MAKE1) $(LINUX_MAKE_FLAGS) -C $(@D) modules_install; \
rm -f $(TARGET_DIR)/lib/modules/$(LINUX_VERSION_PROBED)/build ; \
rm -f $(TARGET_DIR)/lib/modules/$(LINUX_VERSION_PROBED)/source ; \
rm -f $(TARGET_DIR)/lib/modules/$(LINUX_VERSION_PROBED)/build ; \
rm -f $(TARGET_DIR)/lib/modules/$(LINUX_VERSION_PROBED)/source ; \
fi
$(LINUX_INSTALL_HOST_TOOLS)
endef
@ -489,9 +518,9 @@ $(error No kernel configuration file specified, check your BR2_LINUX_KERNEL_CUST
endif
endif
ifeq ($(BR2_LINUX_KERNEL_DTS_SUPPORT):$(strip $(KERNEL_DTS_NAME)),y:)
ifeq ($(BR2_LINUX_KERNEL_DTS_SUPPORT):$(strip $(LINUX_DTS_NAME)),y:)
$(error No kernel device tree source specified, check your \
BR2_LINUX_KERNEL_INTREE_DTS_NAME / BR2_LINUX_KERNEL_CUSTOM_DTS_PATH settings)
BR2_LINUX_KERNEL_INTREE_DTS_NAME / BR2_LINUX_KERNEL_CUSTOM_DTS_PATH settings)
endif
endif # BR_BUILDING

View File

@ -0,0 +1,3 @@
# Locally calculated
sha256 9ce2c7228dd0ac8d3cc530a32bb92b532bdbc5dfb6a405c245abee678d878697 18xx-ti-utils-R8.7_SP3.tar.gz
sha256 363cef40b276a7a91ebcff3f78626d9cfe5e5a51927c725236007259403d5fc4 COPYING

View File

@ -0,0 +1,30 @@
################################################################################
#
# 18xx-ti-utils
#
################################################################################
18XX_TI_UTILS_VERSION = R8.7_SP3
18XX_TI_UTILS_SITE = git://git.ti.com/wilink8-wlan/18xx-ti-utils
18XX_TI_UTILS_DEPENDENCIES = libnl
18XX_TI_UTILS_LICENSE = BSD-3-Clause
18XX_TI_UTILS_LICENSE_FILES = COPYING
18XX_TI_UTILS_CFLAGS = -I$(STAGING_DIR)/usr/include/libnl3 -DCONFIG_LIBNL32
ifeq ($(BR2_STATIC_LIBS),y)
18XX_TI_UTILS_BUILD_TARGET = static
endif
define 18XX_TI_UTILS_BUILD_CMDS
$(TARGET_MAKE_ENV) CROSS_COMPILE=$(TARGET_CROSS) \
NFSROOT="$(STAGING_DIR)" NLVER=3 $(MAKE) -C $(@D) \
CFLAGS="$(TARGET_CFLAGS) $(18XX_TI_UTILS_CFLAGS)" \
$(18XX_TI_UTILS_BUILD_TARGET)
endef
define 18XX_TI_UTILS_INSTALL_TARGET_CMDS
$(INSTALL) -m 0755 $(@D)/calibrator $(TARGET_DIR)/usr/bin/calibrator
endef
$(eval $(generic-package))

View File

@ -0,0 +1,14 @@
config BR2_PACKAGE_18XX_TI_UTILS
bool "18xx-ti-utils"
depends on BR2_TOOLCHAIN_HAS_THREADS # libnl
select BR2_PACKAGE_LIBNL
help
TI Wilink calibration utilities.
CONFIG_NL80211_TESTMODE must be enabled in the kernel
configuration for this package to work.
http://processors.wiki.ti.com/index.php/WL18xx_TX_Testing
comment "18xx-ti-utils needs a toolchain w/ threads"
depends on !BR2_TOOLCHAIN_HAS_THREADS

View File

@ -13,6 +13,7 @@ menu "Audio and video applications"
source "package/atest/Config.in"
source "package/aumix/Config.in"
source "package/bellagio/Config.in"
source "package/bluez-alsa/Config.in"
source "package/dvblast/Config.in"
source "package/dvdauthor/Config.in"
source "package/dvdrw-tools/Config.in"
@ -36,7 +37,6 @@ menu "Audio and video applications"
source "package/mpd/Config.in"
source "package/mpd-mpc/Config.in"
source "package/mpg123/Config.in"
source "package/mplayer/Config.in"
source "package/mpv/Config.in"
source "package/multicat/Config.in"
source "package/musepack/Config.in"
@ -70,6 +70,7 @@ menu "Compressors and decompressors"
source "package/lzip/Config.in"
source "package/lzop/Config.in"
source "package/p7zip/Config.in"
source "package/pigz/Config.in"
source "package/pixz/Config.in"
source "package/unrar/Config.in"
source "package/unzip/Config.in"
@ -166,6 +167,7 @@ menu "Development tools"
endmenu
menu "Filesystem and flash utilities"
source "package/abootimg/Config.in"
source "package/aufs/Config.in"
source "package/aufs-util/Config.in"
source "package/autofs/Config.in"
@ -174,6 +176,7 @@ menu "Filesystem and flash utilities"
source "package/cpio/Config.in"
source "package/cramfs/Config.in"
source "package/curlftpfs/Config.in"
source "package/davfs2/Config.in"
source "package/dosfstools/Config.in"
source "package/e2fsprogs/Config.in"
source "package/e2tools/Config.in"
@ -187,6 +190,7 @@ menu "Filesystem and flash utilities"
source "package/genext2fs/Config.in"
source "package/genpart/Config.in"
source "package/genromfs/Config.in"
source "package/imx-usb-loader/Config.in"
source "package/mmc-utils/Config.in"
source "package/mtd/Config.in"
source "package/mtools/Config.in"
@ -197,6 +201,7 @@ menu "Filesystem and flash utilities"
source "package/squashfs/Config.in"
source "package/sshfs/Config.in"
source "package/sunxi-tools/Config.in"
source "package/udftools/Config.in"
source "package/unionfs/Config.in"
source "package/xfsprogs/Config.in"
endmenu
@ -233,6 +238,8 @@ endmenu
menu "Games"
source "package/chocolate-doom/Config.in"
source "package/doom-wad/Config.in"
source "package/flare-engine/Config.in"
source "package/flare-game/Config.in"
source "package/gnuchess/Config.in"
source "package/lbreakout2/Config.in"
source "package/ltris/Config.in"
@ -299,12 +306,15 @@ comment "Graphic libraries"
source "package/sdl2_mixer/Config.in"
source "package/sdl2_net/Config.in"
source "package/sdl2_ttf/Config.in"
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
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"
@ -334,6 +344,7 @@ comment "X applications"
source "package/qt-webkit-kiosk/Config.in"
source "package/rdesktop/Config.in"
source "package/synergy/Config.in"
source "package/vte/Config.in"
source "package/wmctrl/Config.in"
source "package/x11vnc/Config.in"
source "package/xdotool/Config.in"
@ -375,6 +386,7 @@ menu "Firmware"
source "package/wilink-bt-firmware/Config.in"
source "package/zd1211-firmware/Config.in"
endmenu
source "package/18xx-ti-utils/Config.in"
source "package/a10disp/Config.in"
source "package/acpica/Config.in"
source "package/acpid/Config.in"
@ -435,7 +447,6 @@ endmenu
source "package/iostat/Config.in"
source "package/ipmitool/Config.in"
source "package/ipmiutil/Config.in"
source "package/iqvlinux/Config.in"
source "package/irda-utils/Config.in"
source "package/iucode-tool/Config.in"
source "package/kbd/Config.in"
@ -486,10 +497,10 @@ endmenu
source "package/rpi-userland/Config.in"
source "package/rs485conf/Config.in"
source "package/rtl8188eu/Config.in"
source "package/rtl8189fs/Config.in"
source "package/rtl8723bs/Config.in"
source "package/rtl8723bu/Config.in"
source "package/rtl8821au/Config.in"
source "package/rtl8189fs/Config.in"
source "package/sane-backends/Config.in"
source "package/sdparm/Config.in"
source "package/setserial/Config.in"
@ -504,6 +515,8 @@ endmenu
source "package/stm32flash/Config.in"
source "package/sunxi-cedarx/Config.in"
source "package/sunxi-mali/Config.in"
source "package/sunxi-mali-mainline/Config.in"
source "package/sunxi-mali-mainline-driver/Config.in"
source "package/sysstat/Config.in"
source "package/targetcli-fb/Config.in"
source "package/ti-gfx/Config.in"
@ -652,10 +665,14 @@ endif
source "package/perl/Config.in"
if BR2_PACKAGE_PERL
menu "Perl libraries/modules"
source "package/perl-convert-asn1/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-datetime-tiny/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-encode-detect/Config.in"
source "package/perl-encode-locale/Config.in"
@ -678,11 +695,17 @@ menu "Perl libraries/modules"
source "package/perl-lwp-mediatypes/Config.in"
source "package/perl-mail-dkim/Config.in"
source "package/perl-mailtools/Config.in"
source "package/perl-mime-base64-urlsafe/Config.in"
source "package/perl-mime-base64/Config.in"
source "package/perl-mojolicious-plugin-authentication/Config.in"
source "package/perl-mojolicious/Config.in"
source "package/perl-net-dns/Config.in"
source "package/perl-net-http/Config.in"
source "package/perl-net-ping/Config.in"
source "package/perl-net-snmp/Config.in"
source "package/perl-net-ssh2/Config.in"
source "package/perl-net-ssleay/Config.in"
source "package/perl-net-telnet/Config.in"
source "package/perl-netaddr-ip/Config.in"
source "package/perl-path-tiny/Config.in"
source "package/perl-time-hires/Config.in"
@ -729,10 +752,12 @@ menu "External python modules"
source "package/python-babel/Config.in"
source "package/python-backports-abc/Config.in"
source "package/python-backports-shutil-get-terminal-size/Config.in"
source "package/python-backports-ssl-match-hostname/Config.in"
source "package/python-bcrypt/Config.in"
source "package/python-beautifulsoup4/Config.in"
source "package/python-bitstring/Config.in"
source "package/python-bottle/Config.in"
source "package/python-cached-property/Config.in"
source "package/python-can/Config.in"
source "package/python-cbor/Config.in"
source "package/python-certifi/Config.in"
@ -755,6 +780,7 @@ menu "External python modules"
source "package/python-cssselect/Config.in"
source "package/python-cssutils/Config.in"
source "package/python-daemon/Config.in"
source "package/python-daemonize/Config.in"
source "package/python-dataproperty/Config.in"
source "package/python-dateutil/Config.in"
source "package/python-decorator/Config.in"
@ -762,6 +788,9 @@ menu "External python modules"
source "package/python-dialog3/Config.in"
source "package/python-dicttoxml/Config.in"
source "package/python-django/Config.in"
source "package/python-docker/Config.in"
source "package/python-dockerpty/Config.in"
source "package/python-docker-pycreds/Config.in"
source "package/python-docopt/Config.in"
source "package/python-docutils/Config.in"
source "package/python-dominate/Config.in"
@ -775,6 +804,7 @@ menu "External python modules"
source "package/python-flask-babel/Config.in"
source "package/python-flask-jsonrpc/Config.in"
source "package/python-flask-login/Config.in"
source "package/python-flask-sqlalchemy/Config.in"
source "package/python-flup/Config.in"
source "package/python-functools32/Config.in"
source "package/python-futures/Config.in"
@ -791,6 +821,7 @@ menu "External python modules"
source "package/python-id3/Config.in"
source "package/python-idna/Config.in"
source "package/python-incremental/Config.in"
source "package/python-influxdb/Config.in"
source "package/python-iniparse/Config.in"
source "package/python-iowait/Config.in"
source "package/python-ipaddr/Config.in"
@ -802,10 +833,12 @@ menu "External python modules"
source "package/python-itsdangerous/Config.in"
source "package/python-jaraco-classes/Config.in"
source "package/python-jinja2/Config.in"
source "package/python-jsonmodels/Config.in"
source "package/python-jsonschema/Config.in"
source "package/python-json-schema-validator/Config.in"
source "package/python-keyring/Config.in"
source "package/python-libconfig/Config.in"
source "package/python-libusb1/Config.in"
source "package/python-lmdb/Config.in"
source "package/python-logbook/Config.in"
source "package/python-lxml/Config.in"
@ -827,6 +860,7 @@ menu "External python modules"
source "package/python-netaddr/Config.in"
source "package/python-netifaces/Config.in"
source "package/python-networkmanager/Config.in"
source "package/python-networkx/Config.in"
source "package/python-nfc/Config.in"
source "package/python-numpy/Config.in"
source "package/python-oauthlib/Config.in"
@ -846,6 +880,7 @@ menu "External python modules"
source "package/python-prompt-toolkit/Config.in"
source "package/python-protobuf/Config.in"
source "package/python-psutil/Config.in"
source "package/python-psycopg2/Config.in"
source "package/python-ptyprocess/Config.in"
source "package/python-pudb/Config.in"
source "package/python-pyasn/Config.in"
@ -862,6 +897,7 @@ menu "External python modules"
source "package/python-pyinotify/Config.in"
source "package/python-pylibftdi/Config.in"
source "package/python-pylru/Config.in"
source "package/python-pymodbus/Config.in"
source "package/python-pymysql/Config.in"
source "package/python-pynacl/Config.in"
source "package/python-pyopenssl/Config.in"
@ -890,7 +926,9 @@ menu "External python modules"
source "package/python-pyyaml/Config.in"
source "package/python-pyzmq/Config.in"
source "package/python-raven/Config.in"
source "package/python-reentry/Config.in"
source "package/python-remi/Config.in"
source "package/python-request-id/Config.in"
source "package/python-requests/Config.in"
source "package/python-requests-oauthlib/Config.in"
source "package/python-requests-toolbelt/Config.in"
@ -920,10 +958,12 @@ menu "External python modules"
source "package/python-socketio/Config.in"
source "package/python-sortedcontainers//Config.in"
source "package/python-spidev/Config.in"
source "package/python-sqlalchemy/Config.in"
source "package/python-subprocess32/Config.in"
source "package/python-systemd/Config.in"
source "package/python-tabledata/Config.in"
source "package/python-tempora/Config.in"
source "package/python-typepy/Config.in"
source "package/python-texttable/Config.in"
source "package/python-thrift/Config.in"
source "package/python-tomako/Config.in"
source "package/python-toml/Config.in"
@ -933,16 +973,21 @@ menu "External python modules"
source "package/python-twisted/Config.in"
source "package/python-txaio/Config.in"
source "package/python-txtorcon/Config.in"
source "package/python-typepy/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-validators/Config.in"
source "package/python-versiontools/Config.in"
source "package/python-visitor/Config.in"
source "package/python-watchdog/Config.in"
source "package/python-wcwidth/Config.in"
source "package/python-web2py/Config.in"
source "package/python-webob/Config.in"
source "package/python-webpy/Config.in"
source "package/python-websocket-client/Config.in"
source "package/python-websockets/Config.in"
source "package/python-werkzeug/Config.in"
source "package/python-whoosh/Config.in"
@ -954,6 +999,7 @@ menu "External python modules"
source "package/python-xlutils/Config.in"
source "package/python-xlwt/Config.in"
source "package/python-xmltodict/Config.in"
source "package/python-yieldfrom/Config.in"
source "package/python-zope-interface/Config.in"
endmenu
endif
@ -982,6 +1028,7 @@ menu "Audio/Sound"
source "package/libcdaudio/Config.in"
source "package/libcddb/Config.in"
source "package/libcdio/Config.in"
source "package/libcdio-paranoia/Config.in"
source "package/libcodec2/Config.in"
source "package/libcue/Config.in"
source "package/libcuefile/Config.in"
@ -1011,6 +1058,7 @@ menu "Audio/Sound"
source "package/portaudio/Config.in"
source "package/sbc/Config.in"
source "package/speex/Config.in"
source "package/speexdsp/Config.in"
source "package/taglib/Config.in"
source "package/tinyalsa/Config.in"
source "package/tremor/Config.in"
@ -1058,6 +1106,7 @@ menu "Crypto"
source "package/openssl/Config.in"
source "package/rhash/Config.in"
source "package/tinydtls/Config.in"
source "package/tpm2-tss/Config.in"
source "package/trousers/Config.in"
source "package/ustream-ssl/Config.in"
source "package/wolfssl/Config.in"
@ -1070,6 +1119,7 @@ menu "Database"
source "package/hiredis/Config.in"
source "package/kompexsqlite/Config.in"
source "package/leveldb/Config.in"
source "package/libgit2/Config.in"
source "package/libpqxx/Config.in"
source "package/mongodb/Config.in"
source "package/mysql/Config.in"
@ -1094,11 +1144,14 @@ endmenu
menu "Graphics"
source "package/assimp/Config.in"
source "package/at-spi2-atk/Config.in"
source "package/at-spi2-core/Config.in"
source "package/atk/Config.in"
source "package/atkmm/Config.in"
source "package/bullet/Config.in"
source "package/cairo/Config.in"
source "package/cairomm/Config.in"
source "package/chipmunk/Config.in"
source "package/exiv2/Config.in"
source "package/fltk/Config.in"
source "package/fontconfig/Config.in"
@ -1183,6 +1236,7 @@ menu "Hardware handling"
source "package/ccid/Config.in"
source "package/dtc/Config.in"
source "package/gnu-efi/Config.in"
source "package/hackrf/Config.in"
source "package/hidapi/Config.in"
source "package/lcdapi/Config.in"
source "package/let-me-create/Config.in"
@ -1328,6 +1382,7 @@ menu "Multimedia"
source "package/libmpeg2/Config.in"
source "package/libogg/Config.in"
source "package/libopenh264/Config.in"
source "package/libopusenc/Config.in"
source "package/libplayer/Config.in"
source "package/libtheora/Config.in"
source "package/libvpx/Config.in"
@ -1377,7 +1432,9 @@ menu "Networking"
source "package/libgsasl/Config.in"
source "package/libhttpparser/Config.in"
source "package/libidn/Config.in"
source "package/libidn2/Config.in"
source "package/libiscsi/Config.in"
source "package/libkrb5/Config.in"
source "package/libldns/Config.in"
source "package/libmaxminddb/Config.in"
source "package/libmbus/Config.in"
@ -1424,6 +1481,7 @@ menu "Networking"
source "package/mongoose/Config.in"
source "package/nanomsg/Config.in"
source "package/neon/Config.in"
source "package/nghttp2/Config.in"
source "package/norm/Config.in"
source "package/nss-mdns/Config.in"
source "package/nss-pam-ldapd/Config.in"
@ -1443,6 +1501,7 @@ menu "Networking"
source "package/sofia-sip/Config.in"
source "package/thrift/Config.in"
source "package/usbredir/Config.in"
source "package/wampcc/Config.in"
source "package/zeromq/Config.in"
source "package/zmqpp/Config.in"
source "package/zyre/Config.in"
@ -1457,8 +1516,11 @@ menu "Other"
source "package/bctoolbox/Config.in"
source "package/bdwgc/Config.in"
source "package/boost/Config.in"
source "package/capnproto/Config.in"
source "package/clang/Config.in"
source "package/clapack/Config.in"
source "package/classpath/Config.in"
source "package/cmocka/Config.in"
source "package/cppcms/Config.in"
source "package/cracklib/Config.in"
source "package/dawgdic/Config.in"
@ -1468,6 +1530,7 @@ menu "Other"
source "package/fftw/Config.in"
source "package/flann/Config.in"
source "package/flatbuffers/Config.in"
source "package/flatcc/Config.in"
source "package/gconf/Config.in"
source "package/gflags/Config.in"
source "package/glibmm/Config.in"
@ -1529,6 +1592,7 @@ comment "linux-pam plugins"
source "package/libpam-tacplus/Config.in"
endif
source "package/liquid-dsp/Config.in"
source "package/llvm/Config.in"
source "package/lttng-libust/Config.in"
source "package/mpc/Config.in"
source "package/mpdecimal/Config.in"
@ -1658,12 +1722,14 @@ menu "Networking applications"
source "package/connman/Config.in"
source "package/connman-gtk/Config.in"
source "package/conntrack-tools/Config.in"
source "package/corkscrew/Config.in"
source "package/crda/Config.in"
source "package/ctorrent/Config.in"
source "package/cups/Config.in"
source "package/cups-filters/Config.in"
source "package/dante/Config.in"
source "package/darkhttpd/Config.in"
source "package/dehydrated/Config.in"
source "package/dhcp/Config.in"
source "package/dhcpcd/Config.in"
source "package/dhcpdump/Config.in"
@ -1690,6 +1756,7 @@ menu "Networking applications"
source "package/hostapd/Config.in"
source "package/hplip/Config.in"
source "package/httping/Config.in"
source "package/i2pd/Config.in"
source "package/ibrdtn-tools/Config.in"
source "package/ibrdtnd/Config.in"
source "package/ifenslave/Config.in"
@ -1783,6 +1850,7 @@ endif
source "package/phidgetwebservice/Config.in"
source "package/phytool/Config.in"
source "package/pimd/Config.in"
source "package/pixiewps/Config.in"
source "package/pound/Config.in"
source "package/pppd/Config.in"
source "package/pptp-linux/Config.in"
@ -1797,6 +1865,7 @@ endif
source "package/quagga/Config.in"
source "package/rabbitmq-server/Config.in"
source "package/radvd/Config.in"
source "package/reaver/Config.in"
source "package/rp-pppoe/Config.in"
source "package/rpcbind/Config.in"
source "package/rsh-redone/Config.in"
@ -1809,10 +1878,12 @@ endif
source "package/samba4/Config.in"
source "package/sconeserver/Config.in"
source "package/ser2net/Config.in"
source "package/shadowsocks-libev/Config.in"
source "package/shairport-sync/Config.in"
source "package/shellinabox/Config.in"
source "package/smcroute/Config.in"
source "package/sngrep/Config.in"
source "package/snort/Config.in"
source "package/socat/Config.in"
source "package/socketcand/Config.in"
source "package/softether/Config.in"
@ -1905,6 +1976,7 @@ comment "Shells"
source "package/zsh/Config.in"
comment "Utilities"
source "package/at/Config.in"
source "package/bash-completion/Config.in"
source "package/ccrypt/Config.in"
source "package/crudini/Config.in"
source "package/dialog/Config.in"
@ -1946,6 +2018,7 @@ menu "System tools"
source "package/dcron/Config.in"
source "package/ddrescue/Config.in"
source "package/debianutils/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"
@ -1965,6 +2038,7 @@ menu "System tools"
source "package/kvmtool/Config.in"
source "package/libostree/Config.in"
source "package/lxc/Config.in"
source "package/mender/Config.in"
source "package/monit/Config.in"
source "package/ncdu/Config.in"
source "package/numactl/Config.in"
@ -1977,6 +2051,7 @@ menu "System tools"
source "package/psmisc/Config.in"
source "package/pwgen/Config.in"
source "package/quota/Config.in"
source "package/quotatool/Config.in"
source "package/rauc/Config.in"
source "package/rsyslog/Config.in"
source "package/runc/Config.in"
@ -1998,6 +2073,8 @@ menu "System tools"
source "package/sysvinit/Config.in"
source "package/tar/Config.in"
source "package/tpm-tools/Config.in"
source "package/tpm2-abrmd/Config.in"
source "package/tpm2-tools/Config.in"
source "package/unscd/Config.in"
source "package/util-linux/Config.in"
source "package/xen/Config.in"

View File

@ -24,6 +24,7 @@ menu "Host utilities"
source "package/go-bootstrap/Config.in.host"
source "package/google-breakpad/Config.in.host"
source "package/gptfdisk/Config.in.host"
source "package/imx-mkimage/Config.in.host"
source "package/imx-usb-loader/Config.in.host"
source "package/jq/Config.in.host"
source "package/jsmin/Config.in.host"
@ -42,8 +43,10 @@ menu "Host utilities"
source "package/pkgconf/Config.in.host"
source "package/pru-software-support/Config.in.host"
source "package/pwgen/Config.in.host"
source "package/python-cython/Config.in.host"
source "package/python-lxml/Config.in.host"
source "package/python-six/Config.in.host"
source "package/python-xlrd/Config.in.host"
source "package/qemu/Config.in.host"
source "package/raspberrypi-usbboot/Config.in.host"
source "package/rauc/Config.in.host"
@ -59,5 +62,6 @@ menu "Host utilities"
source "package/vboot-utils/Config.in.host"
source "package/xorriso/Config.in.host"
source "package/zip/Config.in.host"
source "package/zstd/Config.in.host"
endmenu

View File

@ -128,6 +128,9 @@ endif
ifeq ($(BR2_OPTIMIZE_S),y)
TARGET_OPTIMIZATION = -Os
endif
ifeq ($(BR2_OPTIMIZE_FAST),y)
TARGET_OPTIMIZATION = -Ofast
endif
ifeq ($(BR2_DEBUG_1),y)
TARGET_DEBUGGING = -g1
endif
@ -186,12 +189,6 @@ TARGET_CFLAGS += -mid-shared-library -mshared-library-id=0
TARGET_FCFLAGS += -mid-shared-library -mshared-library-id=0
TARGET_CXXFLAGS += -mid-shared-library -mshared-library-id=0
endif
ifeq ($(BR2_BINFMT_FLAT_SEP_DATA),y)
TARGET_LDFLAGS += -msep-data
TARGET_CFLAGS += -msep-data
TARGET_FCFLAGS += -msep-data
TARGET_CXXFLAGS += -msep-data
endif
ifeq ($(BR2_TOOLCHAIN_BUILDROOT),y)
TARGET_CROSS = $(HOST_DIR)/bin/$(GNU_TARGET_NAME)-
@ -222,8 +219,6 @@ TARGET_STRIP = /bin/true
STRIPCMD = $(TARGET_STRIP)
endif
INSTALL := $(shell which install || type -p install)
FLEX := $(shell which flex || type -p flex)
BISON := $(shell which bison || type -p bison)
UNZIP := $(shell which unzip || type -p unzip) -q
APPLY_PATCHES = PATH=$(HOST_DIR)/bin:$$PATH support/scripts/apply-patches.sh $(if $(QUIET),-s)
@ -449,3 +444,5 @@ include package/pkg-kconfig.mk
include package/pkg-rebar.mk
include package/pkg-kernel-module.mk
include package/pkg-waf.mk
include package/pkg-golang.mk
include package/pkg-meson.mk

View File

@ -0,0 +1,10 @@
config BR2_PACKAGE_ABOOTIMG
bool "abootimg"
depends on BR2_USE_MMU # libblkid
select BR2_PACKAGE_UTIL_LINUX
select BR2_PACKAGE_UTIL_LINUX_LIBBLKID
help
Tool to manipulate Android Boot Images, either on files
or directly on /dev block devices.
https://github.com/ggrandou/abootimg

View File

@ -0,0 +1,3 @@
# Locally calculated
sha256 eb8d912bc7b5454c2afd3385fd86f4917d3587c48a6f5ae45df7856d88502cab abootimg-7e127fee6a3981f6b0a50ce9910267cd501e09d4.tar.gz
sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 LICENSE

View File

@ -0,0 +1,23 @@
################################################################################
#
# abootimg
#
################################################################################
ABOOTIMG_VERSION = 7e127fee6a3981f6b0a50ce9910267cd501e09d4
ABOOTIMG_SITE = $(call github,ggrandou,abootimg,$(ABOOTIMG_VERSION))
ABOOTIMG_LICENSE = GPL-2.0+
ABOOTIMG_LICENSE_FILES = LICENSE
# depends on libblkid from util-linux
ABOOTIMG_DEPENDENCIES = util-linux
define ABOOTIMG_BUILD_CMDS
$(TARGET_MAKE_ENV) $(MAKE) $(TARGET_CONFIGURE_OPTS) -C $(@D)
endef
define ABOOTIMG_INSTALL_TARGET_CMDS
$(INSTALL) -m 0755 $(@D)/abootimg $(TARGET_DIR)/usr/bin/abootimg
endef
$(eval $(generic-package))

View File

@ -1,6 +1,5 @@
config BR2_PACKAGE_ACPITOOL
bool "acpitool"
depends on !BR2_bfin
depends on !BR2_STATIC_LIBS
depends on BR2_TOOLCHAIN_HAS_THREADS
depends on BR2_INSTALL_LIBSTDCPP
@ -11,6 +10,5 @@ config BR2_PACKAGE_ACPITOOL
http://acpitool.sourceforge.net
comment "acpitool needs a toolchain w/ threads, C++, dynamic library"
depends on !BR2_bfin
depends on BR2_STATIC_LIBS || !BR2_TOOLCHAIN_HAS_THREADS \
|| !BR2_INSTALL_LIBSTDCPP

View File

@ -0,0 +1,71 @@
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

@ -0,0 +1,69 @@
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

View File

@ -1,58 +0,0 @@
Added option to disable stack-protector support auto-detection in gcc.
Downloaded from upstream commit:
http://trac.aircrack-ng.org/changeset/2889/
Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
Index: /trunk/INSTALLING
===================================================================
--- trunk/INSTALLING (revision 2888)
+++ trunk/INSTALLING (revision 2889)
@@ -83,4 +83,6 @@
* macport: Set this flag to true to compile on OS X with macports.
+* stackprotector: Allows to enable/disable auto-detection of stack-protector support in gcc
+
Example:
Index: /trunk/common.mak
===================================================================
--- trunk/common.mak (revision 2888)
+++ trunk/common.mak (revision 2889)
@@ -64,4 +64,13 @@
ifeq ($(PCRE), true)
COMMON_CFLAGS += $(shell $(PKG_CONFIG) --cflags libpcre) -DHAVE_PCRE
+endif
+
+STACK_PROTECTOR = true
+ifeq ($(stackprotector), false)
+ STACK_PROTECTOR = false
+endif
+
+ifeq ($(STACKPROTECTOR), false)
+ STACK_PROTECTOR = false
endif
@@ -235,12 +244,14 @@
endif
-ifeq ($(GCC_OVER49), 0)
- ifeq ($(GCC_OVER41), 1)
- COMMON_CFLAGS += -fstack-protector
+ifeq ($(STACK_PROTECTOR), true)
+ ifeq ($(GCC_OVER49), 0)
+ ifeq ($(GCC_OVER41), 1)
+ COMMON_CFLAGS += -fstack-protector
+ endif
endif
-endif
-
-ifeq ($(GCC_OVER49), 1)
- COMMON_CFLAGS += -fstack-protector-strong
+
+ ifeq ($(GCC_OVER49), 1)
+ COMMON_CFLAGS += -fstack-protector-strong
+ endif
endif

View File

@ -3,11 +3,8 @@ config BR2_PACKAGE_AIRCRACK_NG
depends on BR2_USE_MMU # uses fork()
depends on BR2_TOOLCHAIN_HAS_THREADS
depends on BR2_INSTALL_LIBSTDCPP
# libnl has issues when linking statically
# they need fixing in libnl itself
select BR2_PACKAGE_LIBNL if !BR2_STATIC_LIBS
select BR2_PACKAGE_OPENSSL
select BR2_PACKAGE_ZLIB
depends on !BR2_STATIC_LIBS # dlfcn.h
select BR2_PACKAGE_OPENSSL if !BR2_PACKAGE_LIBGCRYPT
help
A set of tools for auditing wireless networks
@ -16,6 +13,7 @@ config BR2_PACKAGE_AIRCRACK_NG
http://www.aircrack-ng.org/
comment "aircrack-ng needs a toolchain w/ threads, C++"
comment "aircrack-ng needs a toolchain w/ dynamic library, threads, C++"
depends on BR2_USE_MMU
depends on !BR2_TOOLCHAIN_HAS_THREADS || !BR2_INSTALL_LIBSTDCPP
depends on BR2_STATIC_LIBS || !BR2_TOOLCHAIN_HAS_THREADS \
|| !BR2_INSTALL_LIBSTDCPP

View File

@ -1,3 +1,6 @@
# From http://www.aircrack-ng.org/downloads.html
sha1 2b2fbe50fedb606b3bd96a34d49f07760e8e618a aircrack-ng-1.2-rc4.tar.gz
md5 3bbc7d5035a98ec01e78774d05c3fcce aircrack-ng-1.2-rc4.tar.gz
sha1 245464585dfd24622807a8f868d62d9d00f6a22c aircrack-ng-1.3.tar.gz
md5 c7c5b076dee0c25ee580b0f56f455623 aircrack-ng-1.3.tar.gz
# Hash for license file:
sha256 e6d6a009505e345fe949e1310334fcb0747f28dae2856759de102ab66b722cb4 LICENSE

View File

@ -4,69 +4,65 @@
#
################################################################################
AIRCRACK_NG_VERSION = 1.2-rc4
AIRCRACK_NG_VERSION = 1.3
AIRCRACK_NG_SITE = http://download.aircrack-ng.org
AIRCRACK_NG_LICENSE = GPL-2.0+
AIRCRACK_NG_LICENSE_FILES = LICENSE
AIRCRACK_NG_DEPENDENCIES = openssl zlib host-pkgconf
AIRCRACK_NG_DEPENDENCIES = \
$(if $(BR2_PACKAGE_LIBNL),libnl) \
$(if $(BR2_PACKAGE_OPENSSL),openssl) \
$(if $(BR2_PACKAGE_PCRE),pcre) \
$(if $(BR2_PACKAGE_ZLIB),zlib) \
host-pkgconf
AIRCRACK_NG_AUTORECONF = YES
# Enable buddy-ng, easside-ng, tkiptun-ng, wesside-ng
AIRCRACK_NG_MAKE_OPTS = unstable=true
# Account for libpthread in static
AIRCRACK_NG_LDFLAGS = $(TARGET_LDFLAGS) \
$(if $(BR2_STATIC_LIBS),-lpthread -lz)
# libnl support has issues when building static
ifeq ($(BR2_STATIC_LIBS),y)
AIRCRACK_NG_MAKE_OPTS += libnl=false
else
AIRCRACK_NG_MAKE_OPTS += libnl=true
AIRCRACK_NG_DEPENDENCIES += libnl
endif
AIRCRACK_NG_CONF_OPTS = --with-experimental
ifeq ($(BR2_TOOLCHAIN_HAS_SSP),y)
AIRCRACK_NG_MAKE_OPTS += STACK_PROTECTOR=true
AIRCRACK_NG_CONF_OPTS += --with-opt
else
AIRCRACK_NG_MAKE_OPTS += STACK_PROTECTOR=false
AIRCRACK_NG_CONF_OPTS += --without-opt
endif
ifeq ($(BR2_PACKAGE_DUMA),y)
AIRCRACK_NG_DEPENDENCIES += duma
AIRCRACK_NG_CONF_OPTS += --with-duma
else
AIRCRACK_NG_CONF_OPTS += --without-duma
endif
ifeq ($(BR2_PACKAGE_JEMALLOC),y)
AIRCRACK_NG_DEPENDENCIES += jemalloc
AIRCRACK_NG_CONF_OPTS += --with-jemalloc
else
AIRCRACK_NG_CONF_OPTS += --without-jemalloc
endif
ifeq ($(BR2_PACKAGE_LIBGCRYPT),y)
AIRCRACK_NG_DEPENDENCIES += libgcrypt
AIRCRACK_NG_CONF_OPTS += \
--with-gcrypt \
--with-libgcrypt-prefix=$(STAGING_DIR)/usr
else
AIRCRACK_NG_CONF_OPTS += --without-gcrypt
endif
ifeq ($(BR2_PACKAGE_LIBPCAP),y)
AIRCRACK_NG_DEPENDENCIES += libpcap
AIRCRACK_NG_MAKE_OPTS += HAVE_PCAP=yes \
$(if $(BR2_STATIC_LIBS),LIBPCAP="-lpcap `$(STAGING_DIR)/usr/bin/pcap-config --static --additional-libs`")
else
AIRCRACK_NG_MAKE_OPTS += HAVE_PCAP=no
AIRCRACK_NG_CONF_OPTS += \
--with-libpcap-include=$(STAGING_DIR)/usr/include \
--with-libpcap-lib=$(STAGING_DIR)/usr/lib
ifeq ($(BR2_STATIC_LIBS),y)
AIRCRACK_NG_CONF_ENV += \
LIBS="`$(STAGING_DIR)/usr/bin/pcap-config --static --additional-libs`"
endif
endif
ifeq ($(BR2_PACKAGE_PCRE),y)
AIRCRACK_NG_DEPENDENCIES += pcre
AIRCRACK_NG_MAKE_OPTS += pcre=true
else
AIRCRACK_NG_MAKE_OPTS += pcre=false
endif
# Duplicate -lpthread, because it is also needed by sqlite
ifeq ($(BR2_PACKAGE_SQLITE),y)
AIRCRACK_NG_DEPENDENCIES += sqlite
AIRCRACK_NG_MAKE_OPTS += sqlite=true LIBSQL="-lsqlite3 $(if $(BR2_STATIC_LIBS),-lpthread)"
AIRCRACK_NG_CONF_OPTS += --with-sqlite3
else
AIRCRACK_NG_MAKE_OPTS += sqlite=false
AIRCRACK_NG_CONF_OPTS += --without-sqlite3
endif
ifeq ($(BR2_X86_CPU_HAS_SSE),y)
AIRCRACK_NG_MAKE_OPTS += NEWSSE=true
else
AIRCRACK_NG_MAKE_OPTS += NEWSSE=false
endif
define AIRCRACK_NG_BUILD_CMDS
$(TARGET_CONFIGURE_OPTS) LDFLAGS="$(AIRCRACK_NG_LDFLAGS)" \
$(MAKE) -C $(@D) $(AIRCRACK_NG_MAKE_OPTS)
endef
define AIRCRACK_NG_INSTALL_TARGET_CMDS
$(TARGET_CONFIGURE_OPTS) $(MAKE) -C $(@D) DESTDIR=$(TARGET_DIR) \
prefix=/usr $(AIRCRACK_NG_MAKE_OPTS) install
endef
$(eval $(generic-package))
$(eval $(autotools-package))

View File

@ -0,0 +1,59 @@
From 41c029755502acf01ed634db437ac06d09be6c41 Mon Sep 17 00:00:00 2001
From: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Date: Fri, 13 Apr 2018 09:02:37 +0200
Subject: [PATCH] Don't use fork() on noMMU platforms
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
[Jörg: update patch for 1.1.6]
Signed-off-by: Jörg Krause <joerg.krause@embedded.rocks>
---
configure.ac | 2 ++
src/pcm/pcm_direct.c | 10 +++++++++-
2 files changed, 11 insertions(+), 1 deletion(-)
diff --git a/configure.ac b/configure.ac
index cce195ae..0c852434 100644
--- a/configure.ac
+++ b/configure.ac
@@ -51,6 +51,8 @@ dnl Checks for library functions.
AC_PROG_GCC_TRADITIONAL
AC_CHECK_FUNCS([uselocale])
+AC_CHECK_FUNC([fork])
+
SAVE_LIBRARY_VERSION
AC_SUBST(LIBTOOL_VERSION_INFO)
diff --git a/src/pcm/pcm_direct.c b/src/pcm/pcm_direct.c
index 2b07eff9..4dc3ea26 100644
--- a/src/pcm/pcm_direct.c
+++ b/src/pcm/pcm_direct.c
@@ -431,13 +431,21 @@ int snd_pcm_direct_server_create(snd_pcm_direct_t *dmix)
close(dmix->server_fd);
return ret;
}
-
+
+#ifdef HAVE_FORK
ret = fork();
+#else
+ ret = vfork();
+#endif
if (ret < 0) {
close(dmix->server_fd);
return ret;
} else if (ret == 0) {
+#ifdef HAVE_FORK
ret = fork();
+#else
+ ret = vfork();
+#endif
if (ret == 0)
server_job(dmix);
_exit(EXIT_SUCCESS);
--
2.14.3

View File

@ -1,45 +0,0 @@
Don't use fork() on noMMU platforms
[Gustavo: update patch for 1.0.28]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Index: alsa-lib-1.0.26/configure.ac
===================================================================
--- alsa-lib-1.0.26.orig/configure.ac 2012-09-06 10:55:14.000000000 +0200
+++ alsa-lib-1.0.26/configure.ac 2013-03-09 16:22:08.000000000 +0100
@@ -66,6 +66,8 @@
AM_CONDITIONAL(ALSA_HSEARCH_R, [test "x$HAVE_HSEARCH_R" != xyes])
AC_CHECK_FUNCS([uselocale])
+AC_CHECK_FUNC([fork])
+
SAVE_LIBRARY_VERSION
AC_SUBST(LIBTOOL_VERSION_INFO)
Index: alsa-lib-1.0.26/src/pcm/pcm_direct.c
===================================================================
--- alsa-lib-1.0.26.orig/src/pcm/pcm_direct.c 2012-09-06 10:55:14.000000000 +0200
+++ alsa-lib-1.0.26/src/pcm/pcm_direct.c 2013-03-09 16:22:51.000000000 +0100
@@ -424,13 +424,21 @@
close(dmix->server_fd);
return ret;
}
-
+
+#ifdef HAVE_FORK
ret = fork();
+#else
+ ret = vfork();
+#endif
if (ret < 0) {
close(dmix->server_fd);
return ret;
} else if (ret == 0) {
+#ifdef HAVE_FORK
ret = fork();
+#else
+ ret = vfork();
+#endif
if (ret == 0)
server_job(dmix);
_exit(EXIT_SUCCESS);

View File

@ -1,4 +1,10 @@
alsa-lib: provide dummy definitions of RTLD_* if necessary
From ff91d50a250e10a419bcd35176f3069161ac33bb Mon Sep 17 00:00:00 2001
From: Sonic Zhang <sonic.zhang@analog.com>
Date: Fri, 13 Apr 2018 09:11:23 +0200
Subject: [PATCH] alsa-lib: provide dummy definitions of RTLD_* if necessary
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
The FLAT GNU toolchain (e.g. blackfin) doesn't include the dlfcn.h header
file, so we need to guard that include. Additionally, provide dummy
@ -8,45 +14,34 @@ provided by dlfcn.h.
Signed-off-by: Sonic Zhang <sonic.zhang@analog.com>
[Thomas: don't add separate dlmisc.h, move dummy defs to global.h]
Signed-off-by: Thomas De Schampheleire <thomas.de.schampheleire@gmail.com>
[Jörg: update for 1.1.6]
Signed-off-by: Jörg Krause <joerg.krause@embedded.rocks>
---
modules/mixer/simple/sbasedl.c | 4 +++-
src/mixer/simple_abst.c | 3 +++
2 files changed, 6 insertions(+), 1 deletion(-)
diff --git a/include/global.h b/include/global.h
--- a/include/global.h
+++ b/include/global.h
@@ -97,6 +97,16 @@ extern struct snd_dlsym_link *snd_dlsym_
/** \brief Returns the version of a dynamic symbol as a string. */
#define SND_DLSYM_VERSION(version) __STRING(version)
+/* RTLD_NOW and RTLD_GLOBAL (used for 'mode' in snd_dlopen) are not defined
+ * on all arches (e.g. blackfin), so provide a dummy definition here. */
+#ifndef RTLD_NOW
+#define RTLD_NOW 0
+#endif
+
+#ifndef RTLD_GLOBAL
+#define RTLD_GLOBAL 0
+#endif
+
void *snd_dlopen(const char *file, int mode);
void *snd_dlsym(void *handle, const char *name, const char *version);
int snd_dlclose(void *handle);
diff --git a/modules/mixer/simple/sbasedl.c b/modules/mixer/simple/sbasedl.c
index d8cbf0f1..daa0ab30 100644
--- a/modules/mixer/simple/sbasedl.c
+++ b/modules/mixer/simple/sbasedl.c
@@ -27,7 +27,9 @@
@@ -27,8 +27,10 @@
#include <fcntl.h>
#include <sys/ioctl.h>
#include <math.h>
+#include "config.h"
-#include <dlfcn.h>
#include "config.h"
+#ifdef HAVE_DLFCN
#include <dlfcn.h>
+#include <dlfcn.h>
+#endif
-#include "config.h"
#include "asoundlib.h"
#include "mixer_abst.h"
#include "sbase.h"
diff --git a/src/mixer/simple_abst.c b/src/mixer/simple_abst.c
index 9c61cb58..0ca58fe0 100644
--- a/src/mixer/simple_abst.c
+++ b/src/mixer/simple_abst.c
@@ -34,7 +34,9 @@
@@ -34,7 +34,10 @@
#include <fcntl.h>
#include <sys/ioctl.h>
#include <math.h>
@ -54,6 +49,9 @@ diff --git a/src/mixer/simple_abst.c b/src/mixer/simple_abst.c
+#ifdef HAVE_DLFCN
#include <dlfcn.h>
+#endif
-#include "config.h"
#include "asoundlib.h"
#include "mixer_local.h"
#include "mixer_simple.h"
--
2.14.3

View File

@ -1,4 +1,10 @@
alsa-lib: conditionally enable libdl in AM_PATH_ALSA m4 macro
From 2aba563bd077fda94fb9c2c33002ee0ac119b345 Mon Sep 17 00:00:00 2001
From: Thomas De Schampheleire <thomas.de.schampheleire@gmail.com>
Date: Fri, 13 Apr 2018 09:13:46 +0200
Subject: [PATCH] alsa-lib: conditionally enable libdl in AM_PATH_ALSA m4 macro
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
The AM_PATH_ALSA macro in utils/alsa.m4 unconditionally uses -ldl. This
breaks compilation of alsa-utils (and probably other packages using this
@ -9,10 +15,14 @@ This patch updates the macro to check if dlopen is available, and use that
result to conditionally add -ldl to the list of libraries.
Signed-off-by: Thomas De Schampheleire <thomas.de.schampheleire@gmail.com>
[Jörg: update for 1.1.6]
Signed-off-by: Jörg Krause <joerg.krause@embedded.rocks>
---
utils/alsa.m4 | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/utils/alsa.m4 b/utils/alsa.m4
index e12310df..a5c5a292 100644
--- a/utils/alsa.m4
+++ b/utils/alsa.m4
@@ -44,6 +44,8 @@ if test "$alsa_inc_prefix" != "" ; then
@ -33,3 +43,6 @@ diff --git a/utils/alsa.m4 b/utils/alsa.m4
LIBS="$ALSA_LIBS $LIBS"
AC_MSG_RESULT($ALSA_LIBS)
--
2.14.3

View File

@ -1,4 +1,4 @@
# Locally calculated
sha256 f4f68ad3c6da36b0b5241ac3c798a7a71e0e97d51f972e9f723b3f20a9650ae6 alsa-lib-1.1.5.tar.bz2
sha256 a190dc9c8043755d90f8b0a75fa66b9e42d4af4c980bf5ddc633f0124db3cee7 COPYING
sha256 5f2cd274b272cae0d0d111e8a9e363f08783329157e8dd68b3de0c096de6d724 alsa-lib-1.1.6.tar.bz2
sha256 32434afcc8666ba060e111d715bfdb6c2d5dd8a35fa4d3ab8ad67d8f850d2f2b COPYING
sha256 bfe16cf823bcff261fc6a062c07ee96660e3c39678f42f39a788a68dbc234ced aserver/COPYING

View File

@ -4,7 +4,7 @@
#
################################################################################
ALSA_LIB_VERSION = 1.1.5
ALSA_LIB_VERSION = 1.1.6
ALSA_LIB_SOURCE = alsa-lib-$(ALSA_LIB_VERSION).tar.bz2
ALSA_LIB_SITE = ftp://ftp.alsa-project.org/pub/lib
ALSA_LIB_LICENSE = LGPL-2.1+ (library), GPL-2.0+ (aserver)
@ -62,12 +62,6 @@ else
ALSA_LIB_CONF_OPTS += --disable-python
endif
ifeq ($(BR2_bfin),y)
# blackfin external toolchains don't have versionsort. Fake it using alphasort
# instead
ALSA_LIB_CFLAGS += -Dversionsort=alphasort
endif
ALSA_LIB_CONF_ENV = \
CFLAGS="$(ALSA_LIB_CFLAGS)" \
LDFLAGS="$(TARGET_LDFLAGS) -lm"

View File

@ -76,7 +76,13 @@ config BR2_PACKAGE_ALSA_UTILS_ASEQNET
config BR2_PACKAGE_ALSA_UTILS_BAT
bool "bat"
select BR2_PACKAGE_FFTW
help
ALSABAT (ALSA Basic Audio Tester) is a simple command-line
utility intended to help automate audio driver and sound
server testing with little human interaction.
Note that analysis support in alsabat requires fftw single
precision.
config BR2_PACKAGE_ALSA_UTILS_IECSET
bool "iecset"

View File

@ -1,3 +1,3 @@
# Locally calculated
sha256 320bd285e91db6e7fd7db3c9ec6f55b02f35449ff273c7844780ac6a5a3de2e8 alsa-utils-1.1.5.tar.bz2
sha256 155caecc40b2220f686f34ba3655a53e3bdbc0586adb1056733949feaaf7d36e alsa-utils-1.1.6.tar.bz2
sha256 231f7edcc7352d7734a96eef0b8030f77982678c516876fcb81e25b32d68564c COPYING

View File

@ -4,7 +4,7 @@
#
################################################################################
ALSA_UTILS_VERSION = 1.1.5
ALSA_UTILS_VERSION = 1.1.6
ALSA_UTILS_SOURCE = alsa-utils-$(ALSA_UTILS_VERSION).tar.bz2
ALSA_UTILS_SITE = ftp://ftp.alsa-project.org/pub/utils
ALSA_UTILS_LICENSE = GPL-2.0
@ -40,7 +40,8 @@ endif
ifeq ($(BR2_PACKAGE_ALSA_UTILS_BAT),y)
ALSA_UTILS_CONF_OPTS += --enable-bat
ALSA_UTILS_DEPENDENCIES += fftw
# Analysis support requires fftw single precision
ALSA_UTILS_DEPENDENCIES += $(if $(BR2_PACKAGE_FFTW_PRECISION_SINGLE),fftw)
else
ALSA_UTILS_CONF_OPTS += --disable-bat
endif

View File

@ -17,7 +17,7 @@ AMD_CATALYST_ARCH_DIR = $(@D)/arch/x86$(AMD_CATALYST_SUFFIX)
AMD_CATALYST_LIB_SUFFIX = $(if $(BR2_x86_64),64)
define AMD_CATALYST_EXTRACT_CMDS
unzip -q $(DL_DIR)/$(AMD_CATALYST_SOURCE) -d $(@D)
unzip -q $(AMD_CATALYST_DL_DIR)/$(AMD_CATALYST_SOURCE) -d $(@D)
$(SHELL) $(@D)/AMD-Catalyst-$(AMD_CATALYST_VERSION)-Linux-installer-$(AMD_CATALYST_VERBOSE_VER)-x86.x86_64.run --extract $(@D)
endef

View File

@ -15,7 +15,7 @@ ANDROID_TOOLS_LICENSE_FILES = debian/copyright
# Extract the Debian tarball inside the sources
define ANDROID_TOOLS_DEBIAN_EXTRACT
$(call suitable-extractor,$(notdir $(ANDROID_TOOLS_EXTRA_DOWNLOADS))) \
$(DL_DIR)/$(notdir $(ANDROID_TOOLS_EXTRA_DOWNLOADS)) | \
$(ANDROID_TOOLS_DL_DIR)/$(notdir $(ANDROID_TOOLS_EXTRA_DOWNLOADS)) | \
$(TAR) -C $(@D) $(TAR_OPTIONS) -
endef
@ -81,5 +81,5 @@ define ANDROID_TOOLS_INSTALL_TARGET_CMDS
$(INSTALL) -D -m 0755 $(@D)/build-$(t)/$(t) $(TARGET_DIR)/usr/bin/$(t)$(sep))
endef
$(eval $(host-generic-package))
$(eval $(generic-package))
$(eval $(host-generic-package))

View File

@ -12,7 +12,7 @@ ANGULARJS_LICENSE = MIT
ANGULARJS_LICENSE_FILES = angular.js
define ANGULARJS_EXTRACT_CMDS
unzip $(DL_DIR)/$(ANGULARJS_SOURCE) -d $(@D)
unzip $(ANGULARJS_DL_DIR)/$(ANGULARJS_SOURCE) -d $(@D)
mv $(@D)/angular-$(ANGULARJS_VERSION)/* $(@D)
rmdir $(@D)/angular-$(ANGULARJS_VERSION)
endef

15
package/apache/S50apache Normal file
View File

@ -0,0 +1,15 @@
#!/bin/sh
case "$1" in
start|restart|graceful|graceful-stop|stop)
apachectl -k $1
;;
reload)
apachectl -k restart
;;
*)
echo "Usage: $0 {start|restart|reload|graceful|graceful-stop|stop}"
exit 1
esac
exit $?

View File

@ -40,7 +40,6 @@ APACHE_CONF_OPTS = \
--without-suexec-bin \
--enable-mods-shared=all \
--with-mpm=$(APACHE_MPM) \
--disable-lua \
--disable-luajit
ifeq ($(BR2_PACKAGE_LIBXML2),y)
@ -57,6 +56,13 @@ APACHE_CONF_OPTS += \
--disable-proxy-html
endif
ifeq ($(BR2_PACKAGE_LUA),y)
APACHE_CONF_OPTS += --enable-lua
APACHE_DEPENDENCIES += lua
else
APACHE_CONF_OPTS += --disable-lua
endif
ifeq ($(BR2_PACKAGE_OPENSSL),y)
APACHE_DEPENDENCIES += openssl
APACHE_CONF_OPTS += \
@ -86,4 +92,17 @@ define APACHE_CLEANUP_TARGET
endef
APACHE_POST_INSTALL_TARGET_HOOKS += APACHE_CLEANUP_TARGET
define APACHE_INSTALL_INIT_SYSV
$(INSTALL) -D -m 0755 package/apache/S50apache \
$(TARGET_DIR)/etc/init.d/S50apache
endef
define APACHE_INSTALL_INIT_SYSTEMD
$(INSTALL) -D -m 644 package/apache/apache.service \
$(TARGET_DIR)/usr/lib/systemd/system/apache.service
mkdir -p $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants
ln -sf ../../../../usr/lib/systemd/system/apache.service \
$(TARGET_DIR)/etc/systemd/system/multi-user.target.wants/apache.service
endef
$(eval $(autotools-package))

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