mail archive of the barebox mailing list
 help / color / mirror / Atom feed
From: Roland Hieber <rhi@pengutronix.de>
To: Maik Otto <m.otto@phytec.de>
Cc: barebox@lists.infradead.org
Subject: Re: [PATCH v3 4/4] Makefile: add creation of signed/encrypted images for imx6, imx7, imx8
Date: Mon, 19 Aug 2019 10:28:28 +0200	[thread overview]
Message-ID: <20190819082828.kzf2ri3uie2fkcfw@pengutronix.de> (raw)
In-Reply-To: <85285ed4-d784-d86a-ce1f-28130dbc5674@phytec.de>

Hi Maik,

Unfortunately your mailer corrupted the patch you sent, see the section
"MUA-SPECIFIC HINTS" in the git-format-patch(1) manpage for tips how to
prevent that (or send the patch with git-send-email, or as attachment).

As far as I can interpret your patch, the approach looks okay to me. I
would first introduce the new make macro in a single patch, and then add
the board support in a separate patch, so backporting and testing gets
easier (in case that was not already what you planned to do anyway :))

I've not yet found the time to clean-up my prototype converting the rest
of the Makefile.imx to macro calls, so if you want, you can pick up that
patch too.

 - Roland


On Thu, Aug 15, 2019 at 04:14:10PM +0200, Maik Otto wrote:
> thank you for your response.
> I have create an example for the patch on basic of Rolands prototype
> If the code  is ok for you, then i will rework the patch and send the
> patch to the mailinglist.
> 
> diff --git a/images/Makefile.imx
> b/images/Makefile.imx                          
> index 42c194b..6ca4db9
> 100644                                                   
> ---
> a/images/Makefile.imx                                                       
> 
> +++
> b/images/Makefile.imx                                                       
> 
> @@ -2,6 +2,24
> @@                                                                
>  # barebox image generation Makefile for i.MX
> images                            
>  #
> +# params: CONFIG symbol, entry point, flash header path string, board
> identifier string
> +define build_imx_habv4img
> =                                                    
> +$(eval                                                                         
> 
> +ifeq ($($(strip $(1))),
> y)                                                     
> +       pblb-y += $(strip
> $(2))                                                 
> +       CFG_$(strip $(2)).pblb.imximg = $(board)/$(strip
> $(3)).imxcfg           
> +       FILE_barebox-$(strip $(4)).img    = $(strip
> $(2)).pblb.imximg           
> +       FILE_barebox-$(strip $(4))-s.img  = $(strip
> $(2)).pblb.simximg          
> +       FILE_barebox-$(strip $(4))-us.img = $(strip
> $(2)).pblb.usimximg         
> +       FILE_barebox-$(strip $(4))-es.img = $(strip
> $(2)).pblb.esimximg         
> +       image-y += barebox-$(strip
> $(4)).img                                    
> +       image-$(CONFIG_HABV4_IMAGE_SIGNED) += barebox-$(strip
> $(4))-s.img       
> +       image-$(CONFIG_HABV4_IMAGE_SIGNED_USB) += barebox-$(strip
> $(4))-us.img  
> +       image-$(CONFIG_HABV4_IMAGE_SIGNED_ENCRYPTED) += barebox-$(strip
> $(4))-es.img
> +endif                                                                          
> 
> +)                                                                              
> 
> +endef                                                                          
> 
> +                                                                               
> 
>  # %.imximg - convert into i.MX
> image                                           
>  #
> ----------------------------------------------------------------             
> 
> 
> @@ -143,10 +161,7 @@ FILE_barebox-tx53-1011.img =
> start_imx53_tx53_1011.pblb.imximg
>  image-$(CONFIG_MACH_TX53) +=
> barebox-tx53-1011.img                             
> 
>  # ----------------------- i.MX6 based boards
> ---------------------------       
> -pblb-$(CONFIG_MACH_REALQ7) +=
> start_imx6_realq7                                
> -CFG_start_imx6_realq7.pblb.imximg =
> $(board)/datamodul-edm-qmx6/flash-header.imxcfg
> -FILE_barebox-datamodul-edm-qmx6.img =
> start_imx6_realq7.pblb.imximg            
> -image-$(CONFIG_MACH_REALQ7) +=
> barebox-datamodul-edm-qmx6.img                  
> +$(call build_imx_habv4img, CONFIG_MACH_REALQ7, start_imx6_realq,
> datamodul-edm-qmx6/flash-header.imxcfg, datamodul-edm-qmx6)
> 
> pblb-$(CONFIG_MACH_GUF_SANTARO) +=
> start_imx6q_guf_santaro                     
> CFG_start_imx6q_guf_santaro.pblb.imximg =
> $(board)/guf-santaro/flash-header.imxcfg
> @@ -423,10 +438,7 @@
> CFG_start_phytec_phycore_imx6qp_som_nand_1gib.pblb.imximg =
> $(board)/phytec-    som-
> FILE_barebox-phytec-phycore-imx6qp-som-nand-1gib.img =
> start_phytec_phycore_imx6qp_som_nand_1gib.pblb.imximg
>  image-$(CONFIG_MACH_PHYTEC_SOM_IMX6) +=
> barebox-phytec-phycore-imx6qp-som-nand-1gib.img
>                                                                                 
> 
> -pblb-$(CONFIG_MACH_PHYTEC_SOM_IMX6) +=
> start_phytec_phycore_imx6q_som_emmc_1gib
> -CFG_start_phytec_phycore_imx6q_som_emmc_1gib.pblb.imximg =
> $(board)/phytec-som-imx6/flash-header-phytec-pcm058-1gib.imxcfg
> -FILE_barebox-phytec-phycore-imx6q-som-emmc-1gib.img =
> start_phytec_phycore_imx6q_som_emmc_1gib.pblb.imximg
> -image-$(CONFIG_MACH_PHYTEC_SOM_IMX6) +=
> barebox-phytec-phycore-imx6q-som-emmc-1gib.img
> +$(call build_imx_habv4img, CONFIG_MACH_PHYTEC_SOM_IMX6,
> start_phytec_phycore_imx6q_som_emmc_1gib,
> phytec-som-imx6/flash-header-phytec-pcm058-1gib,
> phytec-phycore-imx6q-som-emmc-1gib)
> 
> pblb-$(CONFIG_MACH_PHYTEC_SOM_IMX6) +=
> start_phytec_phycore_imx6q_som_emmc_2gib
> CFG_start_phytec_phycore_imx6q_som_emmc_2gib.pblb.imximg =
> $(board)/phytec-som-imx6/flash-header-phytec-pcm058-2gib.imxcfg
> 
> Best regards
> 
> Maik
> 
> Am 05.08.2019 um 17:07 schrieb Roland Hieber:
> > On Mon, Aug 05, 2019 at 02:35:40PM +0200, Roland Hieber wrote:
> >> On Mon, Aug 05, 2019 at 01:02:13PM +0200, Sascha Hauer wrote:
> >>> Hi Maik,
> >>>
> >>> On Thu, Jul 18, 2019 at 10:02:01AM +0200, Maik Otto wrote:
> >>>> add in the images/Makefile.imx the support of building for signed, usb
> >>>> signed and encrypted/signed images for NXP i.MX HABV4
> >>>> support for NXP i.mx6, i.mx7 and i.mx8
> >>>>
> >>>> Signed-off-by: Maik Otto <m.otto@phytec.de>
> >>>> ---
> >>>> Changes in v3:
> >>>>     - nothing
> >>>> Changes in v2:
> >>>>     - was Patch 2/4 in v1
> >>>>     - no dynamic variable, parallel building of different image types now
> >>>> ---
> >>>>  images/Makefile.imx | 322 +++++++++++++++++++++++++++++++++++++++++++++++++++-
> >>>>  1 file changed, 321 insertions(+), 1 deletion(-)
> >>>>
> >>>> diff --git a/images/Makefile.imx b/images/Makefile.imx
> >>>> index 9a7187a..9c70703 100644
> >>>> --- a/images/Makefile.imx
> >>>> +++ b/images/Makefile.imx
> >>>> @@ -147,216 +147,388 @@ pblb-$(CONFIG_MACH_REALQ7) += start_imx6_realq7
> >>>>  CFG_start_imx6_realq7.pblb.imximg = $(board)/datamodul-edm-qmx6/flash-header.imxcfg
> >>>>  FILE_barebox-datamodul-edm-qmx6.img = start_imx6_realq7.pblb.imximg
> >>>>  image-$(CONFIG_MACH_REALQ7) += barebox-datamodul-edm-qmx6.img
> >>>> +FILE_barebox-datamodul-edm-qmx6-s.img = start_imx6_realq7.pblb.simximg
> >>>> +FILE_barebox-datamodul-edm-qmx6-us.img = start_imx6_realq7.pblb.usimximg
> >>>> +FILE_barebox-datamodul-edm-qmx6-es.img = start_imx6_realq7.pblb.esimximg
> >>>> +habv4image-$(CONFIG_MACH_REALQ7) += barebox-datamodul-edm-qmx6
> >>> This file contains way to much boilerplate already for my taste. Adding four
> >>> more lines for every board is not something I like to do.
> >>>
> >>> Can we add even more magic to get rid of these additional lines?
> >> You mean like... (untested)
> > [...]
> >
> > Here's a tested prototype (needed some more eval and strip):
> >
> > ----------------- 8< -----------------
> > diff --git a/images/Makefile.imx b/images/Makefile.imx
> > index 9a7187ac7807..f58c0411871d 100644
> > --- a/images/Makefile.imx
> > +++ b/images/Makefile.imx
> > @@ -2,6 +2,19 @@
> >  # barebox image generation Makefile for i.MX images
> >  #
> >  
> > +# params: CONFIG symbol, entry point, board identifier string
> > +define build_imx_img =
> > +$(eval
> > +pblb-$($(strip $(1))) += $(strip $(2))
> > +CFG_$(strip $(2)).pblb.imximg = $(board)/$(strip $(3))/flash-header.imxcfg
> > +FILE_barebox-$(strip $(3)).img    = $(strip $(2)).pblb.imximg
> > +FILE_barebox-$(strip $(3))-s.img  = $(strip $(2)).pblb.simximg
> > +FILE_barebox-$(strip $(3))-us.img = $(strip $(2)).pblb.usimximg
> > +FILE_barebox-$(strip $(3))-es.img = $(strip $(2)).pblb.esimximg
> > +image-$($(strip $(1))) += barebox-$(strip $(3)).img
> > +)
> > +endef
> > +
> >  # %.imximg - convert into i.MX image
> >  # ----------------------------------------------------------------
> >  
> > @@ -143,15 +156,8 @@ FILE_barebox-tx53-1011.img = start_imx53_tx53_1011.pblb.imximg
> >  image-$(CONFIG_MACH_TX53) += barebox-tx53-1011.img
> >  
> >  # ----------------------- i.MX6 based boards ---------------------------
> > -pblb-$(CONFIG_MACH_REALQ7) += start_imx6_realq7
> > -CFG_start_imx6_realq7.pblb.imximg = $(board)/datamodul-edm-qmx6/flash-header.imxcfg
> > -FILE_barebox-datamodul-edm-qmx6.img = start_imx6_realq7.pblb.imximg
> > -image-$(CONFIG_MACH_REALQ7) += barebox-datamodul-edm-qmx6.img
> > -
> > -pblb-$(CONFIG_MACH_GUF_SANTARO) += start_imx6q_guf_santaro
> > -CFG_start_imx6q_guf_santaro.pblb.imximg = $(board)/guf-santaro/flash-header.imxcfg
> > -FILE_barebox-guf-santaro.img = start_imx6q_guf_santaro.pblb.imximg
> > -image-$(CONFIG_MACH_GUF_SANTARO) += barebox-guf-santaro.img
> > +$(call build_imx_img, CONFIG_MACH_REALQ7, start_imx6_realq, datamodul-edm-qmx6)
> > +$(call build_imx_img, CONFIG_MACH_GUF_SANTARO, start_imx6q_guf_santaro, guf-santaro)
> >  
> >  pblb-$(CONFIG_MACH_GK802) += start_imx6_gk802
> >  CFG_start_imx6_gk802.pblb.imximg = $(board)/gk802/flash-header.imxcfg
> > ----------------- 8< -----------------
> >
> > Depending on your thoughts regarding the other questions in my previous
> > mail, I can make this into a proper patch.
> >
> >  - Roland
> >

