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:
@@ -1,10 +1,12 @@
|
||||
menu "Filesystem images"
|
||||
|
||||
source "fs/axfs/Config.in"
|
||||
source "fs/btrfs/Config.in"
|
||||
source "fs/cloop/Config.in"
|
||||
source "fs/cpio/Config.in"
|
||||
source "fs/cramfs/Config.in"
|
||||
source "fs/ext2/Config.in"
|
||||
source "fs/f2fs/Config.in"
|
||||
source "fs/initramfs/Config.in"
|
||||
source "fs/iso9660/Config.in"
|
||||
source "fs/jffs2/Config.in"
|
||||
|
||||
50
buildroot/fs/btrfs/Config.in
Normal file
50
buildroot/fs/btrfs/Config.in
Normal file
@@ -0,0 +1,50 @@
|
||||
config BR2_TARGET_ROOTFS_BTRFS
|
||||
bool "btrfs root filesystem"
|
||||
select BR2_PACKAGE_HOST_BTRFS_PROGS
|
||||
help
|
||||
Build a btrfs root filesystem. If you enable this option, you
|
||||
probably want to enable the btrfs-progs package too.
|
||||
|
||||
if BR2_TARGET_ROOTFS_BTRFS
|
||||
|
||||
config BR2_TARGET_ROOTFS_BTRFS_LABEL
|
||||
string "filesystem label"
|
||||
|
||||
config BR2_TARGET_ROOTFS_BTRFS_SIZE
|
||||
string "filesystem size"
|
||||
default "100m"
|
||||
help
|
||||
The size of the filesystem image in bytes.
|
||||
Suffix with k, m, g or t for power-of-two kilo-, mega-, giga-
|
||||
or terabytes.
|
||||
|
||||
config BR2_TARGET_ROOTFS_BTRFS_SIZE_SECTOR
|
||||
string "sector size"
|
||||
default "4096"
|
||||
help
|
||||
This value should be set to the page size in bytes. The
|
||||
default value of 4096 is the the most common page size for
|
||||
most systems. If the sectorsize differs from the page size,
|
||||
the created filesystem may not be mountable by the kernel.
|
||||
Therefore it is recommended to leave this value at
|
||||
4096. Unless you know that your kernel uses a different page
|
||||
size. Suffix with k for power-of-two kilobytes.
|
||||
|
||||
config BR2_TARGET_ROOTFS_BTRFS_SIZE_NODE
|
||||
string "btree node size"
|
||||
default "16384"
|
||||
help
|
||||
The tree block size in which btrfs stores metadata in bytes.
|
||||
This must be a multiple of the sectorsize, but not larger
|
||||
than 64KiB (65536).
|
||||
Suffix with k for power-of-two kilobytes.
|
||||
|
||||
config BR2_TARGET_ROOTFS_BTRFS_FEATURES
|
||||
string "Filesystem Features"
|
||||
help
|
||||
A comma separated string of features that can be enabled
|
||||
during creation time.
|
||||
For a list of available options, use:
|
||||
`.../host/bin/mkfs.btrfs -O list-all`
|
||||
|
||||
endif # BR2_TARGET_ROOTFS_BTRFS
|
||||
36
buildroot/fs/btrfs/btrfs.mk
Normal file
36
buildroot/fs/btrfs/btrfs.mk
Normal 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))
|
||||
@@ -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
|
||||
|
||||
59
buildroot/fs/f2fs/Config.in
Normal file
59
buildroot/fs/f2fs/Config.in
Normal 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
45
buildroot/fs/f2fs/f2fs.mk
Normal 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))
|
||||
@@ -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))
|
||||
|
||||
Reference in New Issue
Block a user