瀏覽代碼

Merge branch 'next'

Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
Peter Korsgaard 5 年之前
父節點
當前提交
7b24bd59c8
共有 100 個文件被更改,包括 1106 次插入464 次删除
  1. 2 0
      .gitlab-ci.yml
  2. 18 0
      Config.in
  3. 8 0
      Config.in.legacy
  4. 27 0
      DEVELOPERS
  5. 22 25
      Makefile
  6. 15 8
      arch/Config.in.arc
  7. 4 0
      board/beelink/gs1/extlinux.conf
  8. 33 0
      board/beelink/gs1/genimage.cfg
  9. 39 0
      board/beelink/gs1/patches/arm-trusted-firmware/0001-plat-allwinner-common-use-r_wdog-instead-of-wdog.patch
  10. 279 0
      board/beelink/gs1/patches/uboot/0001-arm-dts-sync-dts-for-Allwinner-H6.patch
  11. 4 0
      board/beelink/gs1/post-build.sh
  12. 0 1
      board/friendlyarm/nanopi-neo/genimage.cfg
  13. 35 0
      board/pc/genimage-efi.cfg
  14. 6 0
      board/pc/grub-efi.cfg
  15. 9 4
      board/pc/post-build.sh
  16. 0 62
      board/pc/post-image-efi-gpt.sh
  17. 6 0
      board/pc/post-image-efi.sh
  18. 0 9
      board/raspberrypi/post-image.sh
  19. 18 0
      boot/arm-trusted-firmware/Config.in
  20. 5 2
      boot/arm-trusted-firmware/arm-trusted-firmware.mk
  21. 2 2
      boot/barebox/Config.in
  22. 3 3
      boot/barebox/barebox.hash
  23. 3 3
      configs/atmel_sama5d2_xplained_mmc_defconfig
  24. 3 3
      configs/atmel_sama5d2_xplained_mmc_dev_defconfig
  25. 3 3
      configs/atmel_sama5d3_xplained_defconfig
  26. 3 3
      configs/atmel_sama5d3_xplained_dev_defconfig
  27. 3 3
      configs/atmel_sama5d3_xplained_mmc_defconfig
  28. 3 3
      configs/atmel_sama5d3_xplained_mmc_dev_defconfig
  29. 3 3
      configs/atmel_sama5d4_xplained_defconfig
  30. 3 3
      configs/atmel_sama5d4_xplained_dev_defconfig
  31. 3 3
      configs/atmel_sama5d4_xplained_mmc_defconfig
  32. 3 3
      configs/atmel_sama5d4_xplained_mmc_dev_defconfig
  33. 2 3
      configs/beaglebone_defconfig
  34. 44 0
      configs/beelink_gs1_defconfig
  35. 4 4
      configs/linksprite_pcduino_defconfig
  36. 0 2
      configs/nanopi_neo_defconfig
  37. 3 3
      configs/orangepi_lite_defconfig
  38. 3 3
      configs/orangepi_one_defconfig
  39. 3 3
      configs/orangepi_pc_defconfig
  40. 3 3
      configs/orangepi_pc_plus_defconfig
  41. 3 3
      configs/orangepi_r1_defconfig
  42. 3 3
      configs/orangepi_zero_defconfig
  43. 3 3
      configs/orangepi_zero_plus2_defconfig
  44. 3 1
      configs/pc_x86_64_efi_defconfig
  45. 1 1
      configs/raspberrypi0_defconfig
  46. 1 1
      configs/raspberrypi0w_defconfig
  47. 1 1
      configs/raspberrypi2_defconfig
  48. 3 3
      configs/raspberrypi3_64_defconfig
  49. 1 1
      configs/raspberrypi3_defconfig
  50. 1 1
      configs/raspberrypi3_qt5we_defconfig
  51. 1 1
      configs/raspberrypi4_defconfig
  52. 1 1
      configs/raspberrypi_defconfig
  53. 8 1
      docs/manual/adding-packages-generic.txt
  54. 47 0
      docs/manual/common-usage.txt
  55. 3 0
      docs/manual/faq-troubleshooting.txt
  56. 4 4
      docs/manual/quickstart.txt
  57. 14 2
      linux/Config.in
  58. 3 2
      linux/linux.mk
  59. 14 0
      package/Config.in
  60. 1 0
      package/Config.in.host
  61. 15 0
      package/cpuburn-arm/Config.in
  62. 3 0
      package/cpuburn-arm/cpuburn-arm.hash
  63. 31 0
      package/cpuburn-arm/cpuburn-arm.mk
  64. 12 7
      package/dtc/0001-Fix-include-guards-for-older-kernel-u-boot-sources.patch
  65. 0 37
      package/dtc/0002-Makefile-Add-EXTRA_CFLAGS-variable.patch
  66. 4 3
      package/dtc/dtc.hash
  67. 5 2
      package/dtc/dtc.mk
  68. 1 1
      package/fatcat/fatcat.hash
  69. 2 2
      package/fatcat/fatcat.mk
  70. 0 2
      package/ffmpeg/Config.in
  71. 33 0
      package/gcnano-binaries/Config.in
  72. 3 0
      package/gcnano-binaries/gcnano-binaries.hash
  73. 76 0
      package/gcnano-binaries/gcnano-binaries.mk
  74. 1 1
      package/git/git.hash
  75. 1 1
      package/git/git.mk
  76. 10 0
      package/glibc/Config.in
  77. 14 0
      package/glibc/glibc.mk
  78. 1 1
      package/iproute2/iproute2.hash
  79. 1 1
      package/iproute2/iproute2.mk
  80. 3 3
      package/ipset/ipset.hash
  81. 1 1
      package/ipset/ipset.mk
  82. 1 1
      package/irqbalance/irqbalance.hash
  83. 1 1
      package/irqbalance/irqbalance.mk
  84. 23 0
      package/libargon2/0001-libargon2-dont-fail-on-existing-symlink.patch
  85. 12 0
      package/libargon2/Config.in
  86. 3 0
      package/libargon2/libargon2.hash
  87. 40 0
      package/libargon2/libargon2.mk
  88. 0 32
      package/libcgi/0001-CMakeLists.txt-libcgi-is-in-C.patch
  89. 0 44
      package/libcgi/0002-CMakeLists.txt-don-t-force-the-build-of-a-shared-lib.patch
  90. 6 3
      package/libcgi/libcgi.hash
  91. 3 3
      package/libcgi/libcgi.mk
  92. 2 4
      package/libcurl/libcurl.hash
  93. 1 1
      package/libcurl/libcurl.mk
  94. 1 1
      package/libedit/libedit.hash
  95. 1 1
      package/libedit/libedit.mk
  96. 2 2
      package/libffi/libffi.hash
  97. 1 1
      package/libffi/libffi.mk
  98. 0 94
      package/libglib2/0002-add-option-to-build-tests.patch
  99. 37 0
      package/libglib2/0002-allow-explicit-disabling-of-tests.patch
  100. 12 18
      package/libglib2/0003-remove-cpp-requirement.patch

+ 2 - 0
.gitlab-ci.yml

@@ -161,6 +161,7 @@ beagleboardx15_defconfig: { extends: .defconfig }
 beaglebone_defconfig: { extends: .defconfig }
 beaglebone_defconfig: { extends: .defconfig }
 beaglebone_qt5_defconfig: { extends: .defconfig }
 beaglebone_qt5_defconfig: { extends: .defconfig }
 beagleboneai_defconfig: { extends: .defconfig }
 beagleboneai_defconfig: { extends: .defconfig }
+beelink_gs1_defconfig: { extends: .defconfig }
 chromebook_snow_defconfig: { extends: .defconfig }
 chromebook_snow_defconfig: { extends: .defconfig }
 ci20_defconfig: { extends: .defconfig }
 ci20_defconfig: { extends: .defconfig }
 csky_gx6605s_defconfig: { extends: .defconfig }
 csky_gx6605s_defconfig: { extends: .defconfig }
@@ -410,6 +411,7 @@ tests.package.test_luasocket.TestLuajitLuaSocket: { extends: .runtime_test }
 tests.package.test_luasyslog.TestLuaLuasyslog: { extends: .runtime_test }
 tests.package.test_luasyslog.TestLuaLuasyslog: { extends: .runtime_test }
 tests.package.test_luasyslog.TestLuajitLuasyslog: { extends: .runtime_test }
 tests.package.test_luasyslog.TestLuajitLuasyslog: { extends: .runtime_test }
 tests.package.test_luvi.TestLuvi: { extends: .runtime_test }
 tests.package.test_luvi.TestLuvi: { extends: .runtime_test }
+tests.package.test_lxc.TestLxc: { extends: .runtime_test }
 tests.package.test_lzlib.TestLuaLzlib: { extends: .runtime_test }
 tests.package.test_lzlib.TestLuaLzlib: { extends: .runtime_test }
 tests.package.test_openjdk.TestOpenJdk: { extends: .runtime_test }
 tests.package.test_openjdk.TestOpenJdk: { extends: .runtime_test }
 tests.package.test_perl.TestPerl: { extends: .runtime_test }
 tests.package.test_perl.TestPerl: { extends: .runtime_test }

+ 18 - 0
Config.in

@@ -690,6 +690,24 @@ config BR2_REPRODUCIBLE
 	  This is labeled as an experimental feature, as not all
 	  This is labeled as an experimental feature, as not all
 	  packages behave properly to ensure reproducibility.
 	  packages behave properly to ensure reproducibility.
 
 
+config BR2_PER_PACKAGE_DIRECTORIES
+	bool "Use per-package directories (experimental)"
+	help
+	  This option will change the build process of Buildroot
+	  package to use per-package target and host directories.
+
+	  This is useful for two related purposes:
+
+	    - Cleanly isolate the build of each package, so that a
+	      given package only "sees" the dependencies it has
+	      explicitly expressed, and not other packages that may
+	      have by chance been built before.
+
+	    - Enable top-level parallel build.
+
+	  This is labeled as an experimental feature, as not all
+	  packages behave properly with per-package directories.
+
 endmenu
 endmenu
 
 
 comment "Security Hardening Options"
 comment "Security Hardening Options"

+ 8 - 0
Config.in.legacy

@@ -144,6 +144,14 @@ endif
 
 
 ###############################################################################
 ###############################################################################
 
 
+comment "Legacy options removed in 2020.02"
+
+config BR2_PACKAGE_RPI_USERLAND_START_VCFILED
+	bool "rpi-userland start vcfiled was removed"
+	select BR2_LEGACY
+	help
+	  The vcfiled support was removed upstream.
+
 comment "Legacy options removed in 2019.11"
 comment "Legacy options removed in 2019.11"
 
 
 config BR2_PACKAGE_OPENVMTOOLS_PROCPS
 config BR2_PACKAGE_OPENVMTOOLS_PROCPS

+ 27 - 0
DEVELOPERS

@@ -73,6 +73,7 @@ F:	package/selinux-python/
 F:	package/semodule-utils/
 F:	package/semodule-utils/
 F:	package/setools/
 F:	package/setools/
 F:	package/sngrep/
 F:	package/sngrep/
+F:	package/spidermonkey/
 F:	package/systemd/
 F:	package/systemd/
 
 
 N:	Adam Heinrich <adam@adamh.cz>
 N:	Adam Heinrich <adam@adamh.cz>
@@ -256,6 +257,8 @@ F:	package/lua-ev/
 F:	package/orbit/
 F:	package/orbit/
 
 
 N:	Bartosz Bilas <b.bilas@grinn-global.com>
 N:	Bartosz Bilas <b.bilas@grinn-global.com>
+F:	package/python-esptool/
+F:	package/python-pyaes/
 F:	package/qt5/qt5scxml/
 F:	package/qt5/qt5scxml/
 F:	package/qt5/qt5webview/
 F:	package/qt5/qt5webview/
 
 
@@ -274,6 +277,7 @@ N:	Baruch Siach <baruch@tkos.co.il>
 F:	board/solidrun/clearfog_gt_8k/
 F:	board/solidrun/clearfog_gt_8k/
 F:	configs/solidrun_clearfog_gt_8k_defconfig
 F:	configs/solidrun_clearfog_gt_8k_defconfig
 F:	package/18xx-ti-utils/
 F:	package/18xx-ti-utils/
+F:	package/cpuburn-arm/
 F:	package/daemon/
 F:	package/daemon/
 F:	package/dropbear/
 F:	package/dropbear/
 F:	package/ebtables/
 F:	package/ebtables/
@@ -593,6 +597,10 @@ F:	package/libsemanage/
 F:	package/libsepol/
 F:	package/libsepol/
 F:	package/policycoreutils/
 F:	package/policycoreutils/
 
 
+N:	Clément Péron <peron.clem@gmail.com>
+F:	board/beelink/gs1/
+F:	configs/beelink_gs1_defconfig
+
 N:	Corentin Guillevic <corentin.guillevic@smile.fr>
 N:	Corentin Guillevic <corentin.guillevic@smile.fr>
 F:	package/libloki/
 F:	package/libloki/
 
 
@@ -1003,6 +1011,7 @@ F:	package/f2fs-tools/
 F:	package/pigpio/
 F:	package/pigpio/
 F:	package/python-aioblescan/
 F:	package/python-aioblescan/
 F:	package/python-bluezero/
 F:	package/python-bluezero/
+F:	package/python-crontab/
 F:	package/python-falcon/
 F:	package/python-falcon/
 F:	package/python-ifaddr/
 F:	package/python-ifaddr/
 F:	package/python-hiredis/
 F:	package/python-hiredis/
@@ -1173,6 +1182,9 @@ F:	package/quota/
 N:	Jason Pruitt <jrspruitt@gmail.com>
 N:	Jason Pruitt <jrspruitt@gmail.com>
 F:	package/librtlsdr/
 F:	package/librtlsdr/
 
 
+N:	Jens Kleintje <scooby22@web.de>
+F:	package/gcnano-binaries/
+
 N:	Jens Rosenboom <j.rosenboom@x-ion.de>
 N:	Jens Rosenboom <j.rosenboom@x-ion.de>
 F:	package/sl/
 F:	package/sl/
 
 
@@ -1238,6 +1250,7 @@ F:	package/dhcpcd/
 
 
 N:	John Faith <jfaith@impinj.com>
 N:	John Faith <jfaith@impinj.com>
 F:	package/python-inflection/
 F:	package/python-inflection/
+F:	package/sdbusplus/
 
 
 N:	Jonathan Ben Avraham <yba@tkos.co.il>
 N:	Jonathan Ben Avraham <yba@tkos.co.il>
 F:	arch/Config.in.xtensa
 F:	arch/Config.in.xtensa
@@ -1394,6 +1407,9 @@ F:	package/ti-sgx-um/
 N:	Louis Aussedat <aussedat.louis@gmail.com>
 N:	Louis Aussedat <aussedat.louis@gmail.com>
 F:	board/friendlyarm/nanopi-neo-plus2/
 F:	board/friendlyarm/nanopi-neo-plus2/
 F:	configs/friendlyarm_nanopi_neo_plus2_defconfig
 F:	configs/friendlyarm_nanopi_neo_plus2_defconfig
+F:	package/python-dnspython/
+F:	package/python-future/
+F:	package/python-huepy/
 F:	package/python-tqdm/
 F:	package/python-tqdm/
 
 
 N:	Louis-Paul Cordier <lpdev@cordier.org>
 N:	Louis-Paul Cordier <lpdev@cordier.org>
@@ -1585,6 +1601,7 @@ F:	package/policycoreutils/
 F:	package/proftpd/
 F:	package/proftpd/
 F:	package/protobuf-c/
 F:	package/protobuf-c/
 F:	package/protobuf/
 F:	package/protobuf/
+F:	package/python-bunch/
 F:	package/python-colorama/
 F:	package/python-colorama/
 F:	package/python-flask-cors/
 F:	package/python-flask-cors/
 F:	package/python-iptables/
 F:	package/python-iptables/
@@ -1795,15 +1812,23 @@ F:	package/checksec/
 N:	Parnell Springmeyer <parnell@digitalmentat.com>
 N:	Parnell Springmeyer <parnell@digitalmentat.com>
 F:	package/scrypt/
 F:	package/scrypt/
 
 
+N:	Pascal de Bruijn <p.debruijn@unilogic.nl>
+F:	package/libargon2/
+
 N:	Pascal Huerst <pascal.huerst@gmail.com>
 N:	Pascal Huerst <pascal.huerst@gmail.com>
 F:	package/google-breakpad/
 F:	package/google-breakpad/
 
 
 N:	Patrick Gerber <kpa_info@yahoo.fr>
 N:	Patrick Gerber <kpa_info@yahoo.fr>
 F:	package/yavta/
 F:	package/yavta/
 
 
+N:	Patrick Havelange <patrick.havelange@essensium.com>
+F:	support/testing/tests/package/test_lxc.py
+F:	support/testing/tests/package/test_lxc/
+
 N:	Paul Cercueil <paul@crapouillou.net>
 N:	Paul Cercueil <paul@crapouillou.net>
 F:	package/libiio/
 F:	package/libiio/
 F:	package/lightning/
 F:	package/lightning/
+F:	package/umtprd/
 
 
 N:	Pedro Aguilar <paguilar@paguilar.org>
 N:	Pedro Aguilar <paguilar@paguilar.org>
 F:	package/libunistring/
 F:	package/libunistring/
@@ -1937,6 +1962,7 @@ N:	Pierre-Jean Texier <pjtexier@koncepto.io>
 F:	package/fping/
 F:	package/fping/
 F:	package/genimage/
 F:	package/genimage/
 F:	package/haveged/
 F:	package/haveged/
+F:	package/ipset/
 F:	package/libarchive/
 F:	package/libarchive/
 F:	package/libevent/
 F:	package/libevent/
 F:	package/libubootenv/
 F:	package/libubootenv/
@@ -1944,6 +1970,7 @@ F:	package/libxml2/
 F:	package/mongoose/
 F:	package/mongoose/
 F:	package/mxml/
 F:	package/mxml/
 F:	package/python-periphery/
 F:	package/python-periphery/
+F:	package/raspi-gpio/
 F:	package/sbc/
 F:	package/sbc/
 F:	package/stunnel/
 F:	package/stunnel/
 F:	package/tree/
 F:	package/tree/

+ 22 - 25
Makefile

@@ -204,6 +204,7 @@ BR_GRAPH_OUT := $(or $(BR2_GRAPH_OUT),pdf)
 BUILD_DIR := $(BASE_DIR)/build
 BUILD_DIR := $(BASE_DIR)/build
 BINARIES_DIR := $(BASE_DIR)/images
 BINARIES_DIR := $(BASE_DIR)/images
 BASE_TARGET_DIR := $(BASE_DIR)/target
 BASE_TARGET_DIR := $(BASE_DIR)/target
+PER_PACKAGE_DIR := $(BASE_DIR)/per-package
 # initial definition so that 'make clean' works for most users, even without
 # initial definition so that 'make clean' works for most users, even without
 # .config. HOST_DIR will be overwritten later when .config is included.
 # .config. HOST_DIR will be overwritten later when .config is included.
 HOST_DIR := $(BASE_DIR)/host
 HOST_DIR := $(BASE_DIR)/host
@@ -226,21 +227,12 @@ ifeq ($(filter $(noconfig_targets),$(MAKECMDGOALS)),)
 -include $(BR2_CONFIG)
 -include $(BR2_CONFIG)
 endif
 endif
 
 
-# Parallel execution of this Makefile is disabled because it changes
-# the packages building order, that can be a problem for two reasons:
-# - If a package has an unspecified optional dependency and that
-#   dependency is present when the package is built, it is used,
-#   otherwise it isn't (but compilation happily proceeds) so the end
-#   result will differ if the order is swapped due to parallel
-#   building.
-# - Also changing the building order can be a problem if two packages
-#   manipulate the same file in the target directory.
-#
-# Taking into account the above considerations, if you still want to execute
-# this top-level Makefile in parallel comment the ".NOTPARALLEL" line and
-# use the -j<jobs> option when building, e.g:
-#      make -j$((`getconf _NPROCESSORS_ONLN`+1))
+ifeq ($(BR2_PER_PACKAGE_DIRECTORIES),)
+# Disable top-level parallel build if per-package directories is not
+# used. Indeed, per-package directories is necessary to guarantee
+# determinism and reproducibility with top-level parallel build.
 .NOTPARALLEL:
 .NOTPARALLEL:
+endif
 
 
 # timezone and locale may affect build output
 # timezone and locale may affect build output
 ifeq ($(BR2_REPRODUCIBLE),y)
 ifeq ($(BR2_REPRODUCIBLE),y)
@@ -452,12 +444,13 @@ XZCAT := $(call qstrip,$(BR2_XZCAT))
 LZCAT := $(call qstrip,$(BR2_LZCAT))
 LZCAT := $(call qstrip,$(BR2_LZCAT))
 TAR_OPTIONS = $(call qstrip,$(BR2_TAR_OPTIONS)) -xf
 TAR_OPTIONS = $(call qstrip,$(BR2_TAR_OPTIONS)) -xf
 
 
-# packages compiled for the host go here
+ifeq ($(BR2_PER_PACKAGE_DIRECTORIES),y)
+HOST_DIR = $(if $(PKG),$(PER_PACKAGE_DIR)/$($(PKG)_NAME)/host,$(call qstrip,$(BR2_HOST_DIR)))
+TARGET_DIR = $(if $(ROOTFS),$(ROOTFS_$(ROOTFS)_TARGET_DIR),$(if $(PKG),$(PER_PACKAGE_DIR)/$($(PKG)_NAME)/target,$(BASE_TARGET_DIR)))
+else
 HOST_DIR := $(call qstrip,$(BR2_HOST_DIR))
 HOST_DIR := $(call qstrip,$(BR2_HOST_DIR))
-
-# The target directory is common to all packages,
-# but there is one that is specific to each filesystem.
 TARGET_DIR = $(if $(ROOTFS),$(ROOTFS_$(ROOTFS)_TARGET_DIR),$(BASE_TARGET_DIR))
 TARGET_DIR = $(if $(ROOTFS),$(ROOTFS_$(ROOTFS)_TARGET_DIR),$(BASE_TARGET_DIR))
+endif
 
 
 ifneq ($(HOST_DIR),$(BASE_DIR)/host)
 ifneq ($(HOST_DIR),$(BASE_DIR)/host)
 HOST_DIR_SYMLINK = $(BASE_DIR)/host
 HOST_DIR_SYMLINK = $(BASE_DIR)/host
@@ -593,8 +586,8 @@ world: target-post-image
 .PHONY: prepare-sdk
 .PHONY: prepare-sdk
 prepare-sdk: world
 prepare-sdk: world
 	@$(call MESSAGE,"Rendering the SDK relocatable")
 	@$(call MESSAGE,"Rendering the SDK relocatable")
-	$(TOPDIR)/support/scripts/fix-rpath host
-	$(TOPDIR)/support/scripts/fix-rpath staging
+	PER_PACKAGE_DIR=$(PER_PACKAGE_DIR) $(TOPDIR)/support/scripts/fix-rpath host
+	PER_PACKAGE_DIR=$(PER_PACKAGE_DIR) $(TOPDIR)/support/scripts/fix-rpath staging
 	$(INSTALL) -m 755 $(TOPDIR)/support/misc/relocate-sdk.sh $(HOST_DIR)/relocate-sdk.sh
 	$(INSTALL) -m 755 $(TOPDIR)/support/misc/relocate-sdk.sh $(HOST_DIR)/relocate-sdk.sh
 	mkdir -p $(HOST_DIR)/share/buildroot
 	mkdir -p $(HOST_DIR)/share/buildroot
 	echo $(HOST_DIR) > $(HOST_DIR)/share/buildroot/sdk-location
 	echo $(HOST_DIR) > $(HOST_DIR)/share/buildroot/sdk-location
@@ -727,15 +720,19 @@ $(TARGETS_ROOTFS): target-finalize
 # Avoid the rootfs name leaking down the dependency chain
 # Avoid the rootfs name leaking down the dependency chain
 target-finalize: ROOTFS=
 target-finalize: ROOTFS=
 
 
-host-finalize: $(HOST_DIR_SYMLINK)
+.PHONY: host-finalize
+host-finalize: $(PACKAGES) $(HOST_DIR) $(HOST_DIR_SYMLINK)
+	@$(call MESSAGE,"Finalizing host directory")
+	$(call per-package-rsync,$(sort $(PACKAGES)),host,$(HOST_DIR))
 
 
 .PHONY: staging-finalize
 .PHONY: staging-finalize
 staging-finalize:
 staging-finalize:
 	@ln -snf $(STAGING_DIR) $(BASE_DIR)/staging
 	@ln -snf $(STAGING_DIR) $(BASE_DIR)/staging
 
 
 .PHONY: target-finalize
 .PHONY: target-finalize
-target-finalize: $(PACKAGES) host-finalize
+target-finalize: $(PACKAGES) $(TARGET_DIR) host-finalize
 	@$(call MESSAGE,"Finalizing target directory")
 	@$(call MESSAGE,"Finalizing target directory")