-- 
Roland Hieber                     | r.hieber@pengutronix.de     |
Pengutronix e.K.                  | https://www.pengutronix.de/ |
Peiner Str. 6-8, 31137 Hildesheim | Phone: +49-5121-206917-5086 |
Amtsgericht Hildesheim, HRA 2686  | Fax:   +49-5121-206917-5555 |

_______________________________________________
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox

      reply	other threads:[~2019-08-19  8:28 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-07-18  8:01 [PATCH v3 1/4] i.mx6: signed boot: add habv4-imx6-gencsf.h to the flash header of the PHYTEC boards Maik Otto
2019-07-18  8:01 ` [PATCH v3 2/4] imx6: added fit image signature to the devicetree for " Maik Otto
2019-07-18  8:02 ` [PATCH v3 3/4] Kconfig: add selection for creation of signed/encrypted HABV4 images Maik Otto
2019-07-18  8:02 ` [PATCH v3 4/4] Makefile: add creation of signed/encrypted images for imx6, imx7, imx8 Maik Otto
2019-08-05 11:02   ` Sascha Hauer
2019-08-05 12:35     ` Roland Hieber
2019-08-05 15:07       ` Roland Hieber
2019-08-15 14:14         ` Maik Otto
2019-08-19  8:28           ` Roland Hieber [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20190819082828.kzf2ri3uie2fkcfw@pengutronix.de \
    --to=rhi@pengutronix.de \
    --cc=barebox@lists.infradead.org \
    --cc=m.otto@phytec.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox