Hi, thanks for your effort and time to implement this additional use-case
Regards Denis Am Montag, den 25.11.2019, 19:03 +0100 schrieb Bruno Thomsen: > Add possiblity to generate a default 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. > > Cc: Denis OSTERLAND <[email protected]> > Cc: Alexander Dahl <[email protected]> > Signed-off-by: Bruno Thomsen <[email protected]> Tested-by: Denis Osterland <[email protected]> > --- > v5: > - split imx dtb image cleanup into bugfix patch > - removed remove quotes in statedir > - remove quetes in platformconfigdir > - common prefix defines > - common env image name > - remove custom env image install and clean > v4: > - u-boot version limitation help. > - env image size is now Kconfig hex input > - custom env source file is now stored in platformconfigdir > - changes in custom env source file trigger rebuild > - use default mkenvimage pad > - cleanup of env images > - fix missing cleanup of imx dtb image > v3: > - remove multiple env images support > - use static image names > - rebase patches on top of: u-boot: Build out-of-tree > 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 | 61 +++++++++++++++++++++++++++++++++++++++++++++ > rules/u-boot.make | 25 +++++++++++++++++++ > 2 files changed, 86 insertions(+) > > diff --git a/platforms/u-boot.in b/platforms/u-boot.in > index 9bac4a758..21baf7c72 100644 > --- a/platforms/u-boot.in > +++ b/platforms/u-boot.in > @@ -71,6 +71,67 @@ config U_BOOT_CONFIG > > endif > > +choice > + prompt "Generate environment image" > + default U_BOOT_ENV_IMAGE_NONE > + help > + U-Boot from version 2018.03 support out-of-tree environment > + image generation. > + > +config U_BOOT_ENV_IMAGE_NONE > + prompt "none" > + bool > + help > + Don't generate an U-Boot environment image. > + > +config U_BOOT_ENV_IMAGE_DEFAULT > + prompt "default" > + 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_ENV_IMAGE_CUSTOM > + prompt "custom" > + bool > + help > + Use U-Boot's mkenvimage to compile a custom U-Boot environment > + image based on the text file in U_BOOT_ENV_IMAGE_CUSTOM_SOURCE > + for use in e.g. device manufacturing or development. > + > +endchoice > + > +config U_BOOT_ENV_IMAGE_CUSTOM_SOURCE > + prompt "Custom environment source" > + string > + default "custom_env.config" > + depends on U_BOOT_ENV_IMAGE_CUSTOM > + help > + Text file in platform config directory 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. > + > +if !U_BOOT_ENV_IMAGE_NONE > + > +config U_BOOT_ENV_IMAGE_SIZE > + prompt "Environment image size" > + hex > + default 0x2000 > + help > + Enter the U-Boot environment size in hexadecimal for generation > + of image. A wrong size will typically cause crc error when used. > + 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 e3c2c2389..9609dca97 100644 > --- a/rules/u-boot.make > +++ b/rules/u-boot.make > @@ -43,6 +43,12 @@ U_BOOT_BOOT_SCRIPT_BIN := $(call remove_quotes, \ > $(STATEDIR)/u-boot.compile: $(U_BOOT_BOOT_SCRIPT_TXT) > endif > > +ifdef PTXCONF_U_BOOT_ENV_IMAGE_CUSTOM > +U_BOOT_ENV_IMAGE_CUSTOM_SRC := $(call ptx/in-platformconfigdir, \ > + $(call remove_quotes, $(PTXCONF_U_BOOT_ENV_IMAGE_CUSTOM_SOURCE))) > +$(STATEDIR)/u-boot.compile: $(U_BOOT_ENV_IMAGE_CUSTOM_SRC) > +endif > + > U_BOOT_WRAPPER_BLACKLIST := \ > $(PTXDIST_LOWLEVEL_WRAPPER_BLACKLIST) > > @@ -100,6 +106,20 @@ ifdef PTXCONF_U_BOOT_BOOT_SCRIPT > @$(U_BOOT_BUILD_DIR)/tools/mkimage -T script -C none \ > -d $(U_BOOT_BOOT_SCRIPT_TXT) \ > $(U_BOOT_BUILD_DIR)/boot.scr.uimg > +endif > +ifdef PTXCONF_U_BOOT_ENV_IMAGE_DEFAULT > + $(U_BOOT_MAKE_ENV) $(U_BOOT_DIR)/scripts/get_default_envs.sh > $(U_BOOT_BUILD_DIR) | \ > + $(U_BOOT_BUILD_DIR)/tools/mkenvimage \ > + $(call ptx/ifdef,PTXCONF_U_BOOT_ENV_IMAGE_REDUNDANT,-r,) \ > + -s $(PTXCONF_U_BOOT_ENV_IMAGE_SIZE) \ > + -o $(U_BOOT_BUILD_DIR)/u-boot-env.img - > +endif > +ifdef PTXCONF_U_BOOT_ENV_IMAGE_CUSTOM > + $(U_BOOT_BUILD_DIR)/tools/mkenvimage \ > + $(call ptx/ifdef,PTXCONF_U_BOOT_ENV_IMAGE_REDUNDANT,-r,) \ > + -s $(PTXCONF_U_BOOT_ENV_IMAGE_SIZE) \ > + -o $(U_BOOT_BUILD_DIR)/u-boot-env.img \ > + $(U_BOOT_ENV_IMAGE_CUSTOM_SRC) > endif > @$(call touch) > > @@ -147,6 +167,10 @@ ifdef PTXCONF_U_BOOT_INSTALL_U_BOOT_WITH_SPL_PBL > @install -v -D -m644 $(U_BOOT_BUILD_DIR)/u-boot-with-spl-pbl.bin \ > $(IMAGEDIR)/u-boot-with-spl-pbl.bin > endif > +ifndef PTXCONF_U_BOOT_ENV_IMAGE_NONE > + @install -v -D -m644 $(U_BOOT_BUILD_DIR)/u-boot-env.img \ > + $(IMAGEDIR)/u-boot-env.img > +endif > > ifdef PTXCONF_U_BOOT_BOOT_SCRIPT > @$(call install_init, u-boot) > @@ -172,6 +196,7 @@ $(STATEDIR)/u-boot.clean: > @rm -vf $(IMAGEDIR)/u-boot.bin $(IMAGEDIR)/u-boot.srec > $(IMAGEDIR)/u-boot.elf > @rm -vf $(IMAGEDIR)/u-boot.img $(IMAGEDIR)/SPL $(IMAGEDIR)/MLO > @rm -vf $(IMAGEDIR)/u-boot.imx > + @rm -vf $(IMAGEDIR)/u-boot-env.img > @rm -vf $(IMAGEDIR)/u-boot-dtb.bin $(IMAGEDIR)/u-boot-with-spl-pbl.bin > > # > ---------------------------------------------------------------------------- Diehl Connectivity Solutions GmbH Geschäftsführung: Horst Leonberger Sitz der Gesellschaft: Nürnberg - Registergericht: Amtsgericht Nürnberg: HRB 32315 ___________________________________________________________________________________________________ Der Inhalt der vorstehenden E-Mail ist nicht rechtlich bindend. Diese E-Mail enthaelt vertrauliche und/oder rechtlich geschuetzte Informationen. Informieren Sie uns bitte, wenn Sie diese E-Mail faelschlicherweise erhalten haben. Bitte loeschen Sie in diesem Fall die Nachricht. Jede unerlaubte Form der Reproduktion, Bekanntgabe, Aenderung, Verteilung und/oder Publikation dieser E-Mail ist strengstens untersagt. - Informationen zum Datenschutz, insbesondere zu Ihren Rechten, erhalten Sie unter https://www.diehl.com/group/de/transparenz-und-informationspflichten/ The contents of the above mentioned e-mail is not legally binding. This e-mail contains confidential and/or legally protected information. Please inform us if you have received this e-mail by mistake and delete it in such a case. Each unauthorized reproduction, disclosure, alteration, distribution and/or publication of this e-mail is strictly prohibited. - For general information on data protection and your respective rights please visit https://www.diehl.com/group/en/transparency-and-information-obligations/ _______________________________________________ ptxdist mailing list [email protected]