+	$(call per-package-rsync,$(sort $(PACKAGES)),target,$(TARGET_DIR))
 	# Check files that are touched by more than one package
 	# Check files that are touched by more than one package
 	$(foreach hook,$(TARGET_FINALIZE_HOOKS),$($(hook))$(sep))
 	$(foreach hook,$(TARGET_FINALIZE_HOOKS),$($(hook))$(sep))
 	rm -rf $(TARGET_DIR)/usr/include $(TARGET_DIR)/usr/share/aclocal \
 	rm -rf $(TARGET_DIR)/usr/include $(TARGET_DIR)/usr/share/aclocal \
@@ -776,7 +773,7 @@ endif
 	ln -sf ../usr/lib/os-release $(TARGET_DIR)/etc
 	ln -sf ../usr/lib/os-release $(TARGET_DIR)/etc
 
 
 	@$(call MESSAGE,"Sanitizing RPATH in target tree")
 	@$(call MESSAGE,"Sanitizing RPATH in target tree")
-	$(TOPDIR)/support/scripts/fix-rpath target
+	PER_PACKAGE_DIR=$(PER_PACKAGE_DIR) $(TOPDIR)/support/scripts/fix-rpath target
 
 
 # For a merged /usr, ensure that /lib, /bin and /sbin and their /usr
 # For a merged /usr, ensure that /lib, /bin and /sbin and their /usr
 # counterparts are appropriately setup as symlinks ones to the others.
 # counterparts are appropriately setup as symlinks ones to the others.
@@ -1014,7 +1011,7 @@ savedefconfig: $(BUILD_DIR)/buildroot-config/conf outputmakefile
 
 
 # staging and target directories do NOT list these as
 # staging and target directories do NOT list these as
 # dependencies anywhere else
 # dependencies anywhere else
-$(BUILD_DIR) $(BASE_TARGET_DIR) $(HOST_DIR) $(BINARIES_DIR) $(LEGAL_INFO_DIR) $(REDIST_SOURCES_DIR_TARGET) $(REDIST_SOURCES_DIR_HOST):
+$(BUILD_DIR) $(BASE_TARGET_DIR) $(HOST_DIR) $(BINARIES_DIR) $(LEGAL_INFO_DIR) $(REDIST_SOURCES_DIR_TARGET) $(REDIST_SOURCES_DIR_HOST) $(PER_PACKAGE_DIR):
 	@mkdir -p $@
 	@mkdir -p $@
 
 
 # outputmakefile generates a Makefile in the output directory, if using a
 # outputmakefile generates a Makefile in the output directory, if using a
@@ -1046,7 +1043,7 @@ printvars:
 clean:
 clean:
 	rm -rf $(BASE_TARGET_DIR) $(BINARIES_DIR) $(HOST_DIR) $(HOST_DIR_SYMLINK) \
 	rm -rf $(BASE_TARGET_DIR) $(BINARIES_DIR) $(HOST_DIR) $(HOST_DIR_SYMLINK) \
 		$(BUILD_DIR) $(BASE_DIR)/staging \
 		$(BUILD_DIR) $(BASE_DIR)/staging \
-		$(LEGAL_INFO_DIR) $(GRAPHS_DIR)
+		$(LEGAL_INFO_DIR) $(GRAPHS_DIR) $(PER_PACKAGE_DIR)
 
 
 .PHONY: distclean
 .PHONY: distclean
 distclean: clean
 distclean: clean

+ 15 - 8
arch/Config.in.arc

@@ -15,11 +15,17 @@ config BR2_archs38
 	bool "ARC HS38"
 	bool "ARC HS38"
 	help
 	help
 	  Generic ARC HS capable of running Linux, i.e. with MMU,
 	  Generic ARC HS capable of running Linux, i.e. with MMU,
-	  caches and multiplier. Also it corresponds to the default
-	  configuration in older GNU toolchain versions.
+	  caches and 32-bit multiplier. Also it corresponds to the
+	  default configuration in older GNU toolchain versions.
 
 
-	  If you're not sure which version of ARC HS core you  build for
-	  keep this one.
+config BR2_archs38_64mpy
+	bool "ARC HS38 with 64-bit mpy"
+	help
+	  Fully featured ARC HS capable of running Linux, i.e. with
+	  MMU, caches and 64-bit multiplier.
+
+	  If you're not sure which version of ARC HS core you build
+	  for use this one.
 
 
 config BR2_archs38_full
 config BR2_archs38_full
 	bool "ARC HS38 with Quad MAC & FPU"
 	bool "ARC HS38 with Quad MAC & FPU"
@@ -43,7 +49,7 @@ endchoice
 # Choice of atomic instructions presence
 # Choice of atomic instructions presence
 config BR2_ARC_ATOMIC_EXT
 config BR2_ARC_ATOMIC_EXT
 	bool "Atomic extension (LLOCK/SCOND instructions)"
 	bool "Atomic extension (LLOCK/SCOND instructions)"
-	default y if BR2_arc770d || BR2_archs38 || BR2_archs38_full || BR2_archs4x_rel31
+	default y if BR2_arc770d || BR2_archs38 || BR2_archs38_64mpy || BR2_archs38_full || BR2_archs4x_rel31
 
 
 config BR2_ARCH
 config BR2_ARCH
 	default "arc"	if BR2_arcle
 	default "arc"	if BR2_arcle
@@ -61,12 +67,13 @@ config BR2_GCC_TARGET_CPU
 	default "arc700" if BR2_arc750d
 	default "arc700" if BR2_arc750d
 	default "arc700" if BR2_arc770d
 	default "arc700" if BR2_arc770d
 	default "archs"	 if BR2_archs38
 	default "archs"	 if BR2_archs38
+	default "hs38"	 if BR2_archs38_64mpy
 	default "hs38_linux"	 if BR2_archs38_full
 	default "hs38_linux"	 if BR2_archs38_full
 	default "hs4x_rel31"	 if BR2_archs4x_rel31
 	default "hs4x_rel31"	 if BR2_archs4x_rel31
 
 
 config BR2_READELF_ARCH_NAME
 config BR2_READELF_ARCH_NAME
 	default "ARCompact"	if BR2_arc750d || BR2_arc770d
 	default "ARCompact"	if BR2_arc750d || BR2_arc770d
-	default "ARCv2"		if BR2_archs38 || BR2_archs38_full || BR2_archs4x_rel31
+	default "ARCv2"		if BR2_archs38 || BR2_archs38_64mpy || BR2_archs38_full || BR2_archs4x_rel31
 
 
 choice
 choice
 	prompt "MMU Page Size"
 	prompt "MMU Page Size"
@@ -86,7 +93,7 @@ choice
 
 
 config BR2_ARC_PAGE_SIZE_4K
 config BR2_ARC_PAGE_SIZE_4K
 	bool "4KB"
 	bool "4KB"
-	depends on BR2_arc770d || BR2_archs38 || BR2_archs38_full || BR2_archs4x_rel31
+	depends on BR2_arc770d || BR2_archs38 || BR2_archs38_64mpy || BR2_archs38_full || BR2_archs4x_rel31
 
 
 config BR2_ARC_PAGE_SIZE_8K
 config BR2_ARC_PAGE_SIZE_8K
 	bool "8KB"
 	bool "8KB"
@@ -96,7 +103,7 @@ config BR2_ARC_PAGE_SIZE_8K
 
 
 config BR2_ARC_PAGE_SIZE_16K
 config BR2_ARC_PAGE_SIZE_16K
 	bool "16KB"
 	bool "16KB"
-	depends on BR2_arc770d || BR2_archs38 || BR2_archs38_full || BR2_archs4x_rel31
+	depends on BR2_arc770d || BR2_archs38 || BR2_archs38_64mpy || BR2_archs38_full || BR2_archs4x_rel31
 
 
 endchoice
 endchoice
 
 

+ 4 - 0
board/beelink/gs1/extlinux.conf

@@ -0,0 +1,4 @@
+label linux
+  kernel /Image
+  devicetree /sun50i-h6-beelink-gs1.dtb
+  append console=ttyS0,115200 earlyprintk root=/dev/mmcblk0p2 rootwait

+ 33 - 0
board/beelink/gs1/genimage.cfg

@@ -0,0 +1,33 @@
+image boot.vfat {
+	vfat {
+		files = {
+			"Image",
+			"sun50i-h6-beelink-gs1.dtb",
+			"extlinux"
+		}
+	}
+	size = 64M
+}
+
+image sdcard.img {
+	hdimage {
+	}
+
+	partition u-boot {
+		in-partition-table = "no"
+		image = "u-boot-sunxi-with-spl.bin"
+		offset = 8192
+		size = 1040384 # 1MB - 8192
+	}
+
+	partition boot {
+		partition-type = 0xC
+		bootable = "true"
+		image = "boot.vfat"
+	}
+
+	partition rootfs {
+		partition-type = 0x83
+		image = "rootfs.ext4"
+	}
+}

+ 39 - 0
board/beelink/gs1/patches/arm-trusted-firmware/0001-plat-allwinner-common-use-r_wdog-instead-of-wdog.patch

@@ -0,0 +1,39 @@
+From 523ab5be1a84e9aa15fb62c3a15a6338b01d3961 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Cl=C3=A9ment=20P=C3=A9ron?= <peron.clem@gmail.com>
+Date: Tue, 9 Apr 2019 00:15:06 +0200
+Subject: [PATCH] plat: allwinner: common: use r_wdog instead of wdog
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Some Allwinner H6 has a broken watchdog that doesn't
+make the soc reboot.
+
+Use the R_WATCHDOG instead.
+
+Signed-off-by: Clément Péron <peron.clem@gmail.com>
+Change-Id: Ie95cc30a80ed517b60b30d6bc2e655a1b53f18ba
+---
+ plat/allwinner/common/sunxi_pm.c | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/plat/allwinner/common/sunxi_pm.c b/plat/allwinner/common/sunxi_pm.c
+index 1d2dc938..13e13532 100644
+--- a/plat/allwinner/common/sunxi_pm.c
++++ b/plat/allwinner/common/sunxi_pm.c
+@@ -20,9 +20,9 @@
+ #include <sunxi_mmap.h>
+ #include <sunxi_private.h>
+ 
+-#define SUNXI_WDOG0_CTRL_REG		(SUNXI_WDOG_BASE + 0x0010)
+-#define SUNXI_WDOG0_CFG_REG		(SUNXI_WDOG_BASE + 0x0014)
+-#define SUNXI_WDOG0_MODE_REG		(SUNXI_WDOG_BASE + 0x0018)
++#define SUNXI_WDOG0_CTRL_REG		(SUNXI_R_WDOG_BASE + 0x0010)
++#define SUNXI_WDOG0_CFG_REG		(SUNXI_R_WDOG_BASE + 0x0014)
++#define SUNXI_WDOG0_MODE_REG		(SUNXI_R_WDOG_BASE + 0x0018)
+ 
+ #define mpidr_is_valid(mpidr) ( \
+ 	MPIDR_AFFLVL3_VAL(mpidr) == 0 && \
+-- 
+2.20.1
+

+ 279 - 0
board/beelink/gs1/patches/uboot/0001-arm-dts-sync-dts-for-Allwinner-H6.patch

@@ -0,0 +1,279 @@
+From 99cade8743158889b3e8db93c003b3318ebd4bda Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Cl=C3=A9ment=20P=C3=A9ron?= <peron.clem@gmail.com>
+Date: Sun, 11 Aug 2019 22:38:57 +0200
+Subject: [PATCH] arm: dts: sync dts for Allwinner H6
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Sync Kernel DTS for Allwinner H6 boards.
+
+Drop /omit-if-no-ref/ keyword as it's not supported by U-boot.
+
+commit <d45331b00ddb> Linux 5.3-rc4
+
+Signed-off-by: Clément Péron <peron.clem@gmail.com>
+---
+ arch/arm/dts/sun50i-h6-beelink-gs1.dts | 76 ++++++++++++++++++++++++++
+ arch/arm/dts/sun50i-h6-pine-h64.dts    | 12 ++++
+ arch/arm/dts/sun50i-h6.dtsi            | 46 +++++++++++++++-
+ 3 files changed, 131 insertions(+), 3 deletions(-)
+
+diff --git a/arch/arm/dts/sun50i-h6-beelink-gs1.dts b/arch/arm/dts/sun50i-h6-beelink-gs1.dts
+index 54b0882bed..0dc33c90dd 100644
+--- a/arch/arm/dts/sun50i-h6-beelink-gs1.dts
++++ b/arch/arm/dts/sun50i-h6-beelink-gs1.dts
+@@ -14,6 +14,7 @@
+ 	compatible = "azw,beelink-gs1", "allwinner,sun50i-h6";
+ 
+ 	aliases {
++		ethernet0 = &emac;
+ 		serial0 = &uart0;
+ 	};
+ 
+@@ -21,6 +22,17 @@
+ 		stdout-path = "serial0:115200n8";
+ 	};
+ 
++	connector {
++		compatible = "hdmi-connector";
++		type = "a";
++
++		port {
++			hdmi_con_in: endpoint {
++				remote-endpoint = <&hdmi_out_con>;
++			};
++		};
++	};
++
+ 	leds {
+ 		compatible = "gpio-leds";
+ 
+@@ -41,6 +53,40 @@
+ 	};
+ };
+ 
++&de {
++	status = "okay";
++};
++
++&ehci0 {
++	status = "okay";
++};
++
++&emac {
++	pinctrl-names = "default";
++	pinctrl-0 = <&ext_rgmii_pins>;
++	phy-mode = "rgmii";
++	phy-handle = <&ext_rgmii_phy>;
++	phy-supply = <&reg_aldo2>;
++	status = "okay";
++};
++
++&hdmi {
++	status = "okay";
++};
++
++&hdmi_out {
++	hdmi_out_con: endpoint {
++		remote-endpoint = <&hdmi_con_in>;
++	};
++};
++
++&mdio {
++	ext_rgmii_phy: ethernet-phy@1 {
++		compatible = "ethernet-phy-ieee802.3-c22";
++		reg = <1>;
++	};
++};
++
+ &mmc0 {
+ 	vmmc-supply = <&reg_cldo1>;
+ 	cd-gpios = <&pio 5 6 GPIO_ACTIVE_LOW>;
+@@ -57,6 +103,15 @@
+ 	status = "okay";
+ };
+ 
++&ohci0 {
++	status = "okay";
++};
++
++&pio {
++	vcc-pd-supply = <&reg_cldo1>;
++	vcc-pg-supply = <&reg_aldo1>;
++};
++
+ &r_i2c {
+ 	status = "okay";
+ 
+@@ -177,8 +232,29 @@
+ 	};
+ };
+ 
++&r_pio {
++	/*
++	 * PL0 and PL1 are used for PMIC I2C
++	 * don't enable the pl-supply else
++	 * it will fail at boot
++	 *
++	 * vcc-pl-supply = <&reg_aldo1>;
++	 */
++	vcc-pm-supply = <&reg_aldo1>;
++};
++
+ &uart0 {
+ 	pinctrl-names = "default";
+ 	pinctrl-0 = <&uart0_ph_pins>;
+ 	status = "okay";
+ };
++
++&usb2otg {
++	dr_mode = "host";
++	status = "okay";
++};
++
++&usb2phy {
++	usb0_vbus-supply = <&reg_vcc5v>;
++	status = "okay";
++};
+diff --git a/arch/arm/dts/sun50i-h6-pine-h64.dts b/arch/arm/dts/sun50i-h6-pine-h64.dts
+index 4802902e12..1898345183 100644
+--- a/arch/arm/dts/sun50i-h6-pine-h64.dts
++++ b/arch/arm/dts/sun50i-h6-pine-h64.dts
+@@ -127,6 +127,12 @@
+ 	status = "okay";
+ };
+ 
++&pio {
++	vcc-pc-supply = <&reg_bldo2>;
++	vcc-pd-supply = <&reg_cldo1>;
++	vcc-pg-supply = <&reg_aldo1>;
++};
++
+ &r_i2c {
+ 	status = "okay";
+ 
+@@ -243,10 +249,16 @@
+ 	pcf8563: rtc@51 {
+ 		compatible = "nxp,pcf8563";
+ 		reg = <0x51>;
++		interrupt-parent = <&r_intc>;
++		interrupts = <0 IRQ_TYPE_LEVEL_LOW>;
+ 		#clock-cells = <0>;
+ 	};
+ };
+ 
++&r_pio {
++	vcc-pm-supply = <&reg_aldo1>;
++};
++
+ &uart0 {
+ 	pinctrl-names = "default";
+ 	pinctrl-0 = <&uart0_ph_pins>;
+diff --git a/arch/arm/dts/sun50i-h6.dtsi b/arch/arm/dts/sun50i-h6.dtsi
+index e0dc4a05c1..a117f479ae 100644
+--- a/arch/arm/dts/sun50i-h6.dtsi
++++ b/arch/arm/dts/sun50i-h6.dtsi
+@@ -101,7 +101,7 @@
+ 		#size-cells = <1>;
+ 		ranges;
+ 
+-		display-engine@1000000 {
++		bus@1000000 {
+ 			compatible = "allwinner,sun50i-h6-de3",
+ 				     "allwinner,sun50i-a64-de2";
+ 			reg = <0x1000000 0x400000>;
+@@ -203,11 +203,32 @@
+ 			#reset-cells = <1>;
+ 		};
+ 
++		dma: dma-controller@3002000 {
++			compatible = "allwinner,sun50i-h6-dma";
++			reg = <0x03002000 0x1000>;
++			interrupts = <GIC_SPI 43 IRQ_TYPE_LEVEL_HIGH>;
++			clocks = <&ccu CLK_BUS_DMA>, <&ccu CLK_MBUS_DMA>;
++			clock-names = "bus", "mbus";
++			dma-channels = <16>;
++			dma-requests = <46>;
++			resets = <&ccu RST_BUS_DMA>;
++			#dma-cells = <1>;
++		};
++
+ 		sid: sid@3006000 {
+ 			compatible = "allwinner,sun50i-h6-sid";
+ 			reg = <0x03006000 0x400>;
+ 		};
+ 
++		watchdog: watchdog@30090a0 {
++			compatible = "allwinner,sun50i-h6-wdt",
++				     "allwinner,sun6i-a31-wdt";
++			reg = <0x030090a0 0x20>;
++			interrupts = <GIC_SPI 50 IRQ_TYPE_LEVEL_HIGH>;
++			/* Broken on some H6 boards */
++			status = "disabled";
++		};
++
+ 		pio: pinctrl@300b000 {
+ 			compatible = "allwinner,sun50i-h6-pinctrl";
+ 			reg = <0x0300b000 0x400>;
+@@ -243,6 +264,18 @@
+ 				bias-pull-up;
+ 			};
+ 
++			/*
++			 * /omit-if-no-ref/ isn't supported by U-boot
++			 * keep this comment to avoid bad sync with Linux
++			 */
++			mmc1_pins: mmc1-pins {
++				pins = "PG0", "PG1", "PG2", "PG3",
++				       "PG4", "PG5";
++				function = "mmc1";
++				drive-strength = <30>;
++				bias-pull-up;
++			};
++
+ 			mmc2_pins: mmc2-pins {
+ 				pins = "PC1", "PC4", "PC5", "PC6",
+ 				       "PC7", "PC8", "PC9", "PC10",
+@@ -294,6 +327,8 @@
+ 			resets = <&ccu RST_BUS_MMC1>;
+ 			reset-names = "ahb";
+ 			interrupts = <GIC_SPI 36 IRQ_TYPE_LEVEL_HIGH>;
++			pinctrl-names = "default";
++			pinctrl-0 = <&mmc1_pins>;
+ 			status = "disabled";
+ 			#address-cells = <1>;
+ 			#size-cells = <0>;
+@@ -445,7 +480,6 @@
+ 			resets = <&ccu RST_BUS_OHCI3>,
+ 				 <&ccu RST_BUS_EHCI3>;
+ 			phys = <&usb2phy 3>;
+-			phy-names = "usb";
+ 			status = "disabled";
+ 		};
+ 
+@@ -457,7 +491,6 @@
+ 				 <&ccu CLK_USB_OHCI3>;
+ 			resets = <&ccu RST_BUS_OHCI3>;
+ 			phys = <&usb2phy 3>;
+-			phy-names = "usb";
+ 			status = "disabled";
+ 		};
+ 
+@@ -613,6 +646,13 @@
+ 			#reset-cells = <1>;
+ 		};
+ 
++		r_watchdog: watchdog@7020400 {
++			compatible = "allwinner,sun50i-h6-wdt",
++				     "allwinner,sun6i-a31-wdt";
++			reg = <0x07020400 0x20>;
++			interrupts = <GIC_SPI 103 IRQ_TYPE_LEVEL_HIGH>;
++		};
++
+ 		r_intc: interrupt-controller@7021000 {
+ 			compatible = "allwinner,sun50i-h6-r-intc",
+ 				     "allwinner,sun6i-a31-r-intc";
+-- 
+2.20.1
+

+ 4 - 0
board/beelink/gs1/post-build.sh

@@ -0,0 +1,4 @@
+#!/bin/sh
+BOARD_DIR="$(dirname $0)"
+
+install -m 0644 -D $BOARD_DIR/extlinux.conf $BINARIES_DIR/extlinux/extlinux.conf

+ 0 - 1
board/friendlyarm/nanopi-neo/genimage.cfg

@@ -29,6 +29,5 @@ image sdcard.img {
 	partition rootfs {
 	partition rootfs {
 		partition-type = 0x83
 		partition-type = 0x83
 		image = "rootfs.ext4"
 		image = "rootfs.ext4"
-		size = 32M
 	}
 	}
 }
 }

+ 35 - 0
board/pc/genimage-efi.cfg

@@ -0,0 +1,35 @@
+image efi-part.vfat {
+  vfat {
+    file startup.nsh {
+      image = "efi-part/startup.nsh"
+    }
+    file EFI {
+      image = "efi-part/EFI"
+    }
+    file bzImage {
+      image = "bzImage"
+    }
+  }
+  size = 16777216
+}
+
+image disk.img {
+  hdimage {
+    gpt = true
+  }
+
+  partition boot {
+    image = "efi-part.vfat"
+    partition-type-uuid = c12a7328-f81f-11d2-ba4b-00a0c93ec93b
+    offset = 32768
+    size = 16777216
+    bootable = true
+  }
+
+  partition root {
+    partition-type-uuid = 44479540-f297-41b2-9af7-d131d5f0458a
+    partition-uuid = UUID_TMP
+    image = "rootfs.ext2"
+    offset = 16809984
+  }
+}

+ 6 - 0
board/pc/grub-efi.cfg

@@ -0,0 +1,6 @@
+set default="0"
+set timeout="5"
+
+menuentry "Buildroot" {
+ linux /bzImage root=PARTUUID=UUID_TMP rootwait console=tty1
+}

+ 9 - 4
board/pc/post-build.sh

@@ -4,7 +4,12 @@ set -e
 
 
 BOARD_DIR=$(dirname "$0")
 BOARD_DIR=$(dirname "$0")
 
 
-cp -f "$BOARD_DIR/grub-bios.cfg" "$TARGET_DIR/boot/grub/grub.cfg"
-
-# Copy grub 1st stage to binaries, required for genimage
-cp -f "$HOST_DIR/lib/grub/i386-pc/boot.img" "$BINARIES_DIR"
+# Detect boot strategy, EFI or BIOS
+if [ -f "$BINARIES_DIR/efi-part/startup.nsh" ]; then
+    cp -f "$BOARD_DIR/grub-efi.cfg" "$BINARIES_DIR/efi-part/EFI/BOOT/grub.cfg"
+else
+    cp -f "$BOARD_DIR/grub-bios.cfg" "$TARGET_DIR/boot/grub/grub.cfg"
+
+    # Copy grub 1st stage to binaries, required for genimage
+    cp -f "$HOST_DIR/lib/grub/i387-pc/boot.img" "$BINARIES_DIR"
+fi

+ 0 - 62
board/pc/post-image-efi-gpt.sh

