summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAVazquez <avazquez.dev@gmail.com>2020-11-16 12:41:21 +0100
committerMichael Olbrich <m.olbrich@pengutronix.de>2020-11-20 08:59:10 +0100
commitb5515256f0b1c49c28a2939a15e6b5401c78efc1 (patch)
tree209255cb7278bac80b3575583fb5e4f820fde6e4
parent7be962ef8bf80145b57df5e4f5a8091e8f292f29 (diff)
downloadptxdist-b5515256f0b1c49c28a2939a15e6b5401c78efc1.tar.gz
ptxdist-b5515256f0b1c49c28a2939a15e6b5401c78efc1.tar.xz
ptxd_make_fit_image: Add support for kernel load/entry addresses
Make it possible to specify load/entry addresses for the kernel. These are required by the FIT image specification, but in some cases users may not want to include them, so they are made optional. Also add mandatory "os" property for kernel and ramdisk. Signed-off-by: AVazquez <avazquez.dev@gmail.com> Message-Id: <1605526881-13215-1-git-send-email-avazquez.dev@gmail.com> Signed-off-by: Michael Olbrich <m.olbrich@pengutronix.de>
-rw-r--r--platforms/kernel-fit.in12
-rw-r--r--scripts/lib/ptxd_make_fit_image.sh14
2 files changed, 26 insertions, 0 deletions
diff --git a/platforms/kernel-fit.in b/platforms/kernel-fit.in
index 8cbc1a85a..9585ce64a 100644
--- a/platforms/kernel-fit.in
+++ b/platforms/kernel-fit.in
@@ -17,6 +17,18 @@ menuconfig KERNEL_FIT
if KERNEL_FIT
+config KERNEL_FIT_LOAD
+ string
+ prompt "Kernel load address (optional)"
+ help
+ Required by most bootloaders. Optional for Barebox.
+
+config KERNEL_FIT_ENTRY
+ string
+ prompt "Kernel entry address (optional)"
+ help
+ Required by most bootloaders. Optional for Barebox.
+
config KERNEL_FIT_SIGNED
bool
prompt "sign FIT image"
diff --git a/scripts/lib/ptxd_make_fit_image.sh b/scripts/lib/ptxd_make_fit_image.sh
index 9754d1e84..af535665d 100644
--- a/scripts/lib/ptxd_make_fit_image.sh
+++ b/scripts/lib/ptxd_make_fit_image.sh
@@ -21,7 +21,20 @@ ptxd_make_image_fit_its() {
data = /incbin/("${image_kernel}");
type = "kernel";
arch = "$(ptxd_get_ptxconf PTXCONF_ARCH_STRING)";
+ os = "linux";
compression = "none";
+EOF
+ if [ -n "$(ptxd_get_ptxconf PTXCONF_KERNEL_FIT_LOAD)" ]; then
+ cat << EOF
+ load = <$(ptxd_get_ptxconf PTXCONF_KERNEL_FIT_LOAD)>;
+EOF
+ fi
+ if [ -n "$(ptxd_get_ptxconf PTXCONF_KERNEL_FIT_ENTRY)" ]; then
+ cat << EOF
+ entry = <$(ptxd_get_ptxconf PTXCONF_KERNEL_FIT_ENTRY)>;
+EOF
+ fi
+ cat << EOF
hash-1 {
algo = "sha256";
};
@@ -33,6 +46,7 @@ EOF
description = "initramfs";
data = /incbin/("${image_initramfs}");
type = "ramdisk";
+ os = "linux";
compression = "none";
hash-1 {
algo = "sha256";