Buildroot 2018-11 (#258)

* Update to buildroot 2018.11

* containerd update

* runc update

* runc docker engine

* runc docker proxy

* update rpi firmware

* update network manager

* update dhcpd

* update wait on network

* update rpi wifi

* revert glibc
This commit is contained in:
Pascal Vizeli
2018-11-26 11:04:01 +01:00
committed by GitHub
parent a9bbc7babe
commit 4411307353
3154 changed files with 41316 additions and 24203 deletions

View File

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

View File

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

View File

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

View File

@@ -40,46 +40,21 @@ define ROOTFS_REPRODUCIBLE
endef
endif
ROOTFS_COMMON_TAR = $(FS_DIR)/rootfs.common.tar
# Command to create the common tarball from the base target directory.
define ROOTFS_COMMON_TAR_CMD
tar cf $(ROOTFS_COMMON_TAR) --numeric-owner \
--exclude=$(notdir $(TARGET_DIR_WARNING_FILE)) \
-C $(TARGET_DIR) .
endef
# Command to extract the common tarball into the per-rootfs target directory
define ROOTFS_COMMON_UNTAR_CMD
mkdir -p $(TARGET_DIR)
tar xf $(ROOTFS_COMMON_TAR) -C $(TARGET_DIR)
endef
.PHONY: rootfs-common
rootfs-common: $(ROOTFS_COMMON_TAR)
# Emulate being in a filesystem, so that we can have our own TARGET_DIR.
ROOTFS_COMMON_TARGET_DIR = $(FS_DIR)/target
ROOTFS_COMMON_DEPENDENCIES = \
host-fakeroot host-makedevs \
$(BR2_TAR_HOST_DEPENDENCY) \
$(if $(PACKAGES_USERS)$(ROOTFS_USERS_TABLES),host-mkpasswd)
$(ROOTFS_COMMON_TAR): ROOTFS=COMMON
$(ROOTFS_COMMON_TAR): FAKEROOT_SCRIPT=$(FS_DIR)/fakeroot.fs
$(ROOTFS_COMMON_TAR): $(ROOTFS_COMMON_DEPENDENCIES) target-finalize
@$(call MESSAGE,"Generating common rootfs tarball")
.PHONY: rootfs-common
rootfs-common: $(ROOTFS_COMMON_DEPENDENCIES) target-finalize
@$(call MESSAGE,"Generating root filesystems common tables")
rm -rf $(FS_DIR)
mkdir -p $(FS_DIR)
rsync -auH $(BASE_TARGET_DIR)/ $(TARGET_DIR)
echo '#!/bin/sh' > $(FAKEROOT_SCRIPT)
echo "set -e" >> $(FAKEROOT_SCRIPT)
echo "chown -h -R 0:0 $(TARGET_DIR)" >> $(FAKEROOT_SCRIPT)
$(call PRINTF,$(PACKAGES_USERS)) >> $(USERS_TABLE)
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)
@@ -87,16 +62,6 @@ ifeq ($(BR2_ROOTFS_DEVICE_CREATION_STATIC),y)
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)
@@ -145,9 +110,23 @@ $$(BINARIES_DIR)/rootfs.$(1): $$(ROOTFS_$(2)_DEPENDENCIES)
@$$(call MESSAGE,"Generating root filesystem image rootfs.$(1)")
rm -rf $$(ROOTFS_$(2)_DIR)
mkdir -p $$(ROOTFS_$(2)_DIR)
rsync -auH \
--exclude=/$$(notdir $$(TARGET_DIR_WARNING_FILE)) \
$$(BASE_TARGET_DIR)/ \
$$(TARGET_DIR)
echo '#!/bin/sh' > $$(FAKEROOT_SCRIPT)
echo "set -e" >> $$(FAKEROOT_SCRIPT)
$$(call PRINTF,$$(ROOTFS_COMMON_UNTAR_CMD)) >> $$(FAKEROOT_SCRIPT)
echo "chown -h -R 0:0 $$(TARGET_DIR)" >> $$(FAKEROOT_SCRIPT)
PATH=$$(BR_PATH) $$(TOPDIR)/support/scripts/mkusers $$(USERS_TABLE) $$(TARGET_DIR) >> $$(FAKEROOT_SCRIPT)
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))
$$(foreach hook,$$(ROOTFS_$(2)_PRE_GEN_HOOKS),\
$$(call PRINTF,$$($$(hook))) >> $$(FAKEROOT_SCRIPT)$$(sep))
$$(call PRINTF,$$(ROOTFS_REPRODUCIBLE)) >> $$(FAKEROOT_SCRIPT)
@@ -169,7 +148,7 @@ rootfs-$(1): $$(BINARIES_DIR)/rootfs.$(1)
ifeq ($$(BR2_TARGET_ROOTFS_$(2)),y)
TARGETS_ROOTFS += rootfs-$(1)
PACKAGES += $$(filter-out rootfs-%,$$(ROOTFS_$(2)_DEPENDENCIES))
PACKAGES += $$(filter-out rootfs-%,$$(ROOTFS_$(2)_DEPENDENCIES) $$(ROOTFS_COMMON_DEPENDENCIES))
endif
# Check for legacy POST_TARGETS rules

View File

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

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

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

View File

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