@@ -1,62 +0,0 @@
-#!/bin/sh
-
-set -e
-
-cd ${BINARIES_DIR}
-
-# GPT partition type UUIDs
-esp_type=c12a7328-f81f-11d2-ba4b-00a0c93ec93b
-linux_type=44479540-f297-41b2-9af7-d131d5f0458a
-
-# Partition UUIDs
-efi_part_uuid=$(uuidgen)
-root_part_uuid=$(uuidgen)
-
-# Boot partition offset and size, in 512-byte sectors
-efi_part_start=64
-efi_part_size=32768
-
-# Rootfs partition offset and size, in 512-byte sectors
-root_part_start=$(( efi_part_start + efi_part_size ))
-root_part_size=$(( $(stat -c %s rootfs.ext2) / 512 ))
-
-first_lba=34
-last_lba=$(( root_part_start + root_part_size ))
-
-# Disk image size in 512-byte sectors
-image_size=$(( last_lba + first_lba ))
-
-cat > efi-part/EFI/BOOT/grub.cfg <<EOF
-set default="0"
-set timeout="5"
-
-menuentry "Buildroot" {
-	linux /bzImage root=PARTUUID=$root_part_uuid rootwait console=tty1
-}
-EOF
-
-# Create EFI system partition
-rm -f efi-part.vfat
-dd if=/dev/zero of=efi-part.vfat bs=512 count=0 seek=$efi_part_size
-mkdosfs  efi-part.vfat
-mcopy -bsp -i efi-part.vfat efi-part/startup.nsh ::startup.nsh
-mcopy -bsp -i efi-part.vfat efi-part/EFI ::EFI
-mcopy -bsp -i efi-part.vfat bzImage ::bzImage
-
-rm -f disk.img
-dd if=/dev/zero of=disk.img bs=512 count=0 seek=$image_size
-
-sfdisk disk.img <<EOF
-label: gpt
-label-id: $(uuidgen)
-device: /dev/foobar0
-unit: sectors
-first-lba: $first_lba
-last-lba: $last_lba
-
-/dev/foobar0p1 : start=$efi_part_start,  size=$efi_part_size,  type=$esp_type,   uuid=$efi_part_uuid,  name="efi-part.vfat"
-/dev/foobar0p2 : start=$root_part_start, size=$root_part_size, type=$linux_type, uuid=$root_part_uuid, name="rootfs.ext2"
-EOF
-
-dd if=efi-part.vfat of=disk.img bs=512 count=$efi_part_size seek=$efi_part_start conv=notrunc
-dd if=rootfs.ext2   of=disk.img bs=512 count=$root_part_size seek=$root_part_start conv=notrunc

+ 6 - 0
board/pc/post-image-efi.sh

@@ -0,0 +1,6 @@
+#!/bin/sh
+
+UUID=$(dumpe2fs "$BINARIES_DIR/rootfs.ext2" 2>/dev/null | sed -n 's/^Filesystem UUID: *\(.*\)/\1/p')
+sed -i "s/UUID_TMP/$UUID/g" "$BINARIES_DIR/efi-part/EFI/BOOT/grub.cfg"
+sed "s/UUID_TMP/$UUID/g" board/pc/genimage-efi.cfg > "$BINARIES_DIR/genimage-efi.cfg"
+support/scripts/genimage.sh -c "$BINARIES_DIR/genimage-efi.cfg"

+ 0 - 9
board/raspberrypi/post-image.sh

@@ -28,15 +28,6 @@ __EOF__
 
 
 # enable 64bits support
 # enable 64bits support
 arm_64bit=1
 arm_64bit=1
-__EOF__
-		fi
-
-		# Enable uart console
-		if ! grep -qE '^enable_uart=1' "${BINARIES_DIR}/rpi-firmware/config.txt"; then
-			cat << __EOF__ >> "${BINARIES_DIR}/rpi-firmware/config.txt"
-
-# enable rpi3 ttyS0 serial console
-enable_uart=1
 __EOF__
 __EOF__
 		fi
 		fi
 		;;
 		;;

+ 18 - 0
boot/arm-trusted-firmware/Config.in

@@ -124,6 +124,17 @@ config BR2_TARGET_ARM_TRUSTED_FIRMWARE_UBOOT_AS_BL33
 	  gets built before ATF, and that the appropriate BL33
 	  gets built before ATF, and that the appropriate BL33
 	  variable pointing to u-boot.bin is passed when building ATF.
 	  variable pointing to u-boot.bin is passed when building ATF.
 
 
+if BR2_TARGET_ARM_TRUSTED_FIRMWARE_UBOOT_AS_BL33
+
+config BR2_TARGET_ARM_TRUSTED_FIRMWARE_UBOOT_BL33_IMAGE
+	string "U-Boot BL33 image name"
+	default "u-boot.bin"
+	help
+	  Name of the U-Boot BL33 image to include in ATF, it must
+	  have been installed to BINARIES_DIR by the U-Boot package.
+
+endif
+
 config BR2_TARGET_ARM_TRUSTED_FIRMWARE_ADDITIONAL_VARIABLES
 config BR2_TARGET_ARM_TRUSTED_FIRMWARE_ADDITIONAL_VARIABLES
 	string "Additional ATF build variables"
 	string "Additional ATF build variables"
 	help
 	help
@@ -135,4 +146,11 @@ config BR2_TARGET_ARM_TRUSTED_FIRMWARE_DEBUG
 	help
 	help
 	  Enable this option to build ATF with DEBUG=1.
 	  Enable this option to build ATF with DEBUG=1.
 
 
+config BR2_TARGET_ARM_TRUSTED_FIRMWARE_IMAGES
+	string "Binary boot images"
+	default "*.bin"
+	help
+	  Names of generated image files that are installed in the
+	  output images/ directory.
+
 endif
 endif

+ 5 - 2
boot/arm-trusted-firmware/arm-trusted-firmware.mk

@@ -70,7 +70,8 @@ endif
 endif # BR2_TARGET_ARM_TRUSTED_FIRMWARE_BL32_OPTEE
 endif # BR2_TARGET_ARM_TRUSTED_FIRMWARE_BL32_OPTEE
 
 
 ifeq ($(BR2_TARGET_ARM_TRUSTED_FIRMWARE_UBOOT_AS_BL33),y)
 ifeq ($(BR2_TARGET_ARM_TRUSTED_FIRMWARE_UBOOT_AS_BL33),y)
-ARM_TRUSTED_FIRMWARE_MAKE_OPTS += BL33=$(BINARIES_DIR)/u-boot.bin
+ARM_TRUSTED_FIRMWARE_UBOOT_BIN = $(call qstrip,$(BR2_TARGET_ARM_TRUSTED_FIRMWARE_UBOOT_BL33_IMAGE))
+ARM_TRUSTED_FIRMWARE_MAKE_OPTS += BL33=$(BINARIES_DIR)/$(ARM_TRUSTED_FIRMWARE_UBOOT_BIN)
 ARM_TRUSTED_FIRMWARE_DEPENDENCIES += uboot
 ARM_TRUSTED_FIRMWARE_DEPENDENCIES += uboot
 endif
 endif
 
 
@@ -146,7 +147,9 @@ define ARM_TRUSTED_FIRMWARE_BUILD_CMDS
 endef
 endef
 
 
 define ARM_TRUSTED_FIRMWARE_INSTALL_IMAGES_CMDS
 define ARM_TRUSTED_FIRMWARE_INSTALL_IMAGES_CMDS
