Re: [ptxdist] [PATCH v2] ptxd_make_fit_image: Add support for kernel load/entry addresses

2020-11-13 Thread Roland Hieber
On Fri, Nov 13, 2020 at 09:46:47AM +0100, Michael Olbrich wrote:
> On Wed, Nov 11, 2020 at 04:23:39PM +0100, avazquez@gmail.com wrote:
> > diff --git a/scripts/lib/ptxd_make_fit_image.sh 
> > b/scripts/lib/ptxd_make_fit_image.sh
> > index 9754d1e..1edf5c5 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";
> 
> Sascha, setting this is ok for barebox, right?
> 
> > compression = "none";
> > +EOF
> > +   if [ -n "$(ptxd_get_ptxconf PTXCONF_KERNEL_FIT_LOAD)" 
> > ]; then
> > +   cat << EOF
> 
> The code should be indented to align with the code above.
> 
> if [ ... ]; then
>   cat << EOF
> 
> I think.

You can also use the <<- operator here instead to strip all leading tabs
from the here-document, so the ending EOF can be indented as well and
doesn't disturb the reading. It's even specified for POSIX sh too [1] :)
So:

if [ ... ]; then
cat <<-EOF
load = <$(ptxd_get_ptxconf PTXCONF_KERNEL_FIT_LOAD)>;
EOF
fi

[1]: 
https://pubs.opengroup.org/onlinepubs/9699919799/utilities/V3_chap02.html#tag_18_07_04

 - Roland


> > +   load = <$(ptxd_get_ptxconf PTXCONF_KERNEL_FIT_LOAD)>;
> > +EOF
> > +   fi
> > +   if [ -n "$(ptxd_get_ptxconf PTXCONF_KERNEL_FIT_ENTRY)" 
> > ]; then
> > +   cat << EOF
> 
> same here.
> 
> Michael
> 
> > +   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";

-- 
Roland Hieber, Pengutronix e.K.  | r.hie...@pengutronix.de |
Steuerwalder Str. 21 | https://www.pengutronix.de/ |
31137 Hildesheim, Germany| Phone: +49-5121-206917-0|
Amtsgericht Hildesheim, HRA 2686 | Fax:   +49-5121-206917- |

___
ptxdist mailing list
ptxdist@pengutronix.de
To unsubscribe, send a mail with subject "unsubscribe" to 
ptxdist-requ...@pengutronix.de


Re: [ptxdist] [PATCH v2] ptxd_make_fit_image: Add support for kernel load/entry addresses

2020-11-13 Thread Sascha Hauer
On Fri, Nov 13, 2020 at 09:46:47AM +0100, Michael Olbrich wrote:
> On Wed, Nov 11, 2020 at 04:23:39PM +0100, avazquez@gmail.com wrote:
> > From: AVazquez 
> > 
> > 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 
> > ---
> > Changes since v1:
> > - load/entry addresses made optional 
> > 
> >  platforms/kernel-fit.in|  8 
> >  scripts/lib/ptxd_make_fit_image.sh | 14 ++
> >  2 files changed, 22 insertions(+)
> > 
> > diff --git a/platforms/kernel-fit.in b/platforms/kernel-fit.in
> > index 8cbc1a8..b5f9da6 100644
> > --- a/platforms/kernel-fit.in
> > +++ b/platforms/kernel-fit.in
> > @@ -17,6 +17,14 @@ menuconfig KERNEL_FIT
> >  
> >  if KERNEL_FIT
> >  
> > +config KERNEL_FIT_LOAD
> > +   string
> > +   prompt "Kernel load address (optional)"
> 
> I'd like some help text here to clarify when this is needed. From what I
> understand from the discussion, u-boots requires this, right?
> But barebox does not? Never, or does it depend on the kernel image type?

Until recently barebox completely ignored this option, but now barebox
will honor them when they exist. This means that once you add the kernel
load address the FIT image will only be usable on SoCs/boards which have
free memory on that address.

On U-Boot this option is mandatory.

