From mboxrd@z Thu Jan 1 00:00:00 1970 Return-path: Date: Fri, 15 Nov 2019 14:59:35 +0100 From: Michael Olbrich Message-ID: <20191115135935.GC1287@pengutronix.de> References: <20191113170559.15307-1-bruno.thomsen@gmail.com> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: <20191113170559.15307-1-bruno.thomsen@gmail.com> Subject: Re: [ptxdist] [PATCH v2] u-boot: generate environment image List-Id: PTXdist Development Mailing List List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: ptxdist@pengutronix.de Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Errors-To: ptxdist-bounces@pengutronix.de Sender: "ptxdist" To: ptxdist@pengutronix.de Cc: ada@thorsis.com, denis.osterland@diehl.com, Bruno Thomsen , bth@kamstrup.com On Wed, Nov 13, 2019 at 06:05:59PM +0100, Bruno Thomsen wrote: > Add possiblity to generate both a default and/or > a custom environment image. Image can be used during > manufacturing to avoid bootloader console usage and > speed up first boot. Other image use-cases include > device development edition, device demonstration > mode, etc. > > Custom environment image is generated from an user > provided config file with one 'var=value' per line > format. Input config file name is configurable. > > Both outputs has configurable image names so it's > easier to see specific use-case. > > Examples: > u-boot-demo-env.img > u-boot-development-env.img > u-boot-manufacturing-env.img > u-boot-default-env.img > > Signed-off-by: Bruno Thomsen > Tested-by: Alexander Dahl > --- > v2: > - remove HOST_U_BOOT_TOOLS dependency > - configurable default env image name > - add custom env image generation option > - move all options to sub menu > > platforms/u-boot.in | 64 +++++++++++++++++++++++++++++++++++++++++++++ > rules/u-boot.make | 22 ++++++++++++++++ > 2 files changed, 86 insertions(+) > > diff --git a/platforms/u-boot.in b/platforms/u-boot.in > index 9bac4a758..629fc9482 100644 > --- a/platforms/u-boot.in > +++ b/platforms/u-boot.in > @@ -71,6 +71,70 @@ config U_BOOT_CONFIG > > endif > > +menuconfig U_BOOT_GENERATE_ENV_IMAGE > + bool > + prompt "Generate environment image " > + > +if U_BOOT_GENERATE_ENV_IMAGE > + > +config U_BOOT_DEFAULT_ENV_IMAGE > + prompt "Generate default environment image" > + bool > + help > + Use U-Boot's mkenvimage to compile a default U-Boot environment > + image for use in e.g. device manufacturing or development. > + > +config U_BOOT_DEFAULT_ENV_IMAGE_FILE > + prompt "Default environment image filename" > + string > + default "u-boot-env.img" > + help > + Change default environment output image name. Why the custom name? It's just the filename in images/ and it can be changed wenn it's added to an image, if that's necessary. If it's important, then the option should depend on U_BOOT_DEFAULT_ENV_IMAGE > + > +config U_BOOT_CUSTOM_ENV_IMAGE > + prompt "Generate custom environment image" > + bool > + help > + Use U-Boot's mkenvimage to compile a custom U-Boot environment > + image based on the text file in U_BOOT_CUSTOM_ENV_IMAGE_SOURCE > + for use in e.g. device manufacturing or development. > + > +config U_BOOT_CUSTOM_ENV_IMAGE_SOURCE > + prompt "Custom environment source" > + string > + default "custom_env.config" > + help > + Text file in PTXDIST_WORKSPACE describing the custom environment. > + The file should have lines in the form var=value, one per line. > + Blank lines and lines starting with a # are ignored. > + > +config U_BOOT_CUSTOM_ENV_IMAGE_FILE > + prompt "Custom environment image filename" > + string > + default "u-boot-custom-env.img" > + help > + Change custom environment output image name. Denis, I think you were asking for a selectable input file, not generating multiple env images? And the same issue as above, if this stays: do we need to custom output filename and hide the suboptions with 'depends'. Michael > + > +comment "common options ---" > + > +config U_BOOT_ENV_IMAGE_SIZE > + prompt "Environment image size" > + string > + default "0x2000" > + help > + Enter the U-Boot environment size for generation of image. > + Size can be prefixed with 0x for hexadecimal values. > + Must match size defined in target config and "/etc/fw_env.config". > + > +config U_BOOT_ENV_IMAGE_REDUNDANT > + prompt "Environment image with redundant copy" > + bool > + help > + Use to generate a redundant environment in the image. > + Must match target config and "/etc/fw_env.config". > + > +endif > + > config U_BOOT_BOOT_SCRIPT > prompt "Compile U-Boot boot script" > bool > diff --git a/rules/u-boot.make b/rules/u-boot.make > index 8f9290ea7..c3c426d6d 100644 > --- a/rules/u-boot.make > +++ b/rules/u-boot.make > @@ -94,6 +94,20 @@ ifdef PTXCONF_U_BOOT_BOOT_SCRIPT > @$(U_BOOT_DIR)/tools/mkimage -T script -C none \ > -d $(U_BOOT_BOOT_SCRIPT_TXT) \ > $(U_BOOT_DIR)/boot.scr.uimg > +endif > +ifdef PTXCONF_U_BOOT_DEFAULT_ENV_IMAGE > + $(U_BOOT_MAKE_ENV) $(U_BOOT_DIR)/scripts/get_default_envs.sh | \ > + $(U_BOOT_DIR)/tools/mkenvimage -p 0x0 \ > + $(call ptx/ifdef,PTXCONF_U_BOOT_ENV_IMAGE_REDUNDANT,-r,) \ > + -s $(PTXCONF_U_BOOT_ENV_IMAGE_SIZE) \ > + -o $(U_BOOT_DIR)/$(PTXCONF_U_BOOT_DEFAULT_ENV_IMAGE_FILE) - > +endif > +ifdef PTXCONF_U_BOOT_CUSTOM_ENV_IMAGE > + $(U_BOOT_DIR)/tools/mkenvimage -p 0x0 \ > + $(call ptx/ifdef,PTXCONF_U_BOOT_ENV_IMAGE_REDUNDANT,-r,) \ > + -s $(PTXCONF_U_BOOT_ENV_IMAGE_SIZE) \ > + -o $(U_BOOT_DIR)/$(PTXCONF_U_BOOT_CUSTOM_ENV_IMAGE_FILE) \ > + $(PTXDIST_WORKSPACE)/$(PTXCONF_U_BOOT_CUSTOM_ENV_IMAGE_SOURCE) > endif > @$(call touch) > > @@ -141,6 +155,14 @@ ifdef PTXCONF_U_BOOT_INSTALL_U_BOOT_WITH_SPL_PBL > @install -v -D -m644 $(U_BOOT_DIR)/u-boot-with-spl-pbl.bin \ > $(IMAGEDIR)/u-boot-with-spl-pbl.bin > endif > +ifdef PTXCONF_U_BOOT_DEFAULT_ENV_IMAGE > + @install -v -D -m644 $(U_BOOT_DIR)/$(PTXCONF_U_BOOT_DEFAULT_ENV_IMAGE_FILE) \ > + $(IMAGEDIR)/$(PTXCONF_U_BOOT_DEFAULT_ENV_IMAGE_FILE) > +endif > +ifdef PTXCONF_U_BOOT_CUSTOM_ENV_IMAGE > + @install -v -D -m644 $(U_BOOT_DIR)/$(PTXCONF_U_BOOT_CUSTOM_ENV_IMAGE_FILE) \ > + $(IMAGEDIR)/$(PTXCONF_U_BOOT_CUSTOM_ENV_IMAGE_FILE) > +endif > > ifdef PTXCONF_U_BOOT_BOOT_SCRIPT > @$(call install_init, u-boot) > -- > 2.23.0 > > > _______________________________________________ > ptxdist mailing list > ptxdist@pengutronix.de > -- 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-5555 | _______________________________________________ ptxdist mailing list ptxdist@pengutronix.de