-	cp -dpf $(ARM_TRUSTED_FIRMWARE_IMG_DIR)/*.bin $(BINARIES_DIR)/
+	$(foreach f,$(call qstrip,$(BR2_TARGET_ARM_TRUSTED_FIRMWARE_IMAGES)), \
+		cp -dpf $(ARM_TRUSTED_FIRMWARE_IMG_DIR)/$(f) $(BINARIES_DIR)/
+	)
 	$(ARM_TRUSTED_FIRMWARE_BL31_UBOOT_INSTALL)
 	$(ARM_TRUSTED_FIRMWARE_BL31_UBOOT_INSTALL)
 	$(ARM_TRUSTED_FIRMWARE_BL31_UBOOT_INSTALL_ELF)
 	$(ARM_TRUSTED_FIRMWARE_BL31_UBOOT_INSTALL_ELF)
 endef
 endef

+ 2 - 2
boot/barebox/Config.in

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

+ 3 - 3
boot/barebox/barebox.hash

@@ -1,5 +1,5 @@
-# From https://www.barebox.org/download/barebox-2019.09.0.tar.bz2.md5
-md5 08fa404904cc95d8d0d34d4142351d09 barebox-2019.09.0.tar.bz2
+# From https://www.barebox.org/download/barebox-2019.11.0.tar.bz2.md5
+md5 45bf108b22de94a73dfe5c024c873486 barebox-2019.11.0.tar.bz2
 
 
 # Locally calculated
 # Locally calculated
-sha256 beab6bdba2466bece57d23834daf4f0d530a594efc11ca0ddb69372981e6e159 barebox-2019.09.0.tar.bz2
+sha256 607165b96d98fcc114fbd07e4001e7b527739a543e7adbe019854fbd8c78777f barebox-2019.11.0.tar.bz2

+ 3 - 3
configs/atmel_sama5d2_xplained_mmc_defconfig

@@ -8,7 +8,7 @@ BR2_ROOTFS_POST_IMAGE_SCRIPT="support/scripts/genimage.sh"
 BR2_ROOTFS_POST_SCRIPT_ARGS="-c board/atmel/sama5d2_xplained_mmc/genimage.cfg"
 BR2_ROOTFS_POST_SCRIPT_ARGS="-c board/atmel/sama5d2_xplained_mmc/genimage.cfg"
 BR2_LINUX_KERNEL=y
 BR2_LINUX_KERNEL=y
 BR2_LINUX_KERNEL_CUSTOM_TARBALL=y
 BR2_LINUX_KERNEL_CUSTOM_TARBALL=y
-BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="$(call github,linux4sam,linux-at91,linux4sam_6.1)/linux-linux4sam_6.1.tar.gz"
+BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="$(call github,linux4sam,linux-at91,linux4sam_6.2)/linux-linux4sam_6.2.tar.gz"
 BR2_LINUX_KERNEL_DEFCONFIG="sama5"
 BR2_LINUX_KERNEL_DEFCONFIG="sama5"
 BR2_LINUX_KERNEL_DTS_SUPPORT=y
 BR2_LINUX_KERNEL_DTS_SUPPORT=y
 BR2_LINUX_KERNEL_INTREE_DTS_NAME="at91-sama5d2_xplained"
 BR2_LINUX_KERNEL_INTREE_DTS_NAME="at91-sama5d2_xplained"
@@ -18,13 +18,13 @@ BR2_TARGET_ROOTFS_EXT2_4=y
 BR2_TARGET_AT91BOOTSTRAP3=y
 BR2_TARGET_AT91BOOTSTRAP3=y
 BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_GIT=y
 BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_GIT=y
 BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_REPO_URL="https://github.com/linux4sam/at91bootstrap.git"
 BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_REPO_URL="https://github.com/linux4sam/at91bootstrap.git"
-BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_REPO_VERSION="v3.8.13"
+BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_REPO_VERSION="v3.9.0"
 BR2_TARGET_AT91BOOTSTRAP3_DEFCONFIG="sama5d2_xplainedsd_uboot"
 BR2_TARGET_AT91BOOTSTRAP3_DEFCONFIG="sama5d2_xplainedsd_uboot"
 BR2_TARGET_UBOOT=y
 BR2_TARGET_UBOOT=y
 BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y
 BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y
 BR2_TARGET_UBOOT_CUSTOM_GIT=y
 BR2_TARGET_UBOOT_CUSTOM_GIT=y
 BR2_TARGET_UBOOT_CUSTOM_REPO_URL="https://github.com/linux4sam/u-boot-at91.git"
 BR2_TARGET_UBOOT_CUSTOM_REPO_URL="https://github.com/linux4sam/u-boot-at91.git"
-BR2_TARGET_UBOOT_CUSTOM_REPO_VERSION="linux4sam_6.1"
+BR2_TARGET_UBOOT_CUSTOM_REPO_VERSION="linux4sam_6.2"
 BR2_TARGET_UBOOT_BOARD_DEFCONFIG="sama5d2_xplained_mmc"
 BR2_TARGET_UBOOT_BOARD_DEFCONFIG="sama5d2_xplained_mmc"
 BR2_TARGET_UBOOT_NEEDS_DTC=y
 BR2_TARGET_UBOOT_NEEDS_DTC=y
 BR2_PACKAGE_HOST_DOSFSTOOLS=y
 BR2_PACKAGE_HOST_DOSFSTOOLS=y

+ 3 - 3
configs/atmel_sama5d2_xplained_mmc_dev_defconfig

@@ -24,7 +24,7 @@ BR2_ROOTFS_POST_SCRIPT_ARGS="-c board/atmel/sama5d2_xplained_mmc/genimage.cfg"
 # Kernel
 # Kernel
 BR2_LINUX_KERNEL=y
 BR2_LINUX_KERNEL=y
 BR2_LINUX_KERNEL_CUSTOM_TARBALL=y
 BR2_LINUX_KERNEL_CUSTOM_TARBALL=y
-BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="$(call github,linux4sam,linux-at91,linux4sam_6.1)/linux-linux4sam_6.1.tar.gz"
+BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="$(call github,linux4sam,linux-at91,linux4sam_6.2)/linux-linux4sam_6.2.tar.gz"
 BR2_LINUX_KERNEL_DEFCONFIG="sama5"
 BR2_LINUX_KERNEL_DEFCONFIG="sama5"
 BR2_LINUX_KERNEL_DTS_SUPPORT=y
 BR2_LINUX_KERNEL_DTS_SUPPORT=y
 BR2_LINUX_KERNEL_INTREE_DTS_NAME="at91-sama5d2_xplained"
 BR2_LINUX_KERNEL_INTREE_DTS_NAME="at91-sama5d2_xplained"
@@ -89,13 +89,13 @@ BR2_TARGET_ROOTFS_EXT2_SIZE="120M"
 BR2_TARGET_AT91BOOTSTRAP3=y
 BR2_TARGET_AT91BOOTSTRAP3=y
 BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_GIT=y
 BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_GIT=y
 BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_REPO_URL="https://github.com/linux4sam/at91bootstrap.git"
 BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_REPO_URL="https://github.com/linux4sam/at91bootstrap.git"
-BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_REPO_VERSION="v3.8.13"
+BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_REPO_VERSION="v3.9.0"
 BR2_TARGET_AT91BOOTSTRAP3_DEFCONFIG="sama5d2_xplainedsd_uboot"
 BR2_TARGET_AT91BOOTSTRAP3_DEFCONFIG="sama5d2_xplainedsd_uboot"
 BR2_TARGET_UBOOT=y
 BR2_TARGET_UBOOT=y
 BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y
 BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y
 BR2_TARGET_UBOOT_CUSTOM_GIT=y
 BR2_TARGET_UBOOT_CUSTOM_GIT=y
 BR2_TARGET_UBOOT_CUSTOM_REPO_URL="https://github.com/linux4sam/u-boot-at91.git"
 BR2_TARGET_UBOOT_CUSTOM_REPO_URL="https://github.com/linux4sam/u-boot-at91.git"
-BR2_TARGET_UBOOT_CUSTOM_REPO_VERSION="linux4sam_6.1"
+BR2_TARGET_UBOOT_CUSTOM_REPO_VERSION="linux4sam_6.2"
 BR2_TARGET_UBOOT_BOARD_DEFCONFIG="sama5d2_xplained_mmc"
 BR2_TARGET_UBOOT_BOARD_DEFCONFIG="sama5d2_xplained_mmc"
 BR2_TARGET_UBOOT_NEEDS_DTC=y
 BR2_TARGET_UBOOT_NEEDS_DTC=y
 
 

+ 3 - 3
configs/atmel_sama5d3_xplained_defconfig

@@ -5,7 +5,7 @@ BR2_ARM_INSTRUCTIONS_THUMB2=y
 BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_19=y
 BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_19=y
 BR2_LINUX_KERNEL=y
 BR2_LINUX_KERNEL=y
 BR2_LINUX_KERNEL_CUSTOM_TARBALL=y
 BR2_LINUX_KERNEL_CUSTOM_TARBALL=y
-BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="$(call github,linux4sam,linux-at91,linux4sam_6.1)/linux-linux4sam_6.1.tar.gz"
+BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="$(call github,linux4sam,linux-at91,linux4sam_6.2)/linux-linux4sam_6.2.tar.gz"
 BR2_LINUX_KERNEL_DEFCONFIG="sama5"
 BR2_LINUX_KERNEL_DEFCONFIG="sama5"
 BR2_LINUX_KERNEL_DTS_SUPPORT=y
 BR2_LINUX_KERNEL_DTS_SUPPORT=y
 BR2_LINUX_KERNEL_INTREE_DTS_NAME="at91-sama5d3_xplained"
 BR2_LINUX_KERNEL_INTREE_DTS_NAME="at91-sama5d3_xplained"
@@ -17,13 +17,13 @@ BR2_TARGET_ROOTFS_UBI_SUBSIZE=2048
 BR2_TARGET_AT91BOOTSTRAP3=y
 BR2_TARGET_AT91BOOTSTRAP3=y
 BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_GIT=y
 BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_GIT=y
 BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_REPO_URL="https://github.com/linux4sam/at91bootstrap.git"
 BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_REPO_URL="https://github.com/linux4sam/at91bootstrap.git"
-BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_REPO_VERSION="v3.8.13"
+BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_REPO_VERSION="v3.9.0"
 BR2_TARGET_AT91BOOTSTRAP3_DEFCONFIG="sama5d3_xplainednf_uboot"
 BR2_TARGET_AT91BOOTSTRAP3_DEFCONFIG="sama5d3_xplainednf_uboot"
 BR2_TARGET_UBOOT=y
 BR2_TARGET_UBOOT=y
 BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y
 BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y
 BR2_TARGET_UBOOT_CUSTOM_GIT=y
 BR2_TARGET_UBOOT_CUSTOM_GIT=y
 BR2_TARGET_UBOOT_CUSTOM_REPO_URL="https://github.com/linux4sam/u-boot-at91.git"
 BR2_TARGET_UBOOT_CUSTOM_REPO_URL="https://github.com/linux4sam/u-boot-at91.git"
-BR2_TARGET_UBOOT_CUSTOM_REPO_VERSION="linux4sam_6.1"
+BR2_TARGET_UBOOT_CUSTOM_REPO_VERSION="linux4sam_6.2"
 BR2_TARGET_UBOOT_BOARD_DEFCONFIG="sama5d3_xplained_nandflash"
 BR2_TARGET_UBOOT_BOARD_DEFCONFIG="sama5d3_xplained_nandflash"
 BR2_TARGET_UBOOT_NEEDS_DTC=y
 BR2_TARGET_UBOOT_NEEDS_DTC=y
 BR2_PACKAGE_HOST_SAM_BA=y
 BR2_PACKAGE_HOST_SAM_BA=y

+ 3 - 3
configs/atmel_sama5d3_xplained_dev_defconfig

@@ -20,7 +20,7 @@ BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_EUDEV=y
 # Kernel
 # Kernel
 BR2_LINUX_KERNEL=y
 BR2_LINUX_KERNEL=y
 BR2_LINUX_KERNEL_CUSTOM_TARBALL=y
 BR2_LINUX_KERNEL_CUSTOM_TARBALL=y
-BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="$(call github,linux4sam,linux-at91,linux4sam_6.1)/linux-linux4sam_6.1.tar.gz"
+BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="$(call github,linux4sam,linux-at91,linux4sam_6.2)/linux-linux4sam_6.2.tar.gz"
 BR2_LINUX_KERNEL_DEFCONFIG="sama5"
 BR2_LINUX_KERNEL_DEFCONFIG="sama5"
 BR2_LINUX_KERNEL_DTS_SUPPORT=y
 BR2_LINUX_KERNEL_DTS_SUPPORT=y
 BR2_LINUX_KERNEL_INTREE_DTS_NAME="at91-sama5d3_xplained"
 BR2_LINUX_KERNEL_INTREE_DTS_NAME="at91-sama5d3_xplained"
@@ -86,13 +86,13 @@ BR2_TARGET_ROOTFS_UBI_SUBSIZE=2048
 BR2_TARGET_AT91BOOTSTRAP3=y
 BR2_TARGET_AT91BOOTSTRAP3=y
 BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_GIT=y
 BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_GIT=y
 BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_REPO_URL="https://github.com/linux4sam/at91bootstrap.git"
 BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_REPO_URL="https://github.com/linux4sam/at91bootstrap.git"
-BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_REPO_VERSION="v3.8.13"
+BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_REPO_VERSION="v3.9.0"
 BR2_TARGET_AT91BOOTSTRAP3_DEFCONFIG="sama5d3_xplainednf_uboot"
 BR2_TARGET_AT91BOOTSTRAP3_DEFCONFIG="sama5d3_xplainednf_uboot"
 BR2_TARGET_UBOOT=y
 BR2_TARGET_UBOOT=y
 BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y
 BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y
 BR2_TARGET_UBOOT_CUSTOM_GIT=y
 BR2_TARGET_UBOOT_CUSTOM_GIT=y
 BR2_TARGET_UBOOT_CUSTOM_REPO_URL="https://github.com/linux4sam/u-boot-at91.git"
 BR2_TARGET_UBOOT_CUSTOM_REPO_URL="https://github.com/linux4sam/u-boot-at91.git"
-BR2_TARGET_UBOOT_CUSTOM_REPO_VERSION="linux4sam_6.1"
+BR2_TARGET_UBOOT_CUSTOM_REPO_VERSION="linux4sam_6.2"
 BR2_TARGET_UBOOT_BOARD_DEFCONFIG="sama5d3_xplained_nandflash"
 BR2_TARGET_UBOOT_BOARD_DEFCONFIG="sama5d3_xplained_nandflash"
 BR2_TARGET_UBOOT_NEEDS_DTC=y
 BR2_TARGET_UBOOT_NEEDS_DTC=y
 
 

+ 3 - 3
configs/atmel_sama5d3_xplained_mmc_defconfig

@@ -7,7 +7,7 @@ BR2_ROOTFS_POST_IMAGE_SCRIPT="support/scripts/genimage.sh"
 BR2_ROOTFS_POST_SCRIPT_ARGS="-c board/atmel/sama5d3_xplained_mmc/genimage.cfg"
 BR2_ROOTFS_POST_SCRIPT_ARGS="-c board/atmel/sama5d3_xplained_mmc/genimage.cfg"
 BR2_LINUX_KERNEL=y
 BR2_LINUX_KERNEL=y
 BR2_LINUX_KERNEL_CUSTOM_TARBALL=y
 BR2_LINUX_KERNEL_CUSTOM_TARBALL=y
-BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="$(call github,linux4sam,linux-at91,linux4sam_6.1)/linux-linux4sam_6.1.tar.gz"
+BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="$(call github,linux4sam,linux-at91,linux4sam_6.2)/linux-linux4sam_6.2.tar.gz"
 BR2_LINUX_KERNEL_DEFCONFIG="sama5"
 BR2_LINUX_KERNEL_DEFCONFIG="sama5"
 BR2_LINUX_KERNEL_DTS_SUPPORT=y
 BR2_LINUX_KERNEL_DTS_SUPPORT=y
 BR2_LINUX_KERNEL_INTREE_DTS_NAME="at91-sama5d3_xplained"
 BR2_LINUX_KERNEL_INTREE_DTS_NAME="at91-sama5d3_xplained"
@@ -17,13 +17,13 @@ BR2_TARGET_ROOTFS_EXT2_4=y
 BR2_TARGET_AT91BOOTSTRAP3=y
 BR2_TARGET_AT91BOOTSTRAP3=y
 BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_GIT=y
 BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_GIT=y
 BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_REPO_URL="https://github.com/linux4sam/at91bootstrap.git"
 BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_REPO_URL="https://github.com/linux4sam/at91bootstrap.git"
-BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_REPO_VERSION="v3.8.13"
+BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_REPO_VERSION="v3.9.0"
 BR2_TARGET_AT91BOOTSTRAP3_DEFCONFIG="sama5d3_xplainedsd_uboot"
 BR2_TARGET_AT91BOOTSTRAP3_DEFCONFIG="sama5d3_xplainedsd_uboot"
 BR2_TARGET_UBOOT=y
 BR2_TARGET_UBOOT=y
 BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y
 BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y
 BR2_TARGET_UBOOT_CUSTOM_GIT=y
 BR2_TARGET_UBOOT_CUSTOM_GIT=y
 BR2_TARGET_UBOOT_CUSTOM_REPO_URL="https://github.com/linux4sam/u-boot-at91.git"
 BR2_TARGET_UBOOT_CUSTOM_REPO_URL="https://github.com/linux4sam/u-boot-at91.git"
-BR2_TARGET_UBOOT_CUSTOM_REPO_VERSION="linux4sam_6.1"
+BR2_TARGET_UBOOT_CUSTOM_REPO_VERSION="linux4sam_6.2"
 BR2_TARGET_UBOOT_BOARD_DEFCONFIG="sama5d3_xplained_mmc"
 BR2_TARGET_UBOOT_BOARD_DEFCONFIG="sama5d3_xplained_mmc"
 BR2_TARGET_UBOOT_NEEDS_DTC=y
 BR2_TARGET_UBOOT_NEEDS_DTC=y
 BR2_PACKAGE_HOST_DOSFSTOOLS=y
 BR2_PACKAGE_HOST_DOSFSTOOLS=y

+ 3 - 3
configs/atmel_sama5d3_xplained_mmc_dev_defconfig

@@ -23,7 +23,7 @@ BR2_ROOTFS_POST_SCRIPT_ARGS="-c board/atmel/sama5d3_xplained_mmc/genimage.cfg"
 # Kernel
 # Kernel
 BR2_LINUX_KERNEL=y
 BR2_LINUX_KERNEL=y
 BR2_LINUX_KERNEL_CUSTOM_TARBALL=y
 BR2_LINUX_KERNEL_CUSTOM_TARBALL=y
-BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="$(call github,linux4sam,linux-at91,linux4sam_6.1)/linux-linux4sam_6.1.tar.gz"
+BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="$(call github,linux4sam,linux-at91,linux4sam_6.2)/linux-linux4sam_6.2.tar.gz"
 BR2_LINUX_KERNEL_DEFCONFIG="sama5"
 BR2_LINUX_KERNEL_DEFCONFIG="sama5"
 BR2_LINUX_KERNEL_DTS_SUPPORT=y
 BR2_LINUX_KERNEL_DTS_SUPPORT=y
 BR2_LINUX_KERNEL_INTREE_DTS_NAME="at91-sama5d3_xplained"
 BR2_LINUX_KERNEL_INTREE_DTS_NAME="at91-sama5d3_xplained"
@@ -88,13 +88,13 @@ BR2_TARGET_ROOTFS_EXT2_SIZE="120M"
 BR2_TARGET_AT91BOOTSTRAP3=y
 BR2_TARGET_AT91BOOTSTRAP3=y
 BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_GIT=y
 BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_GIT=y
 BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_REPO_URL="https://github.com/linux4sam/at91bootstrap.git"
 BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_REPO_URL="https://github.com/linux4sam/at91bootstrap.git"
-BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_REPO_VERSION="v3.8.13"
+BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_REPO_VERSION="v3.9.0"
 BR2_TARGET_AT91BOOTSTRAP3_DEFCONFIG="sama5d3_xplainedsd_uboot"
 BR2_TARGET_AT91BOOTSTRAP3_DEFCONFIG="sama5d3_xplainedsd_uboot"
 BR2_TARGET_UBOOT=y
 BR2_TARGET_UBOOT=y
 BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y
 BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y
 BR2_TARGET_UBOOT_CUSTOM_GIT=y
 BR2_TARGET_UBOOT_CUSTOM_GIT=y
 BR2_TARGET_UBOOT_CUSTOM_REPO_URL="https://github.com/linux4sam/u-boot-at91.git"
 BR2_TARGET_UBOOT_CUSTOM_REPO_URL="https://github.com/linux4sam/u-boot-at91.git"
-BR2_TARGET_UBOOT_CUSTOM_REPO_VERSION="linux4sam_6.1"
+BR2_TARGET_UBOOT_CUSTOM_REPO_VERSION="linux4sam_6.2"
 BR2_TARGET_UBOOT_BOARD_DEFCONFIG="sama5d3_xplained_mmc"
 BR2_TARGET_UBOOT_BOARD_DEFCONFIG="sama5d3_xplained_mmc"
 BR2_TARGET_UBOOT_NEEDS_DTC=y
 BR2_TARGET_UBOOT_NEEDS_DTC=y
 
 

+ 3 - 3
configs/atmel_sama5d4_xplained_defconfig

@@ -6,7 +6,7 @@ BR2_ARM_INSTRUCTIONS_THUMB2=y
 BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_19=y
 BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_19=y
 BR2_LINUX_KERNEL=y
 BR2_LINUX_KERNEL=y
 BR2_LINUX_KERNEL_CUSTOM_TARBALL=y
 BR2_LINUX_KERNEL_CUSTOM_TARBALL=y
-BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="$(call github,linux4sam,linux-at91,linux4sam_6.1)/linux-linux4sam_6.1.tar.gz"
+BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="$(call github,linux4sam,linux-at91,linux4sam_6.2)/linux-linux4sam_6.2.tar.gz"
 BR2_LINUX_KERNEL_DEFCONFIG="sama5"
 BR2_LINUX_KERNEL_DEFCONFIG="sama5"
 BR2_LINUX_KERNEL_DTS_SUPPORT=y
 BR2_LINUX_KERNEL_DTS_SUPPORT=y
 BR2_LINUX_KERNEL_INTREE_DTS_NAME="at91-sama5d4_xplained"
 BR2_LINUX_KERNEL_INTREE_DTS_NAME="at91-sama5d4_xplained"
@@ -21,13 +21,13 @@ BR2_TARGET_ROOTFS_UBI_SUBSIZE=0
 BR2_TARGET_AT91BOOTSTRAP3=y
 BR2_TARGET_AT91BOOTSTRAP3=y
 BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_GIT=y
 BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_GIT=y
 BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_REPO_URL="https://github.com/linux4sam/at91bootstrap.git"
 BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_REPO_URL="https://github.com/linux4sam/at91bootstrap.git"
-BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_REPO_VERSION="v3.8.13"
+BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_REPO_VERSION="v3.9.0"
 BR2_TARGET_AT91BOOTSTRAP3_DEFCONFIG="sama5d4_xplainednf_uboot_secure"
 BR2_TARGET_AT91BOOTSTRAP3_DEFCONFIG="sama5d4_xplainednf_uboot_secure"
 BR2_TARGET_UBOOT=y
 BR2_TARGET_UBOOT=y
 BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y
 BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y
 BR2_TARGET_UBOOT_CUSTOM_GIT=y
 BR2_TARGET_UBOOT_CUSTOM_GIT=y
 BR2_TARGET_UBOOT_CUSTOM_REPO_URL="https://github.com/linux4sam/u-boot-at91.git"
 BR2_TARGET_UBOOT_CUSTOM_REPO_URL="https://github.com/linux4sam/u-boot-at91.git"
-BR2_TARGET_UBOOT_CUSTOM_REPO_VERSION="linux4sam_6.1"
+BR2_TARGET_UBOOT_CUSTOM_REPO_VERSION="linux4sam_6.2"
 BR2_TARGET_UBOOT_BOARD_DEFCONFIG="sama5d4_xplained_nandflash"
 BR2_TARGET_UBOOT_BOARD_DEFCONFIG="sama5d4_xplained_nandflash"
 BR2_TARGET_UBOOT_NEEDS_DTC=y
 BR2_TARGET_UBOOT_NEEDS_DTC=y
 BR2_PACKAGE_HOST_SAM_BA=y
 BR2_PACKAGE_HOST_SAM_BA=y

+ 3 - 3
configs/atmel_sama5d4_xplained_dev_defconfig

@@ -21,7 +21,7 @@ BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_EUDEV=y
 # Kernel
 # Kernel
 BR2_LINUX_KERNEL=y
 BR2_LINUX_KERNEL=y
 BR2_LINUX_KERNEL_CUSTOM_TARBALL=y
 BR2_LINUX_KERNEL_CUSTOM_TARBALL=y
-BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="$(call github,linux4sam,linux-at91,linux4sam_6.1)/linux-linux4sam_6.1.tar.gz"
+BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="$(call github,linux4sam,linux-at91,linux4sam_6.2)/linux-linux4sam_6.2.tar.gz"
 BR2_LINUX_KERNEL_DEFCONFIG="sama5"
 BR2_LINUX_KERNEL_DEFCONFIG="sama5"
 BR2_LINUX_KERNEL_DTS_SUPPORT=y
 BR2_LINUX_KERNEL_DTS_SUPPORT=y
 BR2_LINUX_KERNEL_INTREE_DTS_NAME="at91-sama5d4_xplained"
 BR2_LINUX_KERNEL_INTREE_DTS_NAME="at91-sama5d4_xplained"
@@ -90,13 +90,13 @@ BR2_TARGET_ROOTFS_UBI_SUBSIZE=0
 BR2_TARGET_AT91BOOTSTRAP3=y
 BR2_TARGET_AT91BOOTSTRAP3=y
 BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_GIT=y
 BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_GIT=y
 BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_REPO_URL="https://github.com/linux4sam/at91bootstrap.git"
 BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_REPO_URL="https://github.com/linux4sam/at91bootstrap.git"
-BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_REPO_VERSION="v3.8.13"
+BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_REPO_VERSION="v3.9.0"
 BR2_TARGET_AT91BOOTSTRAP3_DEFCONFIG="sama5d4_xplainednf_uboot_secure"
 BR2_TARGET_AT91BOOTSTRAP3_DEFCONFIG="sama5d4_xplainednf_uboot_secure"
 BR2_TARGET_UBOOT=y
 BR2_TARGET_UBOOT=y
 BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y
 BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y
 BR2_TARGET_UBOOT_CUSTOM_GIT=y
 BR2_TARGET_UBOOT_CUSTOM_GIT=y
 BR2_TARGET_UBOOT_CUSTOM_REPO_URL="https://github.com/linux4sam/u-boot-at91.git"
 BR2_TARGET_UBOOT_CUSTOM_REPO_URL="https://github.com/linux4sam/u-boot-at91.git"
-BR2_TARGET_UBOOT_CUSTOM_REPO_VERSION="linux4sam_6.1"
+BR2_TARGET_UBOOT_CUSTOM_REPO_VERSION="linux4sam_6.2"
 BR2_TARGET_UBOOT_BOARD_DEFCONFIG="sama5d4_xplained_nandflash"
 BR2_TARGET_UBOOT_BOARD_DEFCONFIG="sama5d4_xplained_nandflash"
 BR2_TARGET_UBOOT_NEEDS_DTC=y
 BR2_TARGET_UBOOT_NEEDS_DTC=y
 
 

+ 3 - 3
configs/atmel_sama5d4_xplained_mmc_defconfig

@@ -8,7 +8,7 @@ BR2_ROOTFS_POST_IMAGE_SCRIPT="support/scripts/genimage.sh"
 BR2_ROOTFS_POST_SCRIPT_ARGS="-c board/atmel/sama5d4_xplained_mmc/genimage.cfg"
 BR2_ROOTFS_POST_SCRIPT_ARGS="-c board/atmel/sama5d4_xplained_mmc/genimage.cfg"
 BR2_LINUX_KERNEL=y
 BR2_LINUX_KERNEL=y
 BR2_LINUX_KERNEL_CUSTOM_TARBALL=y
 BR2_LINUX_KERNEL_CUSTOM_TARBALL=y
-BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="$(call github,linux4sam,linux-at91,linux4sam_6.1)/linux-linux4sam_6.1.tar.gz"
+BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="$(call github,linux4sam,linux-at91,linux4sam_6.2)/linux-linux4sam_6.2.tar.gz"
 BR2_LINUX_KERNEL_DEFCONFIG="sama5"
 BR2_LINUX_KERNEL_DEFCONFIG="sama5"
 BR2_LINUX_KERNEL_DTS_SUPPORT=y
 BR2_LINUX_KERNEL_DTS_SUPPORT=y
 BR2_LINUX_KERNEL_INTREE_DTS_NAME="at91-sama5d4_xplained"
 BR2_LINUX_KERNEL_INTREE_DTS_NAME="at91-sama5d4_xplained"
@@ -18,13 +18,13 @@ BR2_TARGET_ROOTFS_EXT2_4=y
 BR2_TARGET_AT91BOOTSTRAP3=y
 BR2_TARGET_AT91BOOTSTRAP3=y
 BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_GIT=y
 BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_GIT=y
 BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_REPO_URL="https://github.com/linux4sam/at91bootstrap.git"
 BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_REPO_URL="https://github.com/linux4sam/at91bootstrap.git"
-BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_REPO_VERSION="v3.8.13"
+BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_REPO_VERSION="v3.9.0"
 BR2_TARGET_AT91BOOTSTRAP3_DEFCONFIG="sama5d4_xplainedsd_uboot_secure"
 BR2_TARGET_AT91BOOTSTRAP3_DEFCONFIG="sama5d4_xplainedsd_uboot_secure"
 BR2_TARGET_UBOOT=y
 BR2_TARGET_UBOOT=y
 BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y
 BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y
 BR2_TARGET_UBOOT_CUSTOM_GIT=y
 BR2_TARGET_UBOOT_CUSTOM_GIT=y
 BR2_TARGET_UBOOT_CUSTOM_REPO_URL="https://github.com/linux4sam/u-boot-at91.git"
 BR2_TARGET_UBOOT_CUSTOM_REPO_URL="https://github.com/linux4sam/u-boot-at91.git"
-BR2_TARGET_UBOOT_CUSTOM_REPO_VERSION="linux4sam_6.1"
+BR2_TARGET_UBOOT_CUSTOM_REPO_VERSION="linux4sam_6.2"
 BR2_TARGET_UBOOT_BOARD_DEFCONFIG="sama5d4_xplained_mmc"
 BR2_TARGET_UBOOT_BOARD_DEFCONFIG="sama5d4_xplained_mmc"
 BR2_TARGET_UBOOT_NEEDS_DTC=y
 BR2_TARGET_UBOOT_NEEDS_DTC=y
 BR2_PACKAGE_HOST_DOSFSTOOLS=y
 BR2_PACKAGE_HOST_DOSFSTOOLS=y

+ 3 - 3
configs/atmel_sama5d4_xplained_mmc_dev_defconfig

@@ -24,7 +24,7 @@ BR2_ROOTFS_POST_SCRIPT_ARGS="-c board/atmel/sama5d4_xplained_mmc/genimage.cfg"
 # Kernel
 # Kernel
 BR2_LINUX_KERNEL=y
 BR2_LINUX_KERNEL=y
 BR2_LINUX_KERNEL_CUSTOM_TARBALL=y
 BR2_LINUX_KERNEL_CUSTOM_TARBALL=y
-BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="$(call github,linux4sam,linux-at91,linux4sam_6.1)/linux-linux4sam_6.1.tar.gz"
+BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="$(call github,linux4sam,linux-at91,linux4sam_6.2)/linux-linux4sam_6.2.tar.gz"
 BR2_LINUX_KERNEL_DEFCONFIG="sama5"
 BR2_LINUX_KERNEL_DEFCONFIG="sama5"
 BR2_LINUX_KERNEL_DTS_SUPPORT=y
 BR2_LINUX_KERNEL_DTS_SUPPORT=y
 BR2_LINUX_KERNEL_INTREE_DTS_NAME="at91-sama5d4_xplained"
 BR2_LINUX_KERNEL_INTREE_DTS_NAME="at91-sama5d4_xplained"
@@ -89,13 +89,13 @@ BR2_TARGET_ROOTFS_EXT2_SIZE="120M"
 BR2_TARGET_AT91BOOTSTRAP3=y
 BR2_TARGET_AT91BOOTSTRAP3=y
 BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_GIT=y
 BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_GIT=y
 BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_REPO_URL="https://github.com/linux4sam/at91bootstrap.git"
 BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_REPO_URL="https://github.com/linux4sam/at91bootstrap.git"
-BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_REPO_VERSION="v3.8.13"
+BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_REPO_VERSION="v3.9.0"
 BR2_TARGET_AT91BOOTSTRAP3_DEFCONFIG="sama5d4_xplainedsd_uboot_secure"
 BR2_TARGET_AT91BOOTSTRAP3_DEFCONFIG="sama5d4_xplainedsd_uboot_secure"
 BR2_TARGET_UBOOT=y
 BR2_TARGET_UBOOT=y
 BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y
 BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y
 BR2_TARGET_UBOOT_CUSTOM_GIT=y
 BR2_TARGET_UBOOT_CUSTOM_GIT=y
 BR2_TARGET_UBOOT_CUSTOM_REPO_URL="https://github.com/linux4sam/u-boot-at91.git"
 BR2_TARGET_UBOOT_CUSTOM_REPO_URL="https://github.com/linux4sam/u-boot-at91.git"
-BR2_TARGET_UBOOT_CUSTOM_REPO_VERSION="linux4sam_6.1"
+BR2_TARGET_UBOOT_CUSTOM_REPO_VERSION="linux4sam_6.2"
 BR2_TARGET_UBOOT_BOARD_DEFCONFIG="sama5d4_xplained_mmc"
 BR2_TARGET_UBOOT_BOARD_DEFCONFIG="sama5d4_xplained_mmc"
 BR2_TARGET_UBOOT_NEEDS_DTC=y
 BR2_TARGET_UBOOT_NEEDS_DTC=y
 
 

+ 2 - 3
configs/beaglebone_defconfig

@@ -6,9 +6,8 @@ BR2_ROOTFS_POST_BUILD_SCRIPT="board/beaglebone/post-build.sh"
 BR2_ROOTFS_POST_IMAGE_SCRIPT="support/scripts/genimage.sh"
 BR2_ROOTFS_POST_IMAGE_SCRIPT="support/scripts/genimage.sh"
 BR2_ROOTFS_POST_SCRIPT_ARGS="-c board/beaglebone/genimage.cfg"
 BR2_ROOTFS_POST_SCRIPT_ARGS="-c board/beaglebone/genimage.cfg"
 BR2_LINUX_KERNEL=y
 BR2_LINUX_KERNEL=y
-BR2_LINUX_KERNEL_CUSTOM_GIT=y
-BR2_LINUX_KERNEL_CUSTOM_REPO_URL="git://git.ti.com/processor-sdk/processor-sdk-linux.git"
-BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION="4dae378bbe721277b08699d1d88ffae12acc9b09"
+BR2_LINUX_KERNEL_CUSTOM_TARBALL=y
+BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="$(call github,beagleboard,linux,4.19.79-ti-r30)/linux-4.19.79-ti-r30.tar.gz"
 BR2_LINUX_KERNEL_DEFCONFIG="omap2plus"
 BR2_LINUX_KERNEL_DEFCONFIG="omap2plus"
 BR2_LINUX_KERNEL_DTS_SUPPORT=y
 BR2_LINUX_KERNEL_DTS_SUPPORT=y
 BR2_LINUX_KERNEL_INTREE_DTS_NAME="am335x-evm am335x-bone am335x-boneblack am335x-bonegreen am335x-evmsk am335x-boneblue"
 BR2_LINUX_KERNEL_INTREE_DTS_NAME="am335x-evm am335x-bone am335x-boneblack am335x-bonegreen am335x-evmsk am335x-boneblue"

+ 44 - 0
configs/beelink_gs1_defconfig

@@ -0,0 +1,44 @@
+# Architecture
+BR2_aarch64=y
+BR2_ARM_FPU_VFPV4=y
+BR2_TARGET_GENERIC_ISSUE="Welcome to Beelink GS1"
+# MDEV is required to autoload the ethernet driver module
+BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_MDEV=y
+BR2_SYSTEM_DHCP="eth0"
+BR2_ROOTFS_POST_BUILD_SCRIPT="board/beelink/gs1/post-build.sh"
+BR2_ROOTFS_POST_IMAGE_SCRIPT="support/scripts/genimage.sh"
+BR2_ROOTFS_POST_SCRIPT_ARGS="-c board/beelink/gs1/genimage.cfg"
+BR2_GLOBAL_PATCH_DIR="board/beelink/gs1/patches/"
+
+# Kernel Linux headers same as kernel, a 5.3 series
+BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_3=y
+BR2_LINUX_KERNEL=y
+BR2_LINUX_KERNEL_CUSTOM_VERSION=y
+BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.3.12"
+BR2_LINUX_KERNEL_USE_ARCH_DEFAULT_CONFIG=y
+BR2_LINUX_KERNEL_DTS_SUPPORT=y
+BR2_LINUX_KERNEL_INTREE_DTS_NAME="allwinner/sun50i-h6-beelink-gs1"
+BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y
+BR2_TARGET_ROOTFS_EXT2=y
+BR2_TARGET_ROOTFS_EXT2_4=y
+
+# Firmware
+BR2_TARGET_ARM_TRUSTED_FIRMWARE=y
+BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_VERSION=y
+BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_VERSION_VALUE="v2.1"
+BR2_TARGET_ARM_TRUSTED_FIRMWARE_PLATFORM="sun50i_h6"
+
+# Bootloader
+BR2_TARGET_UBOOT=y
+BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y
+BR2_TARGET_UBOOT_CUSTOM_VERSION=y
+BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2019.10"
+BR2_TARGET_UBOOT_BOARD_DEFCONFIG="beelink_gs1"
+BR2_TARGET_UBOOT_NEEDS_DTC=y
+BR2_TARGET_UBOOT_NEEDS_PYLIBFDT=y
+BR2_TARGET_UBOOT_NEEDS_ATF_BL31=y
+BR2_TARGET_UBOOT_SPL=y
+BR2_TARGET_UBOOT_SPL_NAME="u-boot-sunxi-with-spl.bin"
+BR2_PACKAGE_HOST_DOSFSTOOLS=y
+BR2_PACKAGE_HOST_GENIMAGE=y
+BR2_PACKAGE_HOST_MTOOLS=y

+ 4 - 4
configs/linksprite_pcduino_defconfig

@@ -17,13 +17,13 @@ BR2_ROOTFS_POST_IMAGE_SCRIPT="board/linksprite/pcduino/post-image.sh"
 # For kernel modules autoloading
 # For kernel modules autoloading
 BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_MDEV=y
 BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_MDEV=y
 
 
-# Linux headers same as kernel, a 4.13 series
-BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_13=y
+# Linux headers same as kernel, a 5.3 series
+BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_3=y
 
 
 # Kernel
 # Kernel
 BR2_LINUX_KERNEL=y
 BR2_LINUX_KERNEL=y
 BR2_LINUX_KERNEL_CUSTOM_VERSION=y
 BR2_LINUX_KERNEL_CUSTOM_VERSION=y
-BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.13"
+BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.3.8"
 BR2_LINUX_KERNEL_DEFCONFIG="sunxi"
 BR2_LINUX_KERNEL_DEFCONFIG="sunxi"
 BR2_LINUX_KERNEL_DTS_SUPPORT=y
 BR2_LINUX_KERNEL_DTS_SUPPORT=y
 BR2_LINUX_KERNEL_INTREE_DTS_NAME="sun4i-a10-pcduino"
 BR2_LINUX_KERNEL_INTREE_DTS_NAME="sun4i-a10-pcduino"
@@ -37,7 +37,7 @@ BR2_TARGET_ROOTFS_EXT2_4=y
 BR2_TARGET_UBOOT=y
 BR2_TARGET_UBOOT=y
 BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y
 BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y
 BR2_TARGET_UBOOT_CUSTOM_VERSION=y
 BR2_TARGET_UBOOT_CUSTOM_VERSION=y
-BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2017.09"
+BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2019.10"
 BR2_TARGET_UBOOT_USE_DEFCONFIG=y
 BR2_TARGET_UBOOT_USE_DEFCONFIG=y
 BR2_TARGET_UBOOT_BOARD_DEFCONFIG="Linksprite_pcDuino"
 BR2_TARGET_UBOOT_BOARD_DEFCONFIG="Linksprite_pcDuino"
 BR2_TARGET_UBOOT_NEEDS_DTC=y
 BR2_TARGET_UBOOT_NEEDS_DTC=y

+ 0 - 2
configs/nanopi_neo_defconfig

@@ -31,8 +31,6 @@ BR2_TARGET_UBOOT_FORMAT_CUSTOM_NAME="u-boot-sunxi-with-spl.bin"
 # Build an sdcard image
 # Build an sdcard image
 BR2_TARGET_ROOTFS_EXT2=y
 BR2_TARGET_ROOTFS_EXT2=y
 BR2_TARGET_ROOTFS_EXT2_4=y
 BR2_TARGET_ROOTFS_EXT2_4=y
-BR2_TARGET_ROOTFS_EXT2_SIZE="32M"
-BR2_TARGET_ROOTFS_EXT2_INODES=8192
 # BR2_TARGET_ROOTFS_TAR is not set
 # BR2_TARGET_ROOTFS_TAR is not set
 BR2_PACKAGE_HOST_DOSFSTOOLS=y
 BR2_PACKAGE_HOST_DOSFSTOOLS=y
 BR2_PACKAGE_HOST_GENIMAGE=y
 BR2_PACKAGE_HOST_GENIMAGE=y

+ 3 - 3
configs/orangepi_lite_defconfig

@@ -1,12 +1,12 @@
 BR2_arm=y
 BR2_arm=y
 BR2_cortex_a7=y
 BR2_cortex_a7=y
 BR2_ARM_FPU_VFPV4=y
 BR2_ARM_FPU_VFPV4=y
-BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_17=y
+BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_3=y
 BR2_TARGET_GENERIC_HOSTNAME="OrangePi_Lite"
 BR2_TARGET_GENERIC_HOSTNAME="OrangePi_Lite"
 BR2_TARGET_GENERIC_ISSUE="Welcome to Buildroot for the Orange Pi Lite"
 BR2_TARGET_GENERIC_ISSUE="Welcome to Buildroot for the Orange Pi Lite"
 BR2_LINUX_KERNEL=y
 BR2_LINUX_KERNEL=y
 BR2_LINUX_KERNEL_CUSTOM_VERSION=y
 BR2_LINUX_KERNEL_CUSTOM_VERSION=y
-BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.17"
+BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.3.8"
 BR2_LINUX_KERNEL_DEFCONFIG="sunxi"
 BR2_LINUX_KERNEL_DEFCONFIG="sunxi"
 BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="board/orangepi/orangepi-lite/linux-extras.config"
 BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="board/orangepi/orangepi-lite/linux-extras.config"
 BR2_LINUX_KERNEL_DTS_SUPPORT=y
 BR2_LINUX_KERNEL_DTS_SUPPORT=y
@@ -22,7 +22,7 @@ BR2_TARGET_ROOTFS_EXT2_4=y
 BR2_TARGET_UBOOT=y
 BR2_TARGET_UBOOT=y
 BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y
 BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y
 BR2_TARGET_UBOOT_CUSTOM_VERSION=y
 BR2_TARGET_UBOOT_CUSTOM_VERSION=y
-BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2018.05"
+BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2019.10"
 BR2_TARGET_UBOOT_BOARD_DEFCONFIG="orangepi_lite"
 BR2_TARGET_UBOOT_BOARD_DEFCONFIG="orangepi_lite"
 BR2_TARGET_UBOOT_NEEDS_DTC=y
 BR2_TARGET_UBOOT_NEEDS_DTC=y
 BR2_TARGET_UBOOT_NEEDS_PYLIBFDT=y
 BR2_TARGET_UBOOT_NEEDS_PYLIBFDT=y

+ 3 - 3
configs/orangepi_one_defconfig

@@ -1,13 +1,13 @@
 BR2_arm=y
 BR2_arm=y
 BR2_cortex_a7=y
 BR2_cortex_a7=y
 BR2_ARM_FPU_VFPV4=y
 BR2_ARM_FPU_VFPV4=y
-BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_15=y
+BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_3=y
 BR2_TARGET_GENERIC_HOSTNAME="OrangePi_One"
 BR2_TARGET_GENERIC_HOSTNAME="OrangePi_One"
 BR2_TARGET_GENERIC_ISSUE="Welcome to Buildroot for the Orange Pi One"
 BR2_TARGET_GENERIC_ISSUE="Welcome to Buildroot for the Orange Pi One"
 BR2_SYSTEM_DHCP="eth0"
 BR2_SYSTEM_DHCP="eth0"
 BR2_LINUX_KERNEL=y
 BR2_LINUX_KERNEL=y
 BR2_LINUX_KERNEL_CUSTOM_VERSION=y
 BR2_LINUX_KERNEL_CUSTOM_VERSION=y
-BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.15"
+BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.3.8"
 BR2_LINUX_KERNEL_DEFCONFIG="sunxi"
 BR2_LINUX_KERNEL_DEFCONFIG="sunxi"
 BR2_LINUX_KERNEL_DTS_SUPPORT=y
 BR2_LINUX_KERNEL_DTS_SUPPORT=y
 BR2_LINUX_KERNEL_INTREE_DTS_NAME="sun8i-h3-orangepi-one"
 BR2_LINUX_KERNEL_INTREE_DTS_NAME="sun8i-h3-orangepi-one"
@@ -17,7 +17,7 @@ BR2_TARGET_ROOTFS_EXT2_4=y
 BR2_TARGET_UBOOT=y
 BR2_TARGET_UBOOT=y
 BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y
 BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y
 BR2_TARGET_UBOOT_CUSTOM_VERSION=y
 BR2_TARGET_UBOOT_CUSTOM_VERSION=y
-BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2018.01"
+BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2019.10"
 BR2_TARGET_UBOOT_BOARD_DEFCONFIG="orangepi_one"
 BR2_TARGET_UBOOT_BOARD_DEFCONFIG="orangepi_one"
 BR2_TARGET_UBOOT_NEEDS_DTC=y
 BR2_TARGET_UBOOT_NEEDS_DTC=y
 BR2_TARGET_UBOOT_NEEDS_PYLIBFDT=y
 BR2_TARGET_UBOOT_NEEDS_PYLIBFDT=y

+ 3 - 3
configs/orangepi_pc_defconfig

@@ -1,7 +1,7 @@
 BR2_arm=y
 BR2_arm=y
 BR2_cortex_a7=y
 BR2_cortex_a7=y
 BR2_ARM_FPU_VFPV4=y
 BR2_ARM_FPU_VFPV4=y
-BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_19=y
+BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_3=y
 BR2_TARGET_GENERIC_HOSTNAME="OrangePi_PC"
 BR2_TARGET_GENERIC_HOSTNAME="OrangePi_PC"
 BR2_TARGET_GENERIC_ISSUE="Welcome to Buildroot for the Orange Pi PC"
 BR2_TARGET_GENERIC_ISSUE="Welcome to Buildroot for the Orange Pi PC"
 BR2_SYSTEM_DHCP="eth0"
 BR2_SYSTEM_DHCP="eth0"
@@ -9,7 +9,7 @@ BR2_ROOTFS_POST_IMAGE_SCRIPT="support/scripts/genimage.sh"
 BR2_ROOTFS_POST_SCRIPT_ARGS="-c board/orangepi/orangepi-pc/genimage.cfg"
 BR2_ROOTFS_POST_SCRIPT_ARGS="-c board/orangepi/orangepi-pc/genimage.cfg"
 BR2_LINUX_KERNEL=y
 BR2_LINUX_KERNEL=y
 BR2_LINUX_KERNEL_CUSTOM_VERSION=y
 BR2_LINUX_KERNEL_CUSTOM_VERSION=y
-BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.19.3"
+BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.3.8"
 BR2_LINUX_KERNEL_DEFCONFIG="sunxi"
 BR2_LINUX_KERNEL_DEFCONFIG="sunxi"
 BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="board/orangepi/orangepi-pc/linux.fragment"
 BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="board/orangepi/orangepi-pc/linux.fragment"
 BR2_LINUX_KERNEL_DTS_SUPPORT=y
 BR2_LINUX_KERNEL_DTS_SUPPORT=y
@@ -20,7 +20,7 @@ BR2_TARGET_ROOTFS_EXT2_4=y
 BR2_TARGET_UBOOT=y
 BR2_TARGET_UBOOT=y
 BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y
 BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y
 BR2_TARGET_UBOOT_CUSTOM_VERSION=y
 BR2_TARGET_UBOOT_CUSTOM_VERSION=y
-BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2018.11"
+BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2019.10"
 BR2_TARGET_UBOOT_BOARD_DEFCONFIG="orangepi_pc"
 BR2_TARGET_UBOOT_BOARD_DEFCONFIG="orangepi_pc"
 BR2_TARGET_UBOOT_NEEDS_DTC=y
 BR2_TARGET_UBOOT_NEEDS_DTC=y
 BR2_TARGET_UBOOT_NEEDS_PYLIBFDT=y
 BR2_TARGET_UBOOT_NEEDS_PYLIBFDT=y

+ 3 - 3
configs/orangepi_pc_plus_defconfig

@@ -2,13 +2,13 @@ BR2_arm=y
 BR2_cortex_a7=y
 BR2_cortex_a7=y
 BR2_ARM_FPU_VFPV4=y
 BR2_ARM_FPU_VFPV4=y
 BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_MDEV=y
 BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_MDEV=y
-BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_15=y
+BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_3=y
 BR2_TARGET_GENERIC_HOSTNAME="OrangePi_PC_Plus"
 BR2_TARGET_GENERIC_HOSTNAME="OrangePi_PC_Plus"
 BR2_TARGET_GENERIC_ISSUE="Welcome to Buildroot for the Orange Pi PC Plus"
 BR2_TARGET_GENERIC_ISSUE="Welcome to Buildroot for the Orange Pi PC Plus"
 BR2_SYSTEM_DHCP="eth0"
 BR2_SYSTEM_DHCP="eth0"
 BR2_LINUX_KERNEL=y
 BR2_LINUX_KERNEL=y
 BR2_LINUX_KERNEL_CUSTOM_VERSION=y
 BR2_LINUX_KERNEL_CUSTOM_VERSION=y
-BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.15"
+BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.3.8"
 BR2_LINUX_KERNEL_DEFCONFIG="sunxi"
 BR2_LINUX_KERNEL_DEFCONFIG="sunxi"
 BR2_LINUX_KERNEL_DTS_SUPPORT=y
 BR2_LINUX_KERNEL_DTS_SUPPORT=y
 BR2_LINUX_KERNEL_INTREE_DTS_NAME="sun8i-h3-orangepi-pc-plus"
 BR2_LINUX_KERNEL_INTREE_DTS_NAME="sun8i-h3-orangepi-pc-plus"
@@ -20,7 +20,7 @@ BR2_TARGET_ROOTFS_EXT2_4=y
 BR2_TARGET_UBOOT=y
 BR2_TARGET_UBOOT=y
 BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y
 BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y
 BR2_TARGET_UBOOT_CUSTOM_VERSION=y
 BR2_TARGET_UBOOT_CUSTOM_VERSION=y
-BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2018.01"
+BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2019.10"
 BR2_TARGET_UBOOT_BOARD_DEFCONFIG="orangepi_pc_plus"
 BR2_TARGET_UBOOT_BOARD_DEFCONFIG="orangepi_pc_plus"
 BR2_TARGET_UBOOT_NEEDS_DTC=y
 BR2_TARGET_UBOOT_NEEDS_DTC=y
 BR2_TARGET_UBOOT_NEEDS_PYLIBFDT=y
 BR2_TARGET_UBOOT_NEEDS_PYLIBFDT=y

+ 3 - 3
configs/orangepi_r1_defconfig

@@ -1,13 +1,13 @@
 BR2_arm=y
 BR2_arm=y
 BR2_cortex_a7=y
 BR2_cortex_a7=y
 BR2_ARM_FPU_VFPV4=y
 BR2_ARM_FPU_VFPV4=y
-BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_19=y
+BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_3=y
 BR2_TARGET_GENERIC_HOSTNAME="OrangePi_R1"
 BR2_TARGET_GENERIC_HOSTNAME="OrangePi_R1"
 BR2_TARGET_GENERIC_ISSUE="Welcome to Buildroot for the Orange Pi R1"
 BR2_TARGET_GENERIC_ISSUE="Welcome to Buildroot for the Orange Pi R1"
 BR2_SYSTEM_DHCP="eth0"
 BR2_SYSTEM_DHCP="eth0"
 BR2_LINUX_KERNEL=y
 BR2_LINUX_KERNEL=y
 BR2_LINUX_KERNEL_CUSTOM_VERSION=y
 BR2_LINUX_KERNEL_CUSTOM_VERSION=y
-BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.19.38"
+BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.3.12"
 BR2_LINUX_KERNEL_DEFCONFIG="sunxi"
 BR2_LINUX_KERNEL_DEFCONFIG="sunxi"
 BR2_LINUX_KERNEL_DTS_SUPPORT=y
 BR2_LINUX_KERNEL_DTS_SUPPORT=y
 BR2_LINUX_KERNEL_INTREE_DTS_NAME="sun8i-h2-plus-orangepi-r1"
 BR2_LINUX_KERNEL_INTREE_DTS_NAME="sun8i-h2-plus-orangepi-r1"
@@ -19,7 +19,7 @@ BR2_TARGET_ROOTFS_EXT2_4=y
 BR2_TARGET_UBOOT=y
 BR2_TARGET_UBOOT=y
 BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y
 BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y
 BR2_TARGET_UBOOT_CUSTOM_VERSION=y
 BR2_TARGET_UBOOT_CUSTOM_VERSION=y
-BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2019.04"
+BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2019.10"
 BR2_TARGET_UBOOT_BOARD_DEFCONFIG="orangepi_r1"
 BR2_TARGET_UBOOT_BOARD_DEFCONFIG="orangepi_r1"
 BR2_TARGET_UBOOT_NEEDS_DTC=y
 BR2_TARGET_UBOOT_NEEDS_DTC=y
 BR2_TARGET_UBOOT_NEEDS_PYLIBFDT=y
 BR2_TARGET_UBOOT_NEEDS_PYLIBFDT=y

+ 3 - 3
configs/orangepi_zero_defconfig

@@ -3,13 +3,13 @@ BR2_cortex_a7=y
 BR2_ARM_FPU_VFPV4=y
 BR2_ARM_FPU_VFPV4=y
 BR2_GLOBAL_PATCH_DIR="board/orangepi/orangepi-zero/patches"
 BR2_GLOBAL_PATCH_DIR="board/orangepi/orangepi-zero/patches"
 BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_MDEV=y
 BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_MDEV=y
-BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_19=y
+BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_3=y
 BR2_TARGET_GENERIC_HOSTNAME="OrangePi_Zero"
 BR2_TARGET_GENERIC_HOSTNAME="OrangePi_Zero"
 BR2_TARGET_GENERIC_ISSUE="Welcome to Buildroot for the Orange Pi Zero"
 BR2_TARGET_GENERIC_ISSUE="Welcome to Buildroot for the Orange Pi Zero"
 BR2_SYSTEM_DHCP="eth0"
 BR2_SYSTEM_DHCP="eth0"
 BR2_LINUX_KERNEL=y
 BR2_LINUX_KERNEL=y
 BR2_LINUX_KERNEL_CUSTOM_VERSION=y
 BR2_LINUX_KERNEL_CUSTOM_VERSION=y
-BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.19.38"
+BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.3.8"
 BR2_LINUX_KERNEL_DEFCONFIG="sunxi"
 BR2_LINUX_KERNEL_DEFCONFIG="sunxi"
 BR2_LINUX_KERNEL_DTS_SUPPORT=y
 BR2_LINUX_KERNEL_DTS_SUPPORT=y
 BR2_LINUX_KERNEL_INTREE_DTS_NAME="sun8i-h2-plus-orangepi-zero"
 BR2_LINUX_KERNEL_INTREE_DTS_NAME="sun8i-h2-plus-orangepi-zero"
@@ -21,7 +21,7 @@ BR2_TARGET_ROOTFS_EXT2_4=y
 BR2_TARGET_UBOOT=y
 BR2_TARGET_UBOOT=y
 BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y
 BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y
 BR2_TARGET_UBOOT_CUSTOM_VERSION=y
 BR2_TARGET_UBOOT_CUSTOM_VERSION=y
-BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2019.04"
+BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2019.10"
 BR2_TARGET_UBOOT_BOARD_DEFCONFIG="orangepi_zero"
 BR2_TARGET_UBOOT_BOARD_DEFCONFIG="orangepi_zero"
 BR2_TARGET_UBOOT_NEEDS_DTC=y
 BR2_TARGET_UBOOT_NEEDS_DTC=y
 BR2_TARGET_UBOOT_NEEDS_PYLIBFDT=y
 BR2_TARGET_UBOOT_NEEDS_PYLIBFDT=y

+ 3 - 3
configs/orangepi_zero_plus2_defconfig

@@ -2,7 +2,7 @@ BR2_aarch64=y
 BR2_cortex_a53=y
 BR2_cortex_a53=y
 BR2_ARM_FPU_VFPV4=y
 BR2_ARM_FPU_VFPV4=y
 
 
-BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_0=y
+BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_3=y
 BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_MDEV=y
 BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_MDEV=y
 BR2_ROOTFS_OVERLAY="board/orangepi/orangepi-zero-plus2/rootfs_overlay"
 BR2_ROOTFS_OVERLAY="board/orangepi/orangepi-zero-plus2/rootfs_overlay"
 
 
@@ -18,7 +18,7 @@ BR2_TARGET_ARM_TRUSTED_FIRMWARE_BL31=y
 BR2_TARGET_UBOOT=y
 BR2_TARGET_UBOOT=y
 BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y
 BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y
 BR2_TARGET_UBOOT_CUSTOM_VERSION=y
 BR2_TARGET_UBOOT_CUSTOM_VERSION=y
-BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2019.01"
+BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2019.10"
 BR2_TARGET_UBOOT_BOARD_DEFCONFIG="orangepi_zero_plus2"
 BR2_TARGET_UBOOT_BOARD_DEFCONFIG="orangepi_zero_plus2"
 BR2_TARGET_UBOOT_NEEDS_DTC=y
 BR2_TARGET_UBOOT_NEEDS_DTC=y
 BR2_TARGET_UBOOT_NEEDS_PYLIBFDT=y
 BR2_TARGET_UBOOT_NEEDS_PYLIBFDT=y
@@ -33,7 +33,7 @@ BR2_TARGET_UBOOT_BOOT_SCRIPT_SOURCE="board/orangepi/orangepi-zero-plus2/boot.cmd
 # Kernel
 # Kernel
 BR2_LINUX_KERNEL=y
 BR2_LINUX_KERNEL=y
 BR2_LINUX_KERNEL_CUSTOM_VERSION=y
 BR2_LINUX_KERNEL_CUSTOM_VERSION=y
-BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.0"
+BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.3.8"
 BR2_LINUX_KERNEL_USE_ARCH_DEFAULT_CONFIG=y
 BR2_LINUX_KERNEL_USE_ARCH_DEFAULT_CONFIG=y
 BR2_LINUX_KERNEL_DTS_SUPPORT=y
 BR2_LINUX_KERNEL_DTS_SUPPORT=y
 BR2_LINUX_KERNEL_INTREE_DTS_NAME="allwinner/sun50i-h5-orangepi-zero-plus2"
 BR2_LINUX_KERNEL_INTREE_DTS_NAME="allwinner/sun50i-h5-orangepi-zero-plus2"

+ 3 - 1
configs/pc_x86_64_efi_defconfig

@@ -10,6 +10,7 @@ BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_EUDEV=y
 
 
 # Required tools to create bootable media
 # Required tools to create bootable media
 BR2_PACKAGE_HOST_DOSFSTOOLS=y
 BR2_PACKAGE_HOST_DOSFSTOOLS=y
+BR2_PACKAGE_HOST_GENIMAGE=y
 BR2_PACKAGE_HOST_MTOOLS=y
 BR2_PACKAGE_HOST_MTOOLS=y
 
 
 # Bootloader
 # Bootloader
@@ -21,7 +22,8 @@ BR2_TARGET_ROOTFS_EXT2=y
 BR2_TARGET_ROOTFS_EXT2_4=y
 BR2_TARGET_ROOTFS_EXT2_4=y
 BR2_TARGET_ROOTFS_EXT2_SIZE="120M"
 BR2_TARGET_ROOTFS_EXT2_SIZE="120M"
 # BR2_TARGET_ROOTFS_TAR is not set
 # BR2_TARGET_ROOTFS_TAR is not set
-BR2_ROOTFS_POST_IMAGE_SCRIPT="board/pc/post-image-efi-gpt.sh"
+BR2_ROOTFS_POST_BUILD_SCRIPT="board/pc/post-build.sh"
+BR2_ROOTFS_POST_IMAGE_SCRIPT="board/pc/post-image-efi.sh"
 
 
 # Linux headers same as kernel, a 4.18 series
 # Linux headers same as kernel, a 4.18 series
 BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_18=y
 BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_18=y

+ 1 - 1
configs/raspberrypi0_defconfig

@@ -9,7 +9,7 @@ BR2_TOOLCHAIN_BUILDROOT_CXX=y
 
 
 BR2_LINUX_KERNEL=y
 BR2_LINUX_KERNEL=y
 BR2_LINUX_KERNEL_CUSTOM_TARBALL=y
 BR2_LINUX_KERNEL_CUSTOM_TARBALL=y
-BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="$(call github,raspberrypi,linux,raspberrypi-kernel_1.20190819-1)/linux-raspberrypi-kernel_1.20190819-1.tar.gz"
+BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="$(call github,raspberrypi,linux,raspberrypi-kernel_1.20190925-1)/linux-raspberrypi-kernel_1.20190925-1.tar.gz"
 BR2_LINUX_KERNEL_DEFCONFIG="bcmrpi"
 BR2_LINUX_KERNEL_DEFCONFIG="bcmrpi"
 
 
 # Build the DTBs for A/B from the kernel sources: the zero is the same
 # Build the DTBs for A/B from the kernel sources: the zero is the same

+ 1 - 1
configs/raspberrypi0w_defconfig

@@ -9,7 +9,7 @@ BR2_TOOLCHAIN_BUILDROOT_CXX=y
 
 
 BR2_LINUX_KERNEL=y
 BR2_LINUX_KERNEL=y
 BR2_LINUX_KERNEL_CUSTOM_TARBALL=y
 BR2_LINUX_KERNEL_CUSTOM_TARBALL=y
-BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="$(call github,raspberrypi,linux,raspberrypi-kernel_1.20190819-1)/linux-raspberrypi-kernel_1.20190819-1.tar.gz"
+BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="$(call github,raspberrypi,linux,raspberrypi-kernel_1.20190925-1)/linux-raspberrypi-kernel_1.20190925-1.tar.gz"
 BR2_LINUX_KERNEL_DEFCONFIG="bcmrpi"
 BR2_LINUX_KERNEL_DEFCONFIG="bcmrpi"
 BR2_LINUX_KERNEL_DTS_SUPPORT=y
 BR2_LINUX_KERNEL_DTS_SUPPORT=y
 BR2_LINUX_KERNEL_INTREE_DTS_NAME="bcm2708-rpi-zero-w"
 BR2_LINUX_KERNEL_INTREE_DTS_NAME="bcm2708-rpi-zero-w"

+ 1 - 1
configs/raspberrypi2_defconfig

@@ -12,7 +12,7 @@ BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_19=y
 
 
 BR2_LINUX_KERNEL=y
 BR2_LINUX_KERNEL=y
 BR2_LINUX_KERNEL_CUSTOM_TARBALL=y
 BR2_LINUX_KERNEL_CUSTOM_TARBALL=y
-BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="$(call github,raspberrypi,linux,raspberrypi-kernel_1.20190819-1)/linux-raspberrypi-kernel_1.20190819-1.tar.gz"
+BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="$(call github,raspberrypi,linux,raspberrypi-kernel_1.20190925-1)/linux-raspberrypi-kernel_1.20190925-1.tar.gz"
 BR2_LINUX_KERNEL_DEFCONFIG="bcm2709"
 BR2_LINUX_KERNEL_DEFCONFIG="bcm2709"
 
 
 # Build the DTB from the kernel sources
 # Build the DTB from the kernel sources

+ 3 - 3
configs/raspberrypi3_64_defconfig

@@ -11,17 +11,17 @@ BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_19=y
 
 
 BR2_LINUX_KERNEL=y
 BR2_LINUX_KERNEL=y
 BR2_LINUX_KERNEL_CUSTOM_TARBALL=y
 BR2_LINUX_KERNEL_CUSTOM_TARBALL=y
-BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="$(call github,raspberrypi,linux,raspberrypi-kernel_1.20190819-1)/linux-raspberrypi-kernel_1.20190819-1.tar.gz"
+BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="$(call github,raspberrypi,linux,raspberrypi-kernel_1.20190925-1)/linux-raspberrypi-kernel_1.20190925-1.tar.gz"
 BR2_LINUX_KERNEL_DEFCONFIG="bcmrpi3"
 BR2_LINUX_KERNEL_DEFCONFIG="bcmrpi3"
 
 
 # Build the DTB from the kernel sources
 # Build the DTB from the kernel sources
 BR2_LINUX_KERNEL_DTS_SUPPORT=y
 BR2_LINUX_KERNEL_DTS_SUPPORT=y
 BR2_LINUX_KERNEL_INTREE_DTS_NAME="broadcom/bcm2710-rpi-3-b broadcom/bcm2710-rpi-3-b-plus broadcom/bcm2837-rpi-3-b"
 BR2_LINUX_KERNEL_INTREE_DTS_NAME="broadcom/bcm2710-rpi-3-b broadcom/bcm2710-rpi-3-b-plus broadcom/bcm2837-rpi-3-b"
+BR2_LINUX_KERNEL_DTB_OVERLAY_SUPPORT=y
 
 
 BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y
 BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y
 
 
 BR2_PACKAGE_RPI_FIRMWARE=y
 BR2_PACKAGE_RPI_FIRMWARE=y
-# BR2_PACKAGE_RPI_FIRMWARE_INSTALL_DTB_OVERLAYS is not set
 
 
 # Required tools to create the SD image
 # Required tools to create the SD image
 BR2_PACKAGE_HOST_DOSFSTOOLS=y
 BR2_PACKAGE_HOST_DOSFSTOOLS=y
@@ -35,4 +35,4 @@ BR2_TARGET_ROOTFS_EXT2_SIZE="120M"
 # BR2_TARGET_ROOTFS_TAR is not set
 # BR2_TARGET_ROOTFS_TAR is not set
 BR2_ROOTFS_POST_BUILD_SCRIPT="board/raspberrypi3-64/post-build.sh"
 BR2_ROOTFS_POST_BUILD_SCRIPT="board/raspberrypi3-64/post-build.sh"
 BR2_ROOTFS_POST_IMAGE_SCRIPT="board/raspberrypi3-64/post-image.sh"
 BR2_ROOTFS_POST_IMAGE_SCRIPT="board/raspberrypi3-64/post-image.sh"
-BR2_ROOTFS_POST_SCRIPT_ARGS="--aarch64"
+BR2_ROOTFS_POST_SCRIPT_ARGS="--aarch64 --add-pi3-miniuart-bt-overlay"

+ 1 - 1
configs/raspberrypi3_defconfig

@@ -11,7 +11,7 @@ BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_19=y
 
 
 BR2_LINUX_KERNEL=y
 BR2_LINUX_KERNEL=y
 BR2_LINUX_KERNEL_CUSTOM_TARBALL=y
 BR2_LINUX_KERNEL_CUSTOM_TARBALL=y
-BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="$(call github,raspberrypi,linux,raspberrypi-kernel_1.20190819-1)/linux-raspberrypi-kernel_1.20190819-1.tar.gz"
+BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="$(call github,raspberrypi,linux,raspberrypi-kernel_1.20190925-1)/linux-raspberrypi-kernel_1.20190925-1.tar.gz"
 BR2_LINUX_KERNEL_DEFCONFIG="bcm2709"
 BR2_LINUX_KERNEL_DEFCONFIG="bcm2709"
 
 
 # Build the DTB from the kernel sources
 # Build the DTB from the kernel sources

+ 1 - 1
configs/raspberrypi3_qt5we_defconfig

@@ -12,7 +12,7 @@ BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_19=y
 
 
 BR2_LINUX_KERNEL=y
 BR2_LINUX_KERNEL=y
 BR2_LINUX_KERNEL_CUSTOM_TARBALL=y
 BR2_LINUX_KERNEL_CUSTOM_TARBALL=y
-BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="$(call github,raspberrypi,linux,raspberrypi-kernel_1.20190819-1)/linux-raspberrypi-kernel_1.20190819-1.tar.gz"
+BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="$(call github,raspberrypi,linux,raspberrypi-kernel_1.20190925-1)/linux-raspberrypi-kernel_1.20190925-1.tar.gz"
 BR2_LINUX_KERNEL_DEFCONFIG="bcm2709"
 BR2_LINUX_KERNEL_DEFCONFIG="bcm2709"
 
 
 # Build the DTB from the kernel sources
 # Build the DTB from the kernel sources

+ 1 - 1
configs/raspberrypi4_defconfig

@@ -11,7 +11,7 @@ BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_19=y
 
 
 BR2_LINUX_KERNEL=y
 BR2_LINUX_KERNEL=y
 BR2_LINUX_KERNEL_CUSTOM_TARBALL=y
 BR2_LINUX_KERNEL_CUSTOM_TARBALL=y
-BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="$(call github,raspberrypi,linux,raspberrypi-kernel_1.20190819-1)/linux-raspberrypi-kernel_1.20190819-1.tar.gz"
+BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="$(call github,raspberrypi,linux,raspberrypi-kernel_1.20190925-1)/linux-raspberrypi-kernel_1.20190925-1.tar.gz"
 BR2_LINUX_KERNEL_DEFCONFIG="bcm2711"
 BR2_LINUX_KERNEL_DEFCONFIG="bcm2711"
 
 
 # Build the DTB from the kernel sources
 # Build the DTB from the kernel sources

+ 1 - 1
configs/raspberrypi_defconfig

@@ -11,7 +11,7 @@ BR2_TOOLCHAIN_BUILDROOT_CXX=y
 
 
 BR2_LINUX_KERNEL=y
 BR2_LINUX_KERNEL=y
 BR2_LINUX_KERNEL_CUSTOM_TARBALL=y
 BR2_LINUX_KERNEL_CUSTOM_TARBALL=y
-BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="$(call github,raspberrypi,linux,raspberrypi-kernel_1.20190819-1)/linux-raspberrypi-kernel_1.20190819-1.tar.gz"
+BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="$(call github,raspberrypi,linux,raspberrypi-kernel_1.20190925-1)/linux-raspberrypi-kernel_1.20190925-1.tar.gz"
 BR2_LINUX_KERNEL_DEFCONFIG="bcmrpi"
 BR2_LINUX_KERNEL_DEFCONFIG="bcmrpi"
 
 
 # Build the DTBs for A/B, A+/B+ and compute module from the kernel sources
 # Build the DTBs for A/B, A+/B+ and compute module from the kernel sources

+ 8 - 1
docs/manual/adding-packages-generic.txt

@@ -586,6 +586,13 @@ In the action definitions, you can use the following variables:
 * +$(TARGET_CROSS)+ to get the cross-compilation toolchain prefix
 * +$(TARGET_CROSS)+ to get the cross-compilation toolchain prefix
 
 
 * Of course the +$(HOST_DIR)+, +$(STAGING_DIR)+ and +$(TARGET_DIR)+
 * Of course the +$(HOST_DIR)+, +$(STAGING_DIR)+ and +$(TARGET_DIR)+
-  variables to install the packages properly.
+  variables to install the packages properly. Those variables point to
+  the global _host_, _staging_ and _target_ directories, unless
+  _per-package directory_ support is used, in which case they point to
+  the current package _host_, _staging_ and _target_ directories. In
+  both cases, it doesn't make any difference from the package point of
+  view: it should simply use +HOST_DIR+, +STAGING_DIR+ and
+  +TARGET_DIR+. See xref:top-level-parallel-build[] for more details
+  about _per-package directory_ support.
 
 
 Finally, you can also use hooks. See xref:hooks[] for more information.
 Finally, you can also use hooks. See xref:hooks[] for more information.

+ 47 - 0
docs/manual/common-usage.txt

@@ -347,6 +347,53 @@ Refer to the help text of this script for more details:
 utils/size-stats-compare -h
 utils/size-stats-compare -h
 ----------------
 ----------------
 
 
+[[top-level-parallel-build]]
+=== Top-level parallel build
+
+.Note
+This section deals with a very experimental feature, which is known to
+break even in some non-unusual situations. Use at your own risk.
+
+Buildroot has always been capable of using parallel build on a per
+package basis: each package is built by Buildroot using +make -jN+ (or
+the equivalent invocation for non-make-based build systems). The level
+of parallelism is by default number of CPUs + 1, but it can be
+adjusted using the +BR2_JLEVEL+ configuration option.
+
+Until 2020.02, Buildroot was however building packages in a serial
+fashion: each package was built one after the other, without
+parallelization of the build between packages. As of 2020.02,
+Buildroot has experimental support for *top-level parallel build*,
+which allows some signicant build time savings by building packages
+that have no dependency relationship in parallel. This feature is
+however marked as experimental and is known not to work in some cases.
+
+In order to use top-level parallel build, one must:
+
+. Enable the option +BR2_PER_PACKAGE_DIRECTORIES+ in the Buildroot
+configuration
+
+. Use +make -jN+ when starting the Buildroot build
+
+Internally, the +BR2_PER_PACKAGE_DIRECTORIES+ will enable a mechanism
+called *per-package directories*, which will have the following
+effects:
+
+* Instead of a global _target_ directory and a global _host_ directory
+  common to all packages, per-package _target_ and _host_ directories
+  will be used, in +$(O)/per-package/<pkg>/target/+ and
+  +$(O)/per-package/<pkg>/host/+ respectively. Those folders will be
+  populated from the corresponding folders of the package dependencies
+  at the beginning of +<pkg>+ build. The compiler and all other tools
+  will therefore only be able to see and access files installed by
+  dependencies explicitly listed by +<pkg>+.
+
+* At the end of the build, the global _target_ and _host_ directories
+  will be populated, located in +$(O)/target+ and +$(O)/host+
+  respectively. This means that during the build, those folders will
+  be empty and it's only at the very end of the build that they will
+  be populated.
+
 include::eclipse-integration.txt[]
 include::eclipse-integration.txt[]
 
 
 include::advanced.txt[]
 include::advanced.txt[]

+ 3 - 0
docs/manual/faq-troubleshooting.txt

@@ -239,3 +239,6 @@ help reduce the build time:
 
 
  * Buy new hardware. SSDs and lots of RAM are key to speeding up the
  * Buy new hardware. SSDs and lots of RAM are key to speeding up the
    builds.
    builds.
+
+ * Experiment with top-level parallel build, see
+   xref:top-level-parallel-build[].

+ 4 - 4
docs/manual/quickstart.txt

@@ -60,10 +60,10 @@ To start the build process, simply run:
  $ make
  $ make
 --------------------
 --------------------
 
 
-You *should never* use +make -jN+ with Buildroot: top-level parallel
-make is currently not supported. Instead, use the +BR2_JLEVEL+ option
-to tell Buildroot to run the compilation of each individual package
-with +make -jN+.
+By default, Buildroot does not support top-level parallel build, so
+running +make -jN+ is not necessary. There is however experimental
+support for top-level parallel build, see
+xref:top-level-parallel-build[].
 
 
 The `make` command will generally perform the following steps:
 The `make` command will generally perform the following steps:
 
 

+ 14 - 2
linux/Config.in

@@ -35,7 +35,7 @@ config BR2_LINUX_KERNEL_LATEST_VERSION
 	bool "Latest version (5.3)"
 	bool "Latest version (5.3)"
 
 
 config BR2_LINUX_KERNEL_LATEST_CIP_VERSION
 config BR2_LINUX_KERNEL_LATEST_CIP_VERSION
-	bool "Latest CIP SLTS version (v4.19.75-cip11)"
+	bool "Latest CIP SLTS version (4.19.82-cip14)"
 	help
 	help
 	  CIP launched in the spring of 2016 to address the needs of
 	  CIP launched in the spring of 2016 to address the needs of
 	  organizations in industries such as power generation and
 	  organizations in industries such as power generation and
@@ -53,6 +53,17 @@ config BR2_LINUX_KERNEL_LATEST_CIP_VERSION
 
 
 	  https://www.cip-project.org
 	  https://www.cip-project.org
 
 
+config BR2_LINUX_KERNEL_LATEST_CIP_RT_VERSION
+	bool "Latest CIP RT SLTS version (4.19.72-cip10-rt4)"
+	help
+	  Same as the CIP version, but this is the PREEMPT_RT realtime
+	  variant.
+
+	  The CIP community plans to maintain 4.19 for security and
+	  bug fixes for more than 10 years.
+
+	  https://www.cip-project.org
+
 config BR2_LINUX_KERNEL_CUSTOM_VERSION
 config BR2_LINUX_KERNEL_CUSTOM_VERSION
 	bool "Custom version"
 	bool "Custom version"
 	help
 	help
@@ -123,7 +134,8 @@ endif
 config BR2_LINUX_KERNEL_VERSION
 config BR2_LINUX_KERNEL_VERSION
 	string
 	string
 	default "5.3.14" if BR2_LINUX_KERNEL_LATEST_VERSION
 	default "5.3.14" if BR2_LINUX_KERNEL_LATEST_VERSION
-	default "v4.19.75-cip11" if BR2_LINUX_KERNEL_LATEST_CIP_VERSION
+	default "4.19.82-cip14" if BR2_LINUX_KERNEL_LATEST_CIP_VERSION
+	default "4.19.72-cip10-rt4" if BR2_LINUX_KERNEL_LATEST_CIP_RT_VERSION
 	default BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE \
 	default BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE \
 		if BR2_LINUX_KERNEL_CUSTOM_VERSION
 		if BR2_LINUX_KERNEL_CUSTOM_VERSION
 	default "custom" if BR2_LINUX_KERNEL_CUSTOM_TARBALL
 	default "custom" if BR2_LINUX_KERNEL_CUSTOM_TARBALL

+ 3 - 2
linux/linux.mk

@@ -29,8 +29,9 @@ LINUX_SITE_METHOD = hg
 else ifeq ($(BR2_LINUX_KERNEL_CUSTOM_SVN),y)
 else ifeq ($(BR2_LINUX_KERNEL_CUSTOM_SVN),y)
 LINUX_SITE = $(call qstrip,$(BR2_LINUX_KERNEL_CUSTOM_REPO_URL))
 LINUX_SITE = $(call qstrip,$(BR2_LINUX_KERNEL_CUSTOM_REPO_URL))
 LINUX_SITE_METHOD = svn
 LINUX_SITE_METHOD = svn
-else ifeq ($(BR2_LINUX_KERNEL_LATEST_CIP_VERSION),y)
-LINUX_SITE = git://git.kernel.org/pub/scm/linux/kernel/git/cip/linux-cip.git
+else ifeq ($(BR2_LINUX_KERNEL_LATEST_CIP_VERSION)$(BR2_LINUX_KERNEL_LATEST_CIP_RT_VERSION),y)
+LINUX_SOURCE = linux-cip-$(LINUX_VERSION).tar.gz
+LINUX_SITE = https://git.kernel.org/pub/scm/linux/kernel/git/cip/linux-cip.git/snapshot
 else ifneq ($(findstring -rc,$(LINUX_VERSION)),)
 else ifneq ($(findstring -rc,$(LINUX_VERSION)),)
 # Since 4.12-rc1, -rc kernels are generated from cgit. This also works for
 # Since 4.12-rc1, -rc kernels are generated from cgit. This also works for
 # older -rc kernels.
 # older -rc kernels.

+ 14 - 0
package/Config.in

@@ -418,6 +418,7 @@ endmenu
 	source "package/cbootimage/Config.in"
 	source "package/cbootimage/Config.in"
 	source "package/cc-tool/Config.in"
 	source "package/cc-tool/Config.in"
 	source "package/cdrkit/Config.in"
 	source "package/cdrkit/Config.in"
+	source "package/cpuburn-arm/Config.in"
 	source "package/cryptsetup/Config.in"
 	source "package/cryptsetup/Config.in"
 	source "package/cwiid/Config.in"
 	source "package/cwiid/Config.in"
 	source "package/dahdi-linux/Config.in"
 	source "package/dahdi-linux/Config.in"
@@ -449,6 +450,7 @@ endmenu
 	source "package/freescale-imx/Config.in"
 	source "package/freescale-imx/Config.in"
 	source "package/fxload/Config.in"
 	source "package/fxload/Config.in"
 	source "package/gadgetfs-test/Config.in"
 	source "package/gadgetfs-test/Config.in"
+	source "package/gcnano-binaries/Config.in"
 	source "package/gpm/Config.in"
 	source "package/gpm/Config.in"
 	source "package/gpsd/Config.in"
 	source "package/gpsd/Config.in"
 	source "package/gptfdisk/Config.in"
 	source "package/gptfdisk/Config.in"
@@ -509,6 +511,7 @@ endmenu
 	source "package/pps-tools/Config.in"
 	source "package/pps-tools/Config.in"
 	source "package/pru-software-support/Config.in"
 	source "package/pru-software-support/Config.in"
 	source "package/pulseview/Config.in"
 	source "package/pulseview/Config.in"
+	source "package/raspi-gpio/Config.in"
 	source "package/read-edid/Config.in"
 	source "package/read-edid/Config.in"
 	source "package/rng-tools/Config.in"
 	source "package/rng-tools/Config.in"
 	source "package/rpi-userland/Config.in"
 	source "package/rpi-userland/Config.in"
@@ -550,6 +553,7 @@ endmenu
 	source "package/udev/Config.in"
 	source "package/udev/Config.in"
 	source "package/udisks/Config.in"
 	source "package/udisks/Config.in"
 	source "package/uhubctl/Config.in"
 	source "package/uhubctl/Config.in"
+	source "package/umtprd/Config.in"
 	source "package/upower/Config.in"
 	source "package/upower/Config.in"
 	source "package/usb_modeswitch/Config.in"
 	source "package/usb_modeswitch/Config.in"
 	source "package/usb_modeswitch_data/Config.in"
 	source "package/usb_modeswitch_data/Config.in"
@@ -852,6 +856,7 @@ menu "External python modules"
 	source "package/python-bluezero/Config.in"
 	source "package/python-bluezero/Config.in"
 	source "package/python-bottle/Config.in"
 	source "package/python-bottle/Config.in"
 	source "package/python-brotli/Config.in"
 	source "package/python-brotli/Config.in"
+	source "package/python-bunch/Config.in"
 	source "package/python-cached-property/Config.in"
 	source "package/python-cached-property/Config.in"
 	source "package/python-can/Config.in"
 	source "package/python-can/Config.in"
 	source "package/python-cbor/Config.in"
 	source "package/python-cbor/Config.in"
@@ -875,6 +880,7 @@ menu "External python modules"
 	source "package/python-couchdb/Config.in"
 	source "package/python-couchdb/Config.in"
 	source "package/python-crc16/Config.in"
 	source "package/python-crc16/Config.in"
 	source "package/python-crcmod/Config.in"
 	source "package/python-crcmod/Config.in"
+	source "package/python-crontab/Config.in"
 	source "package/python-crossbar/Config.in"
 	source "package/python-crossbar/Config.in"
 	source "package/python-cryptography/Config.in"
 	source "package/python-cryptography/Config.in"
 	source "package/python-cssselect/Config.in"
 	source "package/python-cssselect/Config.in"
@@ -891,6 +897,7 @@ menu "External python modules"
 	source "package/python-dicttoxml/Config.in"
 	source "package/python-dicttoxml/Config.in"
 	source "package/python-django/Config.in"
 	source "package/python-django/Config.in"
 	source "package/python-django-enumfields/Config.in"
 	source "package/python-django-enumfields/Config.in"
+	source "package/python-dnspython/Config.in"
 	source "package/python-docker/Config.in"
 	source "package/python-docker/Config.in"
 	source "package/python-docker-pycreds/Config.in"
 	source "package/python-docker-pycreds/Config.in"
 	source "package/python-dockerpty/Config.in"
 	source "package/python-dockerpty/Config.in"
@@ -902,6 +909,7 @@ menu "External python modules"
 	source "package/python-engineio/Config.in"
 	source "package/python-engineio/Config.in"
 	source "package/python-enum/Config.in"
 	source "package/python-enum/Config.in"
 	source "package/python-enum34/Config.in"
 	source "package/python-enum34/Config.in"
+	source "package/python-esptool/Config.in"
 	source "package/python-falcon/Config.in"
 	source "package/python-falcon/Config.in"
 	source "package/python-fire/Config.in"
 	source "package/python-fire/Config.in"
 	source "package/python-flask/Config.in"
 	source "package/python-flask/Config.in"
@@ -912,6 +920,7 @@ menu "External python modules"
 	source "package/python-flask-sqlalchemy/Config.in"
 	source "package/python-flask-sqlalchemy/Config.in"
 	source "package/python-flup/Config.in"
 	source "package/python-flup/Config.in"
 	source "package/python-functools32/Config.in"
 	source "package/python-functools32/Config.in"
+	source "package/python-future/Config.in"
 	source "package/python-futures/Config.in"
 	source "package/python-futures/Config.in"
 	source "package/python-gobject/Config.in"
 	source "package/python-gobject/Config.in"
 	source "package/python-gunicorn/Config.in"
 	source "package/python-gunicorn/Config.in"
@@ -920,6 +929,7 @@ menu "External python modules"
 	source "package/python-hpack/Config.in"
 	source "package/python-hpack/Config.in"
 	source "package/python-html5lib/Config.in"
 	source "package/python-html5lib/Config.in"
 	source "package/python-httplib2/Config.in"
 	source "package/python-httplib2/Config.in"
+	source "package/python-huepy/Config.in"
 	source "package/python-humanize/Config.in"
 	source "package/python-humanize/Config.in"
 	source "package/python-hyperframe/Config.in"
 	source "package/python-hyperframe/Config.in"
 	source "package/python-hyperlink/Config.in"
 	source "package/python-hyperlink/Config.in"
@@ -1006,6 +1016,7 @@ menu "External python modules"
 	source "package/python-ptyprocess/Config.in"
 	source "package/python-ptyprocess/Config.in"
 	source "package/python-pudb/Config.in"
 	source "package/python-pudb/Config.in"
 	source "package/python-py/Config.in"
 	source "package/python-py/Config.in"
+	source "package/python-pyaes/Config.in"
 	source "package/python-pyasn/Config.in"
 	source "package/python-pyasn/Config.in"
 	source "package/python-pyasn-modules/Config.in"
 	source "package/python-pyasn-modules/Config.in"
 	source "package/python-pyasn1/Config.in"
 	source "package/python-pyasn1/Config.in"
@@ -1239,6 +1250,7 @@ menu "Crypto"
 	source "package/cryptodev/Config.in"
 	source "package/cryptodev/Config.in"
 	source "package/gcr/Config.in"
 	source "package/gcr/Config.in"
 	source "package/gnutls/Config.in"
 	source "package/gnutls/Config.in"
+	source "package/libargon2/Config.in"
 	source "package/libassuan/Config.in"
 	source "package/libassuan/Config.in"
 	source "package/libgcrypt/Config.in"
 	source "package/libgcrypt/Config.in"
 	source "package/libgpg-error/Config.in"
 	source "package/libgpg-error/Config.in"
@@ -1479,6 +1491,7 @@ endif
 	source "package/jsmin/Config.in"
 	source "package/jsmin/Config.in"
 	source "package/json-javascript/Config.in"
 	source "package/json-javascript/Config.in"
 	source "package/openlayers/Config.in"
 	source "package/openlayers/Config.in"
+	source "package/spidermonkey/Config.in"
 endmenu
 endmenu
 
 
 menu "JSON/XML"
 menu "JSON/XML"
@@ -2282,6 +2295,7 @@ menu "System tools"
 	source "package/s6-rc/Config.in"
 	source "package/s6-rc/Config.in"
 	source "package/scrub/Config.in"
 	source "package/scrub/Config.in"
 	source "package/scrypt/Config.in"
 	source "package/scrypt/Config.in"
+	source "package/sdbusplus/Config.in"
 	source "package/smack/Config.in"
 	source "package/smack/Config.in"
 	source "package/start-stop-daemon/Config.in"
 	source "package/start-stop-daemon/Config.in"
 	source "package/supervisor/Config.in"
 	source "package/supervisor/Config.in"

+ 1 - 0
package/Config.in.host

@@ -66,6 +66,7 @@ menu "Host utilities"
 	source "package/rustc/Config.in.host"
 	source "package/rustc/Config.in.host"
 	source "package/s6-rc/Config.in.host"
 	source "package/s6-rc/Config.in.host"
 	source "package/sam-ba/Config.in.host"
 	source "package/sam-ba/Config.in.host"
+	source "package/sdbusplus/Config.in.host"
 	source "package/squashfs/Config.in.host"
 	source "package/squashfs/Config.in.host"
 	source "package/sunxi-tools/Config.in.host"
 	source "package/sunxi-tools/Config.in.host"
 	source "package/swig/Config.in.host"
 	source "package/swig/Config.in.host"

+ 15 - 0
package/cpuburn-arm/Config.in

@@ -0,0 +1,15 @@
+config BR2_PACKAGE_CPUBURN_ARM_ARCH_SUPPORTS
+	bool
+	default y if BR2_cortex_a7
+	default y if BR2_cortex_a8
+	default y if BR2_cortex_a9
+	default y if BR2_cortex_a53
+
+config BR2_PACKAGE_CPUBURN_ARM
+	bool "cpuburn-arm"
+	depends on BR2_PACKAGE_CPUBURN_ARM_ARCH_SUPPORTS
+	help
+	  Make ARM cores generate as much heat as possible. Supports
+	  Cortex A7/A8/A9/A53.
+
+	  https://github.com/ssvb/cpuburn-arm

+ 3 - 0
package/cpuburn-arm/cpuburn-arm.hash

@@ -0,0 +1,3 @@
+# Locally calculated
+sha256 354381ec8c352e6c84875ac034004df44b0ed0ac097c400b8d2e47652815c3a2  cpuburn-arm-ad7e646700d14b81413297bda02fb7fe96613c3f.tar.gz
+sha256 47f10095a04d16c8d8d52598371fa01b6a6e87134083b9ec3c43d83ff8576f55  cpuburn-a7.S

+ 31 - 0
package/cpuburn-arm/cpuburn-arm.mk

@@ -0,0 +1,31 @@
+################################################################################
+#
+# cpuburn-arm
+#
+################################################################################
+
+CPUBURN_ARM_VERSION = ad7e646700d14b81413297bda02fb7fe96613c3f
+CPUBURN_ARM_SITE = $(call github,ssvb,cpuburn-arm,$(CPUBURN_ARM_VERSION))
+CPUBURN_ARM_LICENSE = MIT
+CPUBURN_ARM_LICENSE_FILES = cpuburn-a7.S
+
+ifeq ($(BR2_cortex_a7),y)
+CPUBURN_ARM_SRC = cpuburn-a7.S
+else ifeq ($(BR2_cortex_a8),y)
+CPUBURN_ARM_SRC = cpuburn-a8.S
+else ifeq ($(BR2_cortex_a9),y)
+CPUBURN_ARM_SRC = cpuburn-a9.S
+else ifeq ($(BR2_cortex_a53),y)
+CPUBURN_ARM_SRC = cpuburn-a53.S
+endif
+
+define CPUBURN_ARM_BUILD_CMDS
+	$(TARGET_CC) $(TARGET_CFLAGS) -o $(@D)/cpuburn \
+		$(@D)/$(CPUBURN_ARM_SRC)
+endef
+
+define CPUBURN_ARM_INSTALL_TARGET_CMDS
+	$(INSTALL) -m 0755 $(@D)/cpuburn $(TARGET_DIR)/usr/bin/cpuburn
+endef
+
+$(eval $(generic-package))

+ 12 - 7
package/dtc/0001-Fix-include-guards-for-older-kernel-u-boot-sources.patch

@@ -15,6 +15,8 @@ Signed-off-by: Lothar Felten <lothar.felten@gmail.com>
 [ThomasDS: also update fdt.h which has the same issue, seen on U-Boot
 [ThomasDS: also update fdt.h which has the same issue, seen on U-Boot
 2011.03]
 2011.03]
 Signed-off-by: Thomas De Schampheleire <thomas.de_schampheleire@nokia.com>
 Signed-off-by: Thomas De Schampheleire <thomas.de_schampheleire@nokia.com>
+[SB: Updated to match context change in v1.5.1]
+Signed-off-by: Sam Bobroff <sbobroff@linux.ibm.com>
 ---
 ---
  libfdt/fdt.h        | 4 ++++
  libfdt/fdt.h        | 4 ++++
  libfdt/libfdt.h     | 4 ++++
  libfdt/libfdt.h     | 4 ++++
@@ -22,10 +24,11 @@ Signed-off-by: Thomas De Schampheleire <thomas.de_schampheleire@nokia.com>
  3 files changed, 12 insertions(+)
  3 files changed, 12 insertions(+)
 
 
 diff --git a/libfdt/fdt.h b/libfdt/fdt.h
 diff --git a/libfdt/fdt.h b/libfdt/fdt.h
-index 74961f9..2904f48 100644
+index f2e6880..0f1dc4d 100644
 --- a/libfdt/fdt.h
 --- a/libfdt/fdt.h
 +++ b/libfdt/fdt.h
 +++ b/libfdt/fdt.h
-@@ -1,3 +1,7 @@
+@@ -1,4 +1,8 @@
+ /* SPDX-License-Identifier: (GPL-2.0-or-later OR BSD-2-Clause) */
 +#ifdef _FDT_H
 +#ifdef _FDT_H
 +#warning "Please consider updating your kernel and/or u-boot version"
 +#warning "Please consider updating your kernel and/or u-boot version"
 +#define FDT_H
 +#define FDT_H
@@ -34,10 +37,11 @@ index 74961f9..2904f48 100644
  #define FDT_H
  #define FDT_H
  /*
  /*
 diff --git a/libfdt/libfdt.h b/libfdt/libfdt.h
 diff --git a/libfdt/libfdt.h b/libfdt/libfdt.h
-index 830b77e..bef4566 100644
+index 8037f39..7668432 100644
 --- a/libfdt/libfdt.h
 --- a/libfdt/libfdt.h
 +++ b/libfdt/libfdt.h
 +++ b/libfdt/libfdt.h
-@@ -1,3 +1,7 @@
+@@ -1,4 +1,8 @@
+ /* SPDX-License-Identifier: (GPL-2.0-or-later OR BSD-2-Clause) */
 +#ifdef _LIBFDT_H
 +#ifdef _LIBFDT_H
 +#warning "Please consider updating your kernel and/or u-boot version"
 +#warning "Please consider updating your kernel and/or u-boot version"
 +#define LIBFDT_H
 +#define LIBFDT_H
@@ -46,10 +50,11 @@ index 830b77e..bef4566 100644
  #define LIBFDT_H
  #define LIBFDT_H
  /*
  /*
 diff --git a/libfdt/libfdt_env.h b/libfdt/libfdt_env.h
 diff --git a/libfdt/libfdt_env.h b/libfdt/libfdt_env.h
-index eb20538..6a61e6a 100644
+index 73b6d40..b95a287 100644
 --- a/libfdt/libfdt_env.h
 --- a/libfdt/libfdt_env.h
 +++ b/libfdt/libfdt_env.h
 +++ b/libfdt/libfdt_env.h
-@@ -1,3 +1,7 @@
+@@ -1,4 +1,8 @@
+ /* SPDX-License-Identifier: (GPL-2.0-or-later OR BSD-2-Clause) */
 +#ifdef _LIBFDT_ENV_H
 +#ifdef _LIBFDT_ENV_H
 +#warning "Please consider updating your kernel and/or u-boot version"
 +#warning "Please consider updating your kernel and/or u-boot version"
 +#define LIBFDT_ENV_H
 +#define LIBFDT_ENV_H