> 
> Sascha, can you help here?
> 
> > +
> > +config KERNEL_FIT_ENTRY
> > +   string
> > +   prompt "Kernel entry address (optional)"
> 
> The same here.
> 
> > +
> >  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 9754d1e..1edf5c5 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";
> 
> Sascha, setting this is ok for barebox, right?

Yes, barebox ignores it.

Sascha

-- 
Pengutronix e.K.   | |
Steuerwalder Str. 21   | http://www.pengutronix.de/  |
31137 Hildesheim, Germany  | Phone: +49-5121-206917-0|
Amtsgericht Hildesheim, HRA 2686   | Fax:   +49-5121-206917- |

___
ptxdist mailing list
ptxdist@pengutronix.de
To unsubscribe, send a mail with subject "unsubscribe" to 
ptxdist-requ...@pengutronix.de


Re: [ptxdist] [PATCH v2] ptxd_make_fit_image: Add support for kernel load/entry addresses

2020-11-13 Thread Guillermo Rodriguez Garcia
Hi Michael,

El vie., 13 nov. 2020 a las 9:46, Michael Olbrich
() escribió:
>
> On Wed, Nov 11, 2020 at 04:23:39PM +0100, avazquez@gmail.com wrote:
> > From: AVazquez 
> >
> > 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 
> > ---
> > Changes since v1:
> > - load/entry addresses made optional
> >
> >  platforms/kernel-fit.in|  8 
> >  scripts/lib/ptxd_make_fit_image.sh | 14 ++
> >  2 files changed, 22 insertions(+)
> >
> > diff --git a/platforms/kernel-fit.in b/platforms/kernel-fit.in
> > index 8cbc1a8..b5f9da6 100644
> > --- a/platforms/kernel-fit.in
> > +++ b/platforms/kernel-fit.in
> > @@ -17,6 +17,14 @@ menuconfig KERNEL_FIT
> >
> >  if KERNEL_FIT
> >
> > +config KERNEL_FIT_LOAD
> > + string
> > + prompt "Kernel load address (optional)"
>
> I'd like some help text here to clarify when this is needed. From what I
> understand from the discussion, u-boots requires this, right?
> But barebox does not? Never, or does it depend on the kernel image type?

According to the FIT image specification, the "load" and "entry"
properties are mandatory for the "kernel" node. See:
https://gitlab.denx.de/u-boot/u-boot/-/blob/master/doc/uImage.FIT/source_file_format.txt#L181
So for a valid FIT image these properties should always be present.
However according to Sascha, Barebox does not enforce this (and
actually ignores the properties even if they are present?).
U-boot certainly requires them.

Guillermo

>
> Sascha, can you help here?
>
> > +
> > +config KERNEL_FIT_ENTRY
> > + string
> > + prompt "Kernel entry address (optional)"
>
> The same here.
>
> > +
> >  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 9754d1e..1edf5c5 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";
>
> Sascha, setting this is ok for barebox, right?
>
> >   compression = "none";
> > +EOF
> > + if [ -n "$(ptxd_get_ptxconf PTXCONF_KERNEL_FIT_LOAD)" 
> > ]; then
> > + cat << EOF
>
> The code should be indented to align with the code above.
>
> if [ ... ]; then
> cat << EOF
>
> I think.
>
> > + load = <$(ptxd_get_ptxconf PTXCONF_KERNEL_FIT_LOAD)>;
> > +EOF
> > + fi
> > + if [ -n "$(ptxd_get_ptxconf 
> > PTXCONF_KERNEL_FIT_ENTRY)" ]; then
> > + cat << EOF
>
> same here.
>
> Michael
>
> > + 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";
> > --
> > 1.9.1
> >
> >
> > ___
> > ptxdist mailing list
> > ptxdist@pengutronix.de
> > To unsubscribe, send a mail with subject "unsubscribe" to 
> > ptxdist-requ...@pengutronix.de
> >
>
> ___
> ptxdist mailing list
> ptxdist@pengutronix.de
> To unsubscribe, send a mail with subject "unsubscribe" to 
> ptxdist-requ...@pengutronix.de



