diff mbox series

[v1,1/1] package/bootgen: add bootgen host package

Message ID 20221022082645.20505-1-neal.frager@amd.com
State Superseded, archived
Headers show
Series [v1,1/1] package/bootgen: add bootgen host package | expand

Commit Message

Neal Frager Oct. 22, 2022, 8:26 a.m. UTC
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 <neal.frager@amd.com>
---
 DEVELOPERS                     |  1 +
 package/Config.in.host         |  1 +
 package/bootgen/Config.in.host | 10 ++++++++++
 package/bootgen/bootgen.mk     | 24 ++++++++++++++++++++++++
 4 files changed, 36 insertions(+)
 create mode 100644 package/bootgen/Config.in.host
 create mode 100644 package/bootgen/bootgen.mk

Comments

Aaltonen Eero Oct. 25, 2022, 2:57 p.m. UTC | #1
On Sat, 2022-10-22 at 02:26 -0600, Neal Frager via buildroot wrote:
> 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.

AFAIU, this should also have a bootgen.hash file
https://nightly.buildroot.org/#adding-packages-hash
yegorslists--- via buildroot Oct. 25, 2022, 3 p.m. UTC | #2
Hi Eero,


> Le 25 oct. 2022 à 16:57, Aaltonen Eero <eero.aaltonen@vaisala.com> a écrit :
> 
> On Sat, 2022-10-22 at 02:26 -0600, Neal Frager via buildroot wrote:
>> 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.
> 
> AFAIU, this should also have a bootgen.hash file
> https://nightly.buildroot.org/#adding-packages-hash
> 
> -- 
> Regards,
> Eero

Yes, this is superseded with v2 of the patch which has a hash file.  Thank you for your feedback.

Best regards,
Neal Frager
AMD
diff mbox series

Patch

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 <nicola.dilieto@gmail.com>
 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.mk b/package/bootgen/bootgen.mk
new file mode 100644
index 0000000000..8ba91918f7
--- /dev/null
+++ b/package/bootgen/bootgen.mk
@@ -0,0 +1,24 @@ 
+################################################################################
+#
+# bootgen
+#
+################################################################################
+
+BOOTGEN_VERSION = xilinx_v2022.2
+BOOTGEN_SITE = $(call github,Xilinx,bootgen,$(BOOTGEN_VERSION))
+HOST_BOOTGEN_DEPENDENCIES = host-openssl
+BOOTGEN_LICENSE = Apache-2.0
+BOOTGEN_LICENSE_FILES = LICENSE
+
+BOOTGEN_EXTRA_CFLAGS = "LIBS=$(HOST_DIR)/lib/libssl.a $(HOST_DIR)/lib/libcrypto.a -ldl -lpthread"
+BOOTGEN_EXTRA_CFLAGS += "INCLUDE_USER=-I$(HOST_DIR)/include/openssl"
+
+define HOST_BOOTGEN_BUILD_CMDS
+	$(HOST_MAKE_ENV) $(MAKE) $(BOOTGEN_EXTRA_CFLAGS) -C $(@D)
+endef
+
+define HOST_BOOTGEN_INSTALL_CMDS
+	$(INSTALL) -m 0755 -D $(@D)/bootgen $(HOST_DIR)/bin/bootgen
+endef
+
+$(eval $(host-generic-package))