@@ -58,5 +63,5 @@ index eb20538..6a61e6a 100644
  #define LIBFDT_ENV_H
  #define LIBFDT_ENV_H
  /*
  /*
 -- 
 -- 
-2.19.2
+2.22.0.216.g00a2a96fc9
 
 

+ 0 - 37
package/dtc/0002-Makefile-Add-EXTRA_CFLAGS-variable.patch

@@ -1,37 +0,0 @@
-From f7c659d7daff5dbf4a0be959a544f15eab7fc49c Mon Sep 17 00:00:00 2001
-From: Joel Stanley <joel@jms.id.au>
-Date: Mon, 22 Jul 2019 12:21:49 +0930
-Subject: [PATCH] Makefile: Add EXTRA_CFLAGS variable
-
-Distributions packaging dtc may need to set extra flags. Currently when
-they do that it overrides the ones set by the makefile. This is
-particularly problematic when compiling without yaml, as the yaml
-detection is ignored.
-
- ld: dtc.o: in function `main':
- dtc.c:(.text.startup+0x718): undefined reference to `dt_to_yaml'
-
-This patch provides a EXTRA_CFLAGS variable that is added to the list of
-CFLAGS, and can be set on the command line when packaging.
-
-Signed-off-by: Joel Stanley <joel@jms.id.au>
----
- Makefile | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/Makefile b/Makefile
-index e6b32cf1cbf5..6807669569b3 100644
---- a/Makefile
-+++ b/Makefile
-@@ -18,7 +18,7 @@ CONFIG_LOCALVERSION =
- CPPFLAGS = -I libfdt -I .
- WARNINGS = -Wall -Wpointer-arith -Wcast-qual -Wnested-externs \
- 	-Wstrict-prototypes -Wmissing-prototypes -Wredundant-decls -Wshadow
--CFLAGS = -g -Os $(SHAREDLIB_CFLAGS) -Werror $(WARNINGS)
-+CFLAGS = -g -Os $(SHAREDLIB_CFLAGS) -Werror $(WARNINGS) $(EXTRA_CFLAGS)
- 
- BISON = bison
- LEX = flex
--- 
-2.20.1
-

+ 4 - 3
package/dtc/dtc.hash

@@ -1,6 +1,7 @@
 # from https://www.kernel.org/pub/software/utils/dtc/sha256sums.asc
 # from https://www.kernel.org/pub/software/utils/dtc/sha256sums.asc
-sha256 c672e443c9f7e39f5a7c8e602da6777f9ad55ad70de87de300a43828c8050172  dtc-1.5.0.tar.xz
+sha256 660b74039690fc37013660544d09191834efb58503c73c555c5513ba75ab031f  dtc-1.5.1.tar.xz
 
 
 # Hash for license files
 # Hash for license files
-sha256 171ce1c292cf148a5be9ff95ce7e5c3d79a002721ab8e119eae3c0f5336d2b3d  README.license
-sha256 32b1062f7da84967e7019d01ab805935caa7ab7321a7ced0e30ebe75e5df1670  GPL
+sha256 78e1e1ce5728a990d59c7de61d4741c49185d5129daf783b386380a214328d68  README.license
+sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643  GPL
+sha256 6313108c23efffa36948f8b2cff1560a5935373b527b0e1a837cc77e6ed1bacd  BSD-2-Clause

+ 5 - 2
package/dtc/dtc.mk

@@ -4,11 +4,11 @@
 #
 #
 ################################################################################
 ################################################################################
 
 
-DTC_VERSION = 1.5.0
+DTC_VERSION = 1.5.1
 DTC_SOURCE = dtc-$(DTC_VERSION).tar.xz
 DTC_SOURCE = dtc-$(DTC_VERSION).tar.xz
 DTC_SITE = https://www.kernel.org/pub/software/utils/dtc
 DTC_SITE = https://www.kernel.org/pub/software/utils/dtc
 DTC_LICENSE = GPL-2.0+ or BSD-2-Clause (library)
 DTC_LICENSE = GPL-2.0+ or BSD-2-Clause (library)
-DTC_LICENSE_FILES = README.license GPL
+DTC_LICENSE_FILES = README.license GPL BSD-2-Clause
 DTC_INSTALL_STAGING = YES
 DTC_INSTALL_STAGING = YES
 DTC_DEPENDENCIES = host-bison host-flex host-pkgconf
 DTC_DEPENDENCIES = host-bison host-flex host-pkgconf
 HOST_DTC_DEPENDENCIES = host-bison host-flex host-pkgconf
 HOST_DTC_DEPENDENCIES = host-bison host-flex host-pkgconf
@@ -18,8 +18,11 @@ DTC_MAKE_OPTS = \
 	NO_PYTHON=1 \
 	NO_PYTHON=1 \
 	NO_VALGRIND=1
 	NO_VALGRIND=1
 
 
+# For the host, we install headers in a special subdirectory to avoid
+# conflicts with the in-kernel libfdt copy.
 HOST_DTC_MAKE_OPTS = \
 HOST_DTC_MAKE_OPTS = \
 	PREFIX=$(HOST_DIR) \
 	PREFIX=$(HOST_DIR) \
+	INCLUDEDIR=$(HOST_DIR)/include/libfdt \
 	NO_PYTHON=1 \
 	NO_PYTHON=1 \
 	NO_VALGRIND=1 \
 	NO_VALGRIND=1 \
 	NO_YAML=1
 	NO_YAML=1

+ 1 - 1
package/fatcat/fatcat.hash

@@ -1,3 +1,3 @@
 # Locally computed:
 # Locally computed:
-sha256 d44f6bb80d20ed50095ace9e71df8da98037db9f22cda76bdd9724d37df69130  fatcat-1.0.6.tar.gz
+sha256 303efe2aa73cbfe6fbc5d8af346d0f2c70b3f996fc891e8859213a58b95ad88c  fatcat-1.1.0.tar.gz
 sha256 3ea03755e32cf7f5b12981de92a0fdad396448195fe0024990c9cbc388e9866c  LICENSE
 sha256 3ea03755e32cf7f5b12981de92a0fdad396448195fe0024990c9cbc388e9866c  LICENSE

+ 2 - 2
package/fatcat/fatcat.mk

@@ -4,8 +4,8 @@
 #
 #
 ################################################################################
 ################################################################################
 
 
-FATCAT_VERSION = 1.0.6
-FATCAT_SITE = $(call github,Gregwar,fatcat,$(FATCAT_VERSION))
+FATCAT_VERSION = 1.1.0
+FATCAT_SITE = $(call github,Gregwar,fatcat,v$(FATCAT_VERSION))
 FATCAT_LICENSE = MIT
 FATCAT_LICENSE = MIT
 FATCAT_LICENSE_FILES = LICENSE
 FATCAT_LICENSE_FILES = LICENSE
 
 

+ 0 - 2
package/ffmpeg/Config.in

@@ -1,8 +1,6 @@
 config BR2_PACKAGE_FFMPEG_ARCH_SUPPORTS
 config BR2_PACKAGE_FFMPEG_ARCH_SUPPORTS
 	bool
 	bool
 	default y
 	default y
-	# fenv.h lacks FE_INVALID, FE_OVERFLOW & FE_UNDERFLOW
-	depends on !(BR2_archs38 && BR2_TOOLCHAIN_USES_GLIBC)
 	# fenv.h lacks FE_INVALID, FE_OVERFLOW & FE_UNDERFLOW on nios2
 	# fenv.h lacks FE_INVALID, FE_OVERFLOW & FE_UNDERFLOW on nios2
 	depends on !BR2_nios2
 	depends on !BR2_nios2
 	# No support for ARMv7-M in the ARM assembly logic
 	# No support for ARMv7-M in the ARM assembly logic

+ 33 - 0
package/gcnano-binaries/Config.in

@@ -0,0 +1,33 @@
+comment "gcnano-binaries needs a Linux kernel to be built"
+	depends on BR2_arm
+	depends on !BR2_LINUX_KERNEL
+
+comment "gcnano-binaries needs a glibc toolchain w/ threads, dynamic library"
+	depends on BR2_arm
+	depends on !BR2_TOOLCHAIN_USES_GLIBC || !BR2_TOOLCHAIN_HAS_THREADS \
+		|| BR2_STATIC_LIBS
+
+config BR2_PACKAGE_GCNANO_BINARIES
+	bool "gcnano-binaries"
+	depends on BR2_arm
+	depends on BR2_LINUX_KERNEL
+	depends on BR2_TOOLCHAIN_USES_GLIBC
+	depends on BR2_TOOLCHAIN_HAS_THREADS # libdrm, wayland
+	depends on !BR2_STATIC_LIBS
+	select BR2_PACKAGE_HAS_LIBEGL
+	select BR2_PACKAGE_HAS_LIBGLES
+	select BR2_PACKAGE_LIBDRM
+	select BR2_PACKAGE_WAYLAND
+	help
+	  Driver and libaries for stm vivante gcnano gpu.
+	  https://github.com/STMicroelectronics/gcnano-binaries/
+
+if BR2_PACKAGE_GCNANO_BINARIES
+
+config BR2_PACKAGE_PROVIDES_LIBEGL
+	default "gcnano-binaries"
+
+config BR2_PACKAGE_PROVIDES_LIBGLES
+	default "gcnano-binaries"
+
+endif

+ 3 - 0
package/gcnano-binaries/gcnano-binaries.hash

@@ -0,0 +1,3 @@
+# Locally calculated
+sha256 255db9c58627f5f54fd15263647cc97a55927363fec42e7c8d7486170a65d84d  gcnano-binaries-c01642ed5e18cf09ecd905af193e935cb3be95ed.tar.gz
+sha256 7d209718473d18f69f75adb7caf9cb5d4b0a31da068756aa011bea617de3dc57  EULA

+ 76 - 0
package/gcnano-binaries/gcnano-binaries.mk

@@ -0,0 +1,76 @@
+################################################################################
+#
+# gcnano-binaries
+#
+################################################################################
+
+GCNANO_BINARIES_LIB_VERSION = 6.2.4
+GCNANO_BINARIES_DRIVER_VERSION = $(GCNANO_BINARIES_LIB_VERSION).p4
+GCNANO_BINARIES_USERLAND_VERSION = $(GCNANO_BINARIES_LIB_VERSION).p4-20190626
+GCNANO_BINARIES_VERSION = c01642ed5e18cf09ecd905af193e935cb3be95ed
+GCNANO_BINARIES_SITE = $(call github,STMicroelectronics,gcnano-binaries,$(GCNANO_BINARIES_VERSION))
+
+GCNANO_BINARIES_LICENSE = MIT, Vivante End User Software License Terms
+GCNANO_BINARIES_LICENSE_FILES = EULA
+GCNANO_BINARIES_REDISTRIBUTE = NO
+
+GCNANO_BINARIES_DEPENDENCIES = linux wayland libdrm
+
+GCNANO_BINARIES_INSTALL_STAGING = YES
+
+GCNANO_BINARIES_PROVIDES = libegl libgles
+
+# The Github repository doesn't contain the source code as-is: it
+# contains a tarball with the kernel driver source code, and a
+# self-extractible binary for the user-space parts. So we extract both
+# below, and also extract the EULA text from the self-extractible binary
+define GCNANO_BINARIES_EXTRACT_HELPER
+	tar --strip-components=1 -xJf $(@D)/gcnano-driver-$(GCNANO_BINARIES_DRIVER_VERSION).tar.xz -C $(@D)
+	awk 'BEGIN      { start = 0; } \
+		/^EOEULA/  { start = 0; } \
+			{ if (start) print; } \
+		/<<EOEULA/ { start = 1; }' \
+		$(@D)/gcnano-userland-multi-$(GCNANO_BINARIES_USERLAND_VERSION).bin > $(@D)/EULA
+	cd $(@D) && sh gcnano-userland-multi-$(GCNANO_BINARIES_USERLAND_VERSION).bin --auto-accept
+endef
+
+GCNANO_BINARIES_POST_EXTRACT_HOOKS += GCNANO_BINARIES_EXTRACT_HELPER
+
+GCNANO_BINARIES_MODULE_MAKE_OPTS = \
+	KERNEL_DIR=$(LINUX_DIR) \
+	SOC_PLATFORM=st-st \
+	AQROOT=$(@D) \
+	DEBUG=0
+
+GCNANO_BINARIES_LIBRARIES = \
+	gbm_viv libEGL libGAL libgbm libGLESv1_CM \
+	libGLESv2 libGLSLC libOpenVG libVSC
+
+GCNANO_BINARIES_USERLAND_SUBDIR = gcnano-userland-multi-$(GCNANO_BINARIES_USERLAND_VERSION)
+
+GCNANO_BINARIES_PKG_CONFIGS = egl gbm glesv1_cm glesv2 vg
+
+define GCNANO_BINARIES_INSTALL
+	$(foreach lib,$(GCNANO_BINARIES_LIBRARIES), \
+		$(INSTALL) -D -m 0755 $(@D)/$(GCNANO_BINARIES_USERLAND_SUBDIR)/usr/lib/$(lib).$(GCNANO_BINARIES_LIB_VERSION).multi.release.so \
+			$(1)/usr/lib/$(lib).$(GCNANO_BINARIES_LIB_VERSION).multi.release.so ; \
+		cp -a $(@D)/$(GCNANO_BINARIES_USERLAND_SUBDIR)/usr/lib/$(lib).so* $(1)/usr/lib
+	)
+	mkdir -p $(1)/usr/include
+	cp -a $(@D)/$(GCNANO_BINARIES_USERLAND_SUBDIR)/usr/include/* $(1)/usr/include/
+	$(foreach pkgconfig,$(GCNANO_BINARIES_PKG_CONFIGS), \
+		$(INSTALL) -D -m 0644 $(@D)/$(GCNANO_BINARIES_USERLAND_SUBDIR)/usr/lib/pkgconfig/$(pkgconfig).pc \
+			$(1)/usr/lib/pkgconfig/$(pkgconfig).pc
+	)
+endef
+
+define GCNANO_BINARIES_INSTALL_TARGET_CMDS
+	$(call GCNANO_BINARIES_INSTALL,$(TARGET_DIR))
+endef
+
+define GCNANO_BINARIES_INSTALL_STAGING_CMDS
+	$(call GCNANO_BINARIES_INSTALL,$(STAGING_DIR))
+endef
+
+$(eval $(kernel-module))
+$(eval $(generic-package))

+ 1 - 1
package/git/git.hash

@@ -1,4 +1,4 @@
 # From: https://www.kernel.org/pub/software/scm/git/sha256sums.asc
 # From: https://www.kernel.org/pub/software/scm/git/sha256sums.asc
-sha256 159e4b599f8af4612e70b666600a3139541f8bacc18124daf2cbe8d1b934f29f  git-2.22.0.tar.xz
+sha256 9f71d61973626d8b28c4cdf8e2484b4bf13870ed643fed982d68b2cfd754371b  git-2.24.0.tar.xz
 sha256 5b2198d1645f767585e8a88ac0499b04472164c0d2da22e75ecf97ef443ab32e  COPYING
 sha256 5b2198d1645f767585e8a88ac0499b04472164c0d2da22e75ecf97ef443ab32e  COPYING
 sha256 1922f45d2c49e390032c9c0ba6d7cac904087f7cec51af30c2b2ad022ce0e76a  LGPL-2.1
 sha256 1922f45d2c49e390032c9c0ba6d7cac904087f7cec51af30c2b2ad022ce0e76a  LGPL-2.1

+ 1 - 1
package/git/git.mk

@@ -4,7 +4,7 @@
 #
 #
 ################################################################################
 ################################################################################
 
 
-GIT_VERSION = 2.22.0
+GIT_VERSION = 2.24.0
 GIT_SOURCE = git-$(GIT_VERSION).tar.xz
 GIT_SOURCE = git-$(GIT_VERSION).tar.xz
 GIT_SITE = $(BR2_KERNEL_MIRROR)/software/scm/git
 GIT_SITE = $(BR2_KERNEL_MIRROR)/software/scm/git
 GIT_LICENSE = GPL-2.0, LGPL-2.1+
 GIT_LICENSE = GPL-2.0, LGPL-2.1+

+ 10 - 0
package/glibc/Config.in

@@ -8,3 +8,13 @@ config BR2_PACKAGE_GLIBC
 	help
 	help
 	  https://www.gnu.org/software/libc/
 	  https://www.gnu.org/software/libc/
 endif
 endif
+
+config BR2_PACKAGE_GLIBC_UTILS
+	bool "Install glibc utilities"
+	depends on BR2_PACKAGE_BASH
+	help
+	  Enabling this option will compile and install the getconf,
+	  ldconfig, ldd and locale glibc utilities for the target.
+
+comment "glibc utilities need bash"
+	depends on !BR2_PACKAGE_BASH

+ 14 - 0
package/glibc/glibc.mk

@@ -143,10 +143,24 @@ ifeq ($(BR2_PACKAGE_GDB),y)
 GLIBC_LIBS_LIB += libthread_db.so.*
 GLIBC_LIBS_LIB += libthread_db.so.*
 endif
 endif
 
 
+ifeq ($(BR2_PACKAGE_GLIBC_UTILS),y)
+GLIBC_TARGET_UTILS_USR_BIN = posix/getconf elf/ldd
+GLIBC_TARGET_UTILS_SBIN = elf/ldconfig
+ifeq ($(BR2_SYSTEM_ENABLE_NLS),y)
+GLIBC_TARGET_UTILS_USR_BIN += locale/locale
+endif
+endif
+
 define GLIBC_INSTALL_TARGET_CMDS
 define GLIBC_INSTALL_TARGET_CMDS
 	for libpattern in $(GLIBC_LIBS_LIB); do \
 	for libpattern in $(GLIBC_LIBS_LIB); do \
 		$(call copy_toolchain_lib_root,$$libpattern) ; \
 		$(call copy_toolchain_lib_root,$$libpattern) ; \
 	done
 	done
+	$(foreach util,$(GLIBC_TARGET_UTILS_USR_BIN), \
+		$(INSTALL) -D -m 0755 $(@D)/build/$(util) $(TARGET_DIR)/usr/bin/$(notdir $(util))
+	)
+	$(foreach util,$(GLIBC_TARGET_UTILS_SBIN), \
+		$(INSTALL) -D -m 0755 $(@D)/build/$(util) $(TARGET_DIR)/sbin/$(notdir $(util))
+	)
 endef
 endef
 
 
 $(eval $(autotools-package))
 $(eval $(autotools-package))

+ 1 - 1
package/iproute2/iproute2.hash

@@ -1,3 +1,3 @@
 # From https://kernel.org/pub/linux/utils/net/iproute2/sha256sums.asc
 # From https://kernel.org/pub/linux/utils/net/iproute2/sha256sums.asc
-sha256	cb1c1e45993a3bd2438543fd4332d70f1726a6e6ff97dc613a8258c993117b3f  iproute2-5.3.0.tar.xz
+sha256	fe97aa60a0d4c5ac830be18937e18dc3400ca713a33a89ad896ff1e3d46086ae  iproute2-5.4.0.tar.xz
 sha256	e6d6a009505e345fe949e1310334fcb0747f28dae2856759de102ab66b722cb4	COPYING
 sha256	e6d6a009505e345fe949e1310334fcb0747f28dae2856759de102ab66b722cb4	COPYING

+ 1 - 1
package/iproute2/iproute2.mk

@@ -4,7 +4,7 @@
 #
 #
 ################################################################################
 ################################################################################
 
 
-IPROUTE2_VERSION = 5.3.0
+IPROUTE2_VERSION = 5.4.0
 IPROUTE2_SOURCE = iproute2-$(IPROUTE2_VERSION).tar.xz
 IPROUTE2_SOURCE = iproute2-$(IPROUTE2_VERSION).tar.xz
 IPROUTE2_SITE = $(BR2_KERNEL_MIRROR)/linux/utils/net/iproute2
 IPROUTE2_SITE = $(BR2_KERNEL_MIRROR)/linux/utils/net/iproute2
 IPROUTE2_DEPENDENCIES = host-bison host-flex host-pkgconf \
 IPROUTE2_DEPENDENCIES = host-bison host-flex host-pkgconf \

+ 3 - 3
package/ipset/ipset.hash

@@ -1,6 +1,6 @@
-# From http://ipset.netfilter.org/ipset-7.2.tar.bz2.md5sum.txt
-md5 9eef4a237f9ccec48744836ee1497dba  ipset-7.2.tar.bz2
+# From http://ipset.netfilter.org/ipset-7.4.tar.bz2.md5sum.txt
+md5 f9dda6f2fc3bb941e0ca3a6c292baf2c  ipset-7.4.tar.bz2
 # Calculated based on the hash above
 # Calculated based on the hash above
-sha256 2e13384534669edc85ca6ab418c59429d5296132c5c27c44479d4c0a59434618  ipset-7.2.tar.bz2
+sha256 4a974176e57fe4b7e2984abb231c4a18af2291bdc41536ef64e4b8ec4d4a1884  ipset-7.4.tar.bz2
 # Locally calculated
 # Locally calculated
 sha256 231f7edcc7352d7734a96eef0b8030f77982678c516876fcb81e25b32d68564c  COPYING
 sha256 231f7edcc7352d7734a96eef0b8030f77982678c516876fcb81e25b32d68564c  COPYING

+ 1 - 1
package/ipset/ipset.mk

@@ -4,7 +4,7 @@
 #
 #
 ################################################################################
 ################################################################################
 
 
-IPSET_VERSION = 7.2
+IPSET_VERSION = 7.4
 IPSET_SOURCE = ipset-$(IPSET_VERSION).tar.bz2
 IPSET_SOURCE = ipset-$(IPSET_VERSION).tar.bz2
 IPSET_SITE = http://ipset.netfilter.org
 IPSET_SITE = http://ipset.netfilter.org
 IPSET_DEPENDENCIES = libmnl host-pkgconf
 IPSET_DEPENDENCIES = libmnl host-pkgconf

+ 1 - 1
package/irqbalance/irqbalance.hash

@@ -1,3 +1,3 @@
 # Locally calculated
 # Locally calculated
-sha256 3318eddc03782cfdad22b20eff18eaf378c498c5de286e8cbaa5521ddf4f810b  irqbalance-1.5.0.tar.gz
+sha256 5ace9dd69d5190e24ee34210c3131333e9963e3ba649bf9237eabb4313c300d2  irqbalance-1.6.0.tar.gz
 sha256 32b1062f7da84967e7019d01ab805935caa7ab7321a7ced0e30ebe75e5df1670  COPYING
 sha256 32b1062f7da84967e7019d01ab805935caa7ab7321a7ced0e30ebe75e5df1670  COPYING

+ 1 - 1
package/irqbalance/irqbalance.mk

@@ -4,7 +4,7 @@
 #
 #
 ################################################################################
 ################################################################################
 
 
-IRQBALANCE_VERSION = 1.5.0
+IRQBALANCE_VERSION = 1.6.0
 IRQBALANCE_SITE = $(call github,irqbalance,irqbalance,v$(IRQBALANCE_VERSION))
 IRQBALANCE_SITE = $(call github,irqbalance,irqbalance,v$(IRQBALANCE_VERSION))
 IRQBALANCE_LICENSE = GPL-2.0
 IRQBALANCE_LICENSE = GPL-2.0
 IRQBALANCE_LICENSE_FILES = COPYING
 IRQBALANCE_LICENSE_FILES = COPYING

+ 23 - 0
package/libargon2/0001-libargon2-dont-fail-on-existing-symlink.patch

@@ -0,0 +1,23 @@
+From b997b9e7d4744020409223afddc7299a771eb52d Mon Sep 17 00:00:00 2001
+From: Pascal de Bruijn <pmjdebruijn@pcode.nl>
+Date: Thu, 7 Nov 2019 09:55:32 +0100
+Subject: [PATCH] Don't fail on existing symlink
+
+Signed-off-by: Pascal de Bruijn <p.debruijn@unilogic.nl>
+---
+ Makefile | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/Makefile b/Makefile
+index 837e7f7..7c116c9 100644
+--- a/Makefile
++++ b/Makefile
+@@ -238,7 +238,7 @@ install: $(RUN) libs
+ 	$(INSTALL) -d $(INST_LIBRARY)
+ 	$(INSTALL) -m 0644 $(LIBRARIES) $(INST_LIBRARY)
+ ifdef LINKED_LIB_SH
+-	cd $(INST_LIBRARY) && ln -s $(notdir $(LIB_SH) $(LINKED_LIB_SH))
++	cd $(INST_LIBRARY) && ln -sf $(notdir $(LIB_SH) $(LINKED_LIB_SH))
+ endif
+ 	$(INSTALL) -d $(INST_BINARY)
+ 	$(INSTALL) $(RUN) $(INST_BINARY)

+ 12 - 0
package/libargon2/Config.in

@@ -0,0 +1,12 @@
+config BR2_PACKAGE_LIBARGON2
+	bool "libargon2"
+	depends on BR2_USE_MMU
+	depends on !BR2_STATIC_LIBS
+	help
+	  A modern password hashing algorithm
+
+	  https://password-hashing.net/#argon2
+
+comment "libargon needs a toolchain w/ dynamic library"
+	depends on BR2_USE_MMU
+	depends on BR2_STATIC_LIBS

+ 3 - 0
package/libargon2/libargon2.hash

@@ -0,0 +1,3 @@
+# Locally calculated
+sha256 eaea0172c1f4ee4550d1b6c9ce01aab8d1ab66b4207776aa67991eb5872fdcd8  libargon2-20171227.tar.gz
+sha256 220f8736a89ff51c92ef3d497f413b48e6cf1df3d6278bc909c6308c78e1718e  LICENSE

+ 40 - 0
package/libargon2/libargon2.mk

@@ -0,0 +1,40 @@
+################################################################################
+#
+# libargon2
+#
+################################################################################
+
+# 20190702 is not recognized by php7.3
+LIBARGON2_VERSION = 20171227
+LIBARGON2_SITE = $(call github,P-H-C,phc-winner-argon2,$(LIBARGON2_VERSION))
+LIBARGON2_LICENSE = CC0-1.0 or Apache-2.0
+LIBARGON2_LICENSE_FILES = LICENSE
+LIBARGON2_INSTALL_STAGING = YES
+
+# GCC_TARGET_ARCH is not defined for all architectures, but libargon2
+# only uses it to detect if some x86 optimizations can be used, and
+# GCC_TARGET_ARCH is defined on x86.
+ifneq ($(GCC_TARGET_ARCH),)
+LIBARGON2_OPTS = OPTTARGET=$(GCC_TARGET_ARCH)
+endif
+
+ifeq ($(BR2_TOOLCHAIN_HAS_THREADS),)
+LIBARGON2_OPTS += NO_THREADS=1
+endif
+
+define LIBARGON2_BUILD_CMDS
+	$(TARGET_MAKE_ENV) $(TARGET_CONFIGURE_OPTS) $(MAKE) -C $(@D) \
+		$(LIBARGON2_OPTS)
+endef
+
+define LIBARGON2_INSTALL_STAGING_CMDS
+	$(TARGET_MAKE_ENV) $(TARGET_CONFIGURE_OPTS) $(MAKE) -C $(@D) \
+		DESTDIR=$(STAGING_DIR) install
+endef
+
+define LIBARGON2_INSTALL_TARGET_CMDS
+	$(TARGET_MAKE_ENV) $(TARGET_CONFIGURE_OPTS) $(MAKE) -C $(@D) \
+		DESTDIR=$(TARGET_DIR) install
+endef
+
+$(eval $(generic-package))

+ 0 - 32
package/libcgi/0001-CMakeLists.txt-libcgi-is-in-C.patch

@@ -1,32 +0,0 @@
-From 043f7a470e32c036f0fe933ec5cd2003087d6b2e Mon Sep 17 00:00:00 2001
-From: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
-Date: Sat, 2 Sep 2017 23:50:42 +0200
-Subject: [PATCH] CMakeLists.txt: libcgi is in C
-
-By default, CMake checks that both C and C++ compilers are
-available. However, since libcgi is only C, there's no need for a C++
-compiler check. Therefore, this commit adjusts the project() variable
-definition to only require C language support.
-
-Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
-Submitted-upstream: https://github.com/rafaelsteil/libcgi/pull/38
----
- CMakeLists.txt | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index f98a99d..c599ca9 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -3,7 +3,7 @@
- #
- cmake_minimum_required(VERSION 2.8.8)
- 
--project(cgi)
-+project(cgi C)
- string(TOUPPER ${PROJECT_NAME} PROJECT_NAME_UC)
- string(TOLOWER ${PROJECT_NAME} PROJECT_NAME_LC)
- set(LIBPREFIX ${PROJECT_NAME})
--- 
-2.13.5
-

+ 0 - 44
package/libcgi/0002-CMakeLists.txt-don-t-force-the-build-of-a-shared-lib.patch

@@ -1,44 +0,0 @@
-From 9bb9d67da0e4faf4bb3a47786dee127e66a49ed0 Mon Sep 17 00:00:00 2001
-From: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
-Date: Sun, 3 Sep 2017 15:22:30 +0200
-Subject: [PATCH] CMakeLists.txt: don't force the build of a shared library
-
-Building a shared library doesn't work on all platforms, so instead,
-let CMake rely on the standard BUILD_SHARED_LIBS variable to decide
-whether a static or shared library should be built.
-
-Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
-Submitted-upstream: https://github.com/rafaelsteil/libcgi/pull/39
----
- src/CMakeLists.txt | 7 ++++---
- 1 file changed, 4 insertions(+), 3 deletions(-)
-
-diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
-index f32d22e..3bde408 100644
---- a/src/CMakeLists.txt
-+++ b/src/CMakeLists.txt
-@@ -23,17 +23,18 @@ set(CGI_SRC
- )
- 
- # create binary
--add_library(${PROJECT_NAME}-shared SHARED ${CGI_SRC})
--set_target_properties(${PROJECT_NAME}-shared PROPERTIES
-+add_library(${PROJECT_NAME} ${CGI_SRC})
-+set_target_properties(${PROJECT_NAME} PROPERTIES
- 	OUTPUT_NAME	${PROJECT_NAME}
- 	SOVERSION	${PROJECT_VERSION_MAJOR}
- 	VERSION		${PROJECT_VERSION}
- )
- 
- # install binary
--install(TARGETS ${PROJECT_NAME}-shared
-+install(TARGETS ${PROJECT_NAME}
- 	EXPORT ${PROJECT_NAME}-targets
- 	LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}"
-+	ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR}"
- )
- 
- # install cmake targets
--- 
-2.13.5
-

+ 6 - 3
package/libcgi/libcgi.hash

@@ -1,5 +1,8 @@
-# From https://github.com/rafaelsteil/libcgi/releases/download/v1.1/libcgi-1.1.tar.gz.sha256sum
-sha256  128445f2f828e84905d51bd53d11e2e08c489df3a07225ff9f198c1318092fe6  libcgi-1.1.tar.gz
+# From https://github.com/rafaelsteil/libcgi/releases/download/v1.3.0/libcgi-1.3.0.tar.gz.md5
+md5 6efdc968bdf986832b7e220d1b914e57  libcgi-1.3.0.tar.gz
+# From https://github.com/rafaelsteil/libcgi/releases/download/v1.3.0/libcgi-1.3.0.tar.gz.sha256
+sha256  d932f380b1a5dbfbddffaa76fac71bf505a9585d441c9ae86bfbf76033d9d8df  libcgi-1.3.0.tar.gz
 
 
 # Hash for license file:
 # Hash for license file:
-sha256  dc626520dcd53a22f727af3ee42c770e56c97a64fe3adb063799d8ab032fe551  COPYING
+sha256  dc626520dcd53a22f727af3ee42c770e56c97a64fe3adb063799d8ab032fe551  LICENSES/LGPL-2.1.txt
+sha256  f32c31e26ec840753a8cd47cd2681e48be4cee853212d16a4b1d85ac4d677669  LICENSES/MIT.txt

+ 3 - 3
package/libcgi/libcgi.mk

@@ -4,11 +4,11 @@
 #
 #
 ################################################################################
 ################################################################################
 
 
-LIBCGI_VERSION = 1.1
+LIBCGI_VERSION = 1.3.0
 LIBCGI_SITE = https://github.com/rafaelsteil/libcgi/releases/download/v$(LIBCGI_VERSION)
 LIBCGI_SITE = https://github.com/rafaelsteil/libcgi/releases/download/v$(LIBCGI_VERSION)
 
 
 LIBCGI_INSTALL_STAGING = YES
 LIBCGI_INSTALL_STAGING = YES
-LIBCGI_LICENSE = LGPL-2.1+
-LIBCGI_LICENSE_FILES = COPYING
+LIBCGI_LICENSE = LGPL-2.1+, MIT (base64.c)
+LIBCGI_LICENSE_FILES = LICENSES/LGPL-2.1.txt LICENSES/MIT.txt
 
 
 $(eval $(cmake-package))
 $(eval $(cmake-package))

+ 2 - 4
package/libcurl/libcurl.hash

@@ -1,5 +1,3 @@
-# Locally calculated after checking pgp signature
-# https://curl.haxx.se/download/curl-7.66.0.tar.xz.asc
-# with key 27EDEAF22F3ABCEB50DB9A125CC908FDB71E12C2
-sha256 dbb48088193016d079b97c5c3efde8efa56ada2ebf336e8a97d04eb8e2ed98c1  curl-7.66.0.tar.xz
+# Locally calculated
+sha256 f5d2e7320379338c3952dcc7566a140abb49edb575f9f99272455785c40e536c  curl-7.67.0.tar.xz
 sha256 8c8824f50e73a021f5dde1fccbf69685939247399a33a32abab1fa448c9ddabb  COPYING
 sha256 8c8824f50e73a021f5dde1fccbf69685939247399a33a32abab1fa448c9ddabb  COPYING

+ 1 - 1
package/libcurl/libcurl.mk

@@ -4,7 +4,7 @@
 #
 #
 ################################################################################
 ################################################################################
 
 
-LIBCURL_VERSION = 7.66.0
+LIBCURL_VERSION = 7.67.0
 LIBCURL_SOURCE = curl-$(LIBCURL_VERSION).tar.xz
 LIBCURL_SOURCE = curl-$(LIBCURL_VERSION).tar.xz
 LIBCURL_SITE = https://curl.haxx.se/download
 LIBCURL_SITE = https://curl.haxx.se/download
 LIBCURL_DEPENDENCIES = host-pkgconf \
 LIBCURL_DEPENDENCIES = host-pkgconf \

+ 1 - 1
package/libedit/libedit.hash

@@ -1,3 +1,3 @@
 # Locally computed
 # Locally computed
-sha256 c41bea8fd140fb57ba67a98ec1d8ae0b8ffa82f4aba9c35a87e5a9499e653116 libedit-20180525-3.1.tar.gz
+sha256 ac8f0f51c1cf65492e4d1e3ed2be360bda41e54633444666422fbf393bba1bae libedit-20190324-3.1.tar.gz
 sha256 9da6c9c74987a36c84302982799d17d2f748ba1c1c0c471425716173c1d07649 COPYING
 sha256 9da6c9c74987a36c84302982799d17d2f748ba1c1c0c471425716173c1d07649 COPYING

+ 1 - 1
package/libedit/libedit.mk

@@ -4,7 +4,7 @@
 #
 #
 ################################################################################
 ################################################################################
 
 
-LIBEDIT_VERSION = 20180525-3.1
+LIBEDIT_VERSION = 20190324-3.1
 LIBEDIT_SITE = http://www.thrysoee.dk/editline
 LIBEDIT_SITE = http://www.thrysoee.dk/editline
 LIBEDIT_INSTALL_STAGING = YES
 LIBEDIT_INSTALL_STAGING = YES
 LIBEDIT_DEPENDENCIES = ncurses
 LIBEDIT_DEPENDENCIES = ncurses

+ 2 - 2
package/libffi/libffi.hash

@@ -1,4 +1,4 @@
 # Locally calculated
 # Locally calculated
-sha256	db41cfb9ec8052fcd116a94c12237303c4447af4844d50e4fea7163661e31743  libffi-3.3-rc0.tar.gz
+sha256	3f2f86094f5cf4c36cfe850d2fe029d01f5c2c2296619407c8ba0d8207da9a6b  libffi-3.3.tar.gz
 # License files, locally calculated
 # License files, locally calculated
-sha256	0f4d7a0bfb83c37465d42dc305f124189196cc0cc2cc8d6f8461103682aebbc5  LICENSE
+sha256	deaf3a42effb551a5b140fa9afefed183a27f1341c6d1bf430d106a5e6931fc0  LICENSE

+ 1 - 1
package/libffi/libffi.mk

@@ -4,7 +4,7 @@
 #
 #
 ################################################################################
 ################################################################################
 
 
-LIBFFI_VERSION = 3.3-rc0
+LIBFFI_VERSION = 3.3
 LIBFFI_SITE = $(call github,libffi,libffi,v$(LIBFFI_VERSION))
 LIBFFI_SITE = $(call github,libffi,libffi,v$(LIBFFI_VERSION))
 LIBFFI_LICENSE = MIT
 LIBFFI_LICENSE = MIT
 LIBFFI_LICENSE_FILES = LICENSE
 LIBFFI_LICENSE_FILES = LICENSE

+ 0 - 94
package/libglib2/0002-add-option-to-build-tests.patch

@@ -1,94 +0,0 @@
-From cdccbc6ec36243463613cb32d7058c26c3c51e16 Mon Sep 17 00:00:00 2001
-From: Adam Duskett <Aduskett@gmail.com>
-Date: Wed, 18 Sep 2019 09:50:00 -0700
-Subject: [PATCH] add option to build tests.
-
-Upstream won't build tests when cross-compiling. However; this means still
-building the tests during a host build. Building the tests causes build
-failures on older distributions such as CentOS 6 and Debian 7 because the
-command `objcopy --add-symbol` is used when building the test
-"test_resources2," which is not available with the older version of objcopy
-provided by the distributions.
-
-Instead, add the option 'tests' which when set to false, enforces not
-building any tests, even when building the host variant.
-
-Signed-off-by: Adam Duskett <Aduskett@gmail.com>
----
- gio/meson.build       |  1 -
- glib/meson.build      |  3 +-
- gobject/meson.build   |  1 -
- meson.build           |  2 +-
- meson_options.txt     |  5 +++++
- 5 files changed, 6 insertions(+), 5 deletions(-)
-
-diff --git a/gio/meson.build b/gio/meson.build
-index 9a9e621..6adc014 100644
---- a/gio/meson.build
-+++ b/gio/meson.build
-@@ -1010,7 +1010,6 @@ endif
- 
- subdir('fam')
- # Don’t build the tests unless we can run them (either natively or in an exe wrapper)
--build_tests = not meson.is_cross_build() or (meson.is_cross_build() and meson.has_exe_wrapper())
- if build_tests
-     subdir('tests')
- endif
-diff --git a/glib/meson.build b/glib/meson.build
-index 91a48f1..230d562 100644
---- a/glib/meson.build
-+++ b/glib/meson.build
-@@ -458,8 +458,7 @@ if enable_systemtap
-   )
- endif
- 
--# Don’t build the tests unless we can run them (either natively or in an exe wrapper)
--build_tests = not meson.is_cross_build() or (meson.is_cross_build() and meson.has_exe_wrapper())
-+build_tests = get_option('tests')
- if build_tests
-   subdir('tests')
- endif
-diff --git a/gobject/meson.build b/gobject/meson.build
-index c7805c5..fb5874d 100644
---- a/gobject/meson.build
-+++ b/gobject/meson.build
-@@ -166,7 +166,6 @@ if enable_systemtap
- endif
- 
- # Don’t build the tests unless we can run them (either natively or in an exe wrapper)
--build_tests = not meson.is_cross_build() or (meson.is_cross_build() and meson.has_exe_wrapper())
- if build_tests
-   subdir('tests')
- endif
-diff --git a/meson.build b/meson.build
-index 717d1bc..3124f28 100644
---- a/meson.build
-+++ b/meson.build
-@@ -2098,7 +2098,7 @@ subdir('gmodule')
- subdir('gio')
- subdir('fuzzing')
- # Don’t build the tests unless we can run them (either natively or in an exe wrapper)
--build_tests = not meson.is_cross_build() or (meson.is_cross_build() and meson.has_exe_wrapper())
-+build_tests = get_option('tests')
- if build_tests
-   subdir('tests')
- endif
-diff --git a/meson_options.txt b/meson_options.txt
-index 2c831e3..90468a7 100644
---- a/meson_options.txt
-+++ b/meson_options.txt
-@@ -90,6 +90,11 @@ option('nls',
-        yield: true,
-        description : 'Enable native language support (translations)')
- 
-+option('tests',
-+       type : 'boolean',
-+       value : false,
-+       description : 'Build tests')
-+
- option('oss_fuzz',
-        type : 'feature',
-        value : 'disabled',
--- 
-2.21.0
-

+ 37 - 0
package/libglib2/0002-allow-explicit-disabling-of-tests.patch

@@ -0,0 +1,37 @@
+From cdccbc6ec36243463613cb32d7058c26c3c51e16 Mon Sep 17 00:00:00 2001
+From: Adam Duskett <Aduskett@gmail.com>
+Date: Wed, 18 Sep 2019 09:50:00 -0700
+Subject: [PATCH] allow explicit disabling of tests
+
+Upstream won't build tests when cross-compiling. However; this means still
+building the tests during a host build. Building the tests causes build
+failures on older distributions such as CentOS 6 and Debian 7 because the
+command `objcopy --add-symbol` is used when building the test
+"test_resources2," which is not available with the older version of objcopy
+provided by the distributions.
+
+Instead, remove the conditional checks which set build_tests and only check if
+installed_tests_enabled is passed.
+
+Signed-off-by: Adam Duskett <Aduskett@gmail.com>
+Refresh for 2.62.2
+---
+ meson.build | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/meson.build b/meson.build
+index 99806d0..3206603 100644
+--- a/meson.build
++++ b/meson.build
+@@ -77,7 +77,7 @@ installed_tests_template = files('template.test.in')
+ installed_tests_template_tap = files('template-tap.test.in')
+ 
+ # Don’t build the tests unless we can run them (either natively, in an exe wrapper, or by installing them for later use)
+-build_tests = not meson.is_cross_build() or (meson.is_cross_build() and meson.has_exe_wrapper()) or installed_tests_enabled
++build_tests = installed_tests_enabled
+ 
+ add_project_arguments('-D_GNU_SOURCE', language: 'c')
+ 
+-- 
+2.23.0
+

+ 12 - 18
package/libglib2/0003-remove-cpp-requirement.patch

@@ -12,9 +12,9 @@ Upstream status: Denied (Buildroot specific)
 https://gitlab.gnome.org/GNOME/glib/issues/1748
 https://gitlab.gnome.org/GNOME/glib/issues/1748
 ---
 ---
  glib/glibconfig.h.in |  1 -
  glib/glibconfig.h.in |  1 -
- meson.build          | 18 +-----------------
+ meson.build          | 16 ----------------
  tests/meson.build    |  5 -----
  tests/meson.build    |  5 -----
- 3 files changed, 1 insertion(+), 23 deletions(-)
+ 3 files changed, 22 deletions(-)
 
 
 diff --git a/glib/glibconfig.h.in b/glib/glibconfig.h.in
 diff --git a/glib/glibconfig.h.in b/glib/glibconfig.h.in
 index 7ef8c48..128e65d 100644
 index 7ef8c48..128e65d 100644
@@ -29,15 +29,9 @@ index 7ef8c48..128e65d 100644
  /* gcc-2.95.x supports both gnu style and ISO varargs, but if -ansi
  /* gcc-2.95.x supports both gnu style and ISO varargs, but if -ansi
   * is passed ISO vararg support is turned off, and there is no work
   * is passed ISO vararg support is turned off, and there is no work
 diff --git a/meson.build b/meson.build
 diff --git a/meson.build b/meson.build
-index 3124f28..642afb8 100644
+index 83774d0..99806d0 100644
 --- a/meson.build
 --- a/meson.build
 +++ b/meson.build
 +++ b/meson.build
-@@ -1,4 +1,4 @@
--project('glib', 'c', 'cpp',
-+project('glib', 'c',
-   version : '2.62.0',
-   # NOTE: We keep this pinned at 0.49 because that's what Debian 10 ships
-   meson_version : '>= 0.49.2',
 @@ -10,7 +10,6 @@ project('glib', 'c', 'cpp',
 @@ -10,7 +10,6 @@ project('glib', 'c', 'cpp',
  )
  )
  
  
@@ -46,7 +40,7 @@ index 3124f28..642afb8 100644
  
  
  cc_can_run = not meson.is_cross_build() or meson.has_exe_wrapper()
  cc_can_run = not meson.is_cross_build() or meson.has_exe_wrapper()
  
  
-@@ -1487,20 +1486,6 @@ if g_have_iso_c_varargs
+@@ -1490,20 +1489,6 @@ if g_have_iso_c_varargs
  #endif''')
  #endif''')
  endif
  endif
  
  
@@ -67,21 +61,21 @@ index 3124f28..642afb8 100644
  g_have_gnuc_varargs = cc.compiles('''
  g_have_gnuc_varargs = cc.compiles('''
    void some_func (void) {
    void some_func (void) {
      int a(int p1, int p2, int p3);
      int a(int p1, int p2, int p3);
-@@ -2096,7 +2081,6 @@ subdir('gobject')
+@@ -2101,7 +2086,6 @@ subdir('gobject')
  subdir('gthread')
  subdir('gthread')
  subdir('gmodule')
  subdir('gmodule')
  subdir('gio')
  subdir('gio')
 -subdir('fuzzing')
 -subdir('fuzzing')
- # Don’t build the tests unless we can run them (either natively or in an exe wrapper)
- build_tests = get_option('tests')
  if build_tests
  if build_tests
+   subdir('tests')
+ endif
 diff --git a/tests/meson.build b/tests/meson.build
 diff --git a/tests/meson.build b/tests/meson.build
-index ce30442..2b31427 100644
+index e4ea226..7fd974c 100644
 --- a/tests/meson.build
 --- a/tests/meson.build
 +++ b/tests/meson.build
 +++ b/tests/meson.build
-@@ -48,11 +48,6 @@ tests = {
-     'dependencies' : [libgmodule_dep],
-     'export_dynamic' : true,
+@@ -56,11 +56,6 @@ tests = {
+     'source': 'module-test.c',
+     'c_args': ['-DMODULE_TYPE="plugin"'],
    },
    },
 -  'cxx-test' : {
 -  'cxx-test' : {
 -    'source' : 'cxx-test.cpp',
 -    'source' : 'cxx-test.cpp',
@@ -92,5 +86,5 @@ index ce30442..2b31427 100644
  
  
  test_extra_programs = {
  test_extra_programs = {
 -- 
 -- 
-2.21.0
+2.23.0
 
 

部分文件因文件數量過多而無法顯示