-- 
Guillermo Rodriguez Garcia
guille.rodrig...@gmail.com

___
ptxdist mailing list
ptxdist@pengutronix.de
To unsubscribe, send a mail with subject "unsubscribe" to 
ptxdist-requ...@pengutronix.de


Re: [ptxdist] [PATCH v2] ptxd_make_fit_image: Add support for kernel load/entry addresses

2020-11-13 Thread Michael Olbrich
On Wed, Nov 11, 2020 at 04:23:39PM +0100, avazquez@gmail.com wrote:
> From: AVazquez 
> 
> 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 
> ---
> Changes since v1:
> - load/entry addresses made optional 
> 
>  platforms/kernel-fit.in|  8 
>  scripts/lib/ptxd_make_fit_image.sh | 14 ++
>  2 files changed, 22 insertions(+)
> 
> diff --git a/platforms/kernel-fit.in b/platforms/kernel-fit.in
> index 8cbc1a8..b5f9da6 100644
> --- a/platforms/kernel-fit.in
> +++ b/platforms/kernel-fit.in
> @@ -17,6 +17,14 @@ menuconfig KERNEL_FIT
>  
>  if KERNEL_FIT
>  
> +config KERNEL_FIT_LOAD
> + string
> + prompt "Kernel load address (optional)"

I'd like some help text here to clarify when this is needed. From what I
understand from the discussion, u-boots requires this, right?
But barebox does not? Never, or does it depend on the kernel image type?

Sascha, can you help here?

> +
> +config KERNEL_FIT_ENTRY
> + string
> + prompt "Kernel entry address (optional)"

The same here.

> +
>  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 9754d1e..1edf5c5 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";

Sascha, setting this is ok for barebox, right?

>   compression = "none";
> +EOF
> + if [ -n "$(ptxd_get_ptxconf PTXCONF_KERNEL_FIT_LOAD)" 
> ]; then
> + cat << EOF

The code should be indented to align with the code above.

if [ ... ]; then
cat << EOF

I think.

> + load = <$(ptxd_get_ptxconf PTXCONF_KERNEL_FIT_LOAD)>;
> +EOF
> + fi
> + if [ -n "$(ptxd_get_ptxconf PTXCONF_KERNEL_FIT_ENTRY)" 
> ]; then
> + cat << EOF

same here.

Michael

> + 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";
> -- 
> 1.9.1
> 
> 
> ___
> ptxdist mailing list
> ptxdist@pengutronix.de
> To unsubscribe, send a mail with subject "unsubscribe" to 
> ptxdist-requ...@pengutronix.de
> 

___
ptxdist mailing list
ptxdist@pengutronix.de
To unsubscribe, send a mail with subject "unsubscribe" to 
ptxdist-requ...@pengutronix.de


[ptxdist] [PATCH v2] ptxd_make_fit_image: Add support for kernel load/entry addresses

2020-11-11 Thread avazquez . dev
From: AVazquez 

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 
---
Changes since v1:
- load/entry addresses made optional 

 platforms/kernel-fit.in|  8 
 scripts/lib/ptxd_make_fit_image.sh | 14 ++
 2 files changed, 22 insertions(+)

diff --git a/platforms/kernel-fit.in b/platforms/kernel-fit.in
index 8cbc1a8..b5f9da6 100644
--- a/platforms/kernel-fit.in
+++ b/platforms/kernel-fit.in
@@ -17,6 +17,14 @@ menuconfig KERNEL_FIT
 
 if KERNEL_FIT
 
+config KERNEL_FIT_LOAD
+   string
+   prompt "Kernel load address (optional)"
+
+config KERNEL_FIT_ENTRY
+   string
+   prompt "Kernel entry address (optional)"
+
 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 9754d1e..1edf5c5 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";
-- 
1.9.1


___
ptxdist mailing list
ptxdist@pengutronix.de
To unsubscribe, send a mail with subject "unsubscribe" to 
ptxdist-requ...@pengutronix.de