From 08a0dea25f4e92ac5aa474876f706ddb9452fe2b Mon Sep 17 00:00:00 2001 From: Neal Frager Date: Sat, 22 Oct 2022 05:22:43 -0600 Subject: [PATCH] package/bootgen: add bootgen host package This patch adds Xilinx bootgen as a host package to buildroot. bootgen is a required utility for generating a boot.bin for Xilinx versal products. In addition, for developers who wish to use secure boot with Xilinx SoC products such as zynq and zynqmp, bootgen has a more complete offering in secure boot features than the u-boot mkimage utility. https://github.com/Xilinx/bootgen Signed-off-by: Neal Frager Signed-off-by: Peter Korsgaard --- DEVELOPERS | 1 + package/Config.in.host | 1 + package/bootgen/Config.in.host | 10 ++++++++++ package/bootgen/bootgen.hash | 3 +++ package/bootgen/bootgen.mk | 25 +++++++++++++++++++++++++ 5 files changed, 40 insertions(+) create mode 100644 package/bootgen/Config.in.host create mode 100644 package/bootgen/bootgen.hash create mode 100644 package/bootgen/bootgen.mk diff --git a/DEVELOPERS b/DEVELOPERS index c0e6f8bbef..c8183b2290 100644 --- a/DEVELOPERS +++ b/DEVELOPERS @@ -2175,6 +2175,7 @@ F: configs/zynq_zc706_defconfig F: configs/zynqmp_zcu102_defconfig F: configs/zynqmp_zcu106_defconfig F: configs/zynqmp_kria_kv260_defconfig +F: package/bootgen N: Nicola Di Lieto F: package/uacme/ diff --git a/package/Config.in.host b/package/Config.in.host index d6b9ee0e2d..8ccbf40a84 100644 --- a/package/Config.in.host +++ b/package/Config.in.host @@ -7,6 +7,7 @@ menu "Host utilities" source "package/asn1c/Config.in.host" source "package/babeltrace2/Config.in.host" source "package/bmap-tools/Config.in.host" + source "package/bootgen/Config.in.host" source "package/btrfs-progs/Config.in.host" source "package/cbootimage/Config.in.host" source "package/checkpolicy/Config.in.host" diff --git a/package/bootgen/Config.in.host b/package/bootgen/Config.in.host new file mode 100644 index 0000000000..0acb58dee0 --- /dev/null +++ b/package/bootgen/Config.in.host @@ -0,0 +1,10 @@ +config BR2_PACKAGE_HOST_BOOTGEN + bool "host bootgen" + help + bootgen is a tool to generate a boot.bin firmware + for Xilinx versal, zynqmp and zynq product families. + + Additional secure boot features are supported beyond + what is included with u-boot mkimage. + + https://github.com/Xilinx/bootgen diff --git a/package/bootgen/bootgen.hash b/package/bootgen/bootgen.hash new file mode 100644 index 0000000000..5d77c164f3 --- /dev/null +++ b/package/bootgen/bootgen.hash @@ -0,0 +1,3 @@ +# Locally calculated +sha256 7e07c75aa3e3965c8e33faefde037877f78130451cebc2056b096db9c66acbb3 bootgen-xilinx_v2022.2.tar.gz +sha256 4da5f5eff0592e5d275f1871faf9e9a4fc0f6346027bfb777fa59d0aa6a59aa3 LICENSE diff --git a/package/bootgen/bootgen.mk b/package/bootgen/bootgen.mk new file mode 100644 index 0000000000..88bc73b604 --- /dev/null +++ b/package/bootgen/bootgen.mk @@ -0,0 +1,25 @@ +################################################################################ +# +# bootgen +# +################################################################################ + +BOOTGEN_VERSION = xilinx_v2022.2 +BOOTGEN_SITE = $(call github,Xilinx,bootgen,$(BOOTGEN_VERSION)) +HOST_BOOTGEN_DEPENDENCIES = host-openssl host-pkgconf +BOOTGEN_LICENSE = Apache-2.0 +BOOTGEN_LICENSE_FILES = LICENSE + +define HOST_BOOTGEN_BUILD_CMDS + $(MAKE) $(HOST_CONFIGURE_OPTS) \ + LIBS="`$(HOST_MAKE_ENV) $(PKG_CONFIG_HOST_BINARY) --libs libssl libcrypto`" \ + INCLUDE_USER="`$(HOST_MAKE_ENV) $(PKG_CONFIG_HOST_BINARY) --cflags libssl libcrypto`" \ + CXXFLAGS="$(HOST_CXXFLAGS) -std=c++0x" \ + -C $(@D) +endef + +define HOST_BOOTGEN_INSTALL_CMDS + $(INSTALL) -m 0755 -D $(@D)/bootgen $(HOST_DIR)/bin/bootgen +endef + +$(eval $(host-generic-package))