Message ID | 1458513351-6556-7-git-send-email-pieter@boesman.nl |
---|---|
State | Superseded |
Headers | show |
On Sun, Mar 20, 2016 at 11:35 PM, Pieter Smith <pieter@boesman.nl> wrote: > Adds support to build barebox with a 2nd config. > > This is useful for building an SPL (Secondary Program Loader) in addition to > the traditional TPL (Tertiary Program Loader). The Beaglebone Black for example > has two barebox configurations: > - am335x_defconfig builds the full barebox bootloader with device tree, and > - am335x_mlo_defconfig builds the smaller MLO bootloader that loads the full > barebox bootloader from the eMMC or SD card. > > Signed-off-by: Pieter Smith <pieter@boesman.nl> Reviewed-by: Yegor Yefremov <yegorslists@googlemail.com> > --- > boot/barebox/Config.in | 2 + > boot/barebox/barebox-2/Config.in | 79 +++++++++++++++++++++++++++++++++++ > boot/barebox/barebox-2/barebox-2.hash | 1 + > boot/barebox/barebox-2/barebox-2.mk | 9 ++++ > boot/barebox/barebox.mk | 3 ++ > 5 files changed, 94 insertions(+) > create mode 100644 boot/barebox/barebox-2/Config.in > create mode 120000 boot/barebox/barebox-2/barebox-2.hash > create mode 100644 boot/barebox/barebox-2/barebox-2.mk > > diff --git a/boot/barebox/Config.in b/boot/barebox/Config.in > index 7769866..e92cdc3 100644 > --- a/boot/barebox/Config.in > +++ b/boot/barebox/Config.in > @@ -137,4 +137,6 @@ config BR2_TARGET_BAREBOX_CUSTOM_ENV_PATH > barebox devfs format, stored in the images directory, with > the same name as the directory name given here. > > +source boot/barebox/barebox-2/Config.in > + > endif > diff --git a/boot/barebox/barebox-2/Config.in b/boot/barebox/barebox-2/Config.in > new file mode 100644 > index 0000000..5bd8347 > --- /dev/null > +++ b/boot/barebox/barebox-2/Config.in > @@ -0,0 +1,79 @@ > +menuconfig BR2_TARGET_BAREBOX_2 > + bool "Build barebox with a 2nd config" > + help > + Build barebox with a 2nd configuration. > + > + Useful for building an SPL (Secondary Program Loader) in addition to > + the traditional TPL (Tertiary Program Loader), such as the X-Loader > + or MLO for Texas Instruments processors. > + > +if BR2_TARGET_BAREBOX_2 > + > +choice > + prompt "Barebox configuration" > + default BR2_TARGET_BAREBOX_2_USE_DEFCONFIG > + > +config BR2_TARGET_BAREBOX_2_USE_DEFCONFIG > + bool "Using a defconfig" > + > +config BR2_TARGET_BAREBOX_2_USE_CUSTOM_CONFIG > + bool "Using a custom config file" > + > +endchoice > + > +config BR2_TARGET_BAREBOX_2_BOARD_DEFCONFIG > + string "board defconfig" > + depends on BR2_TARGET_BAREBOX_2_USE_DEFCONFIG > + help > + Name of the board for which Barebox should be built, without > + the _defconfig suffix. > + > + > +config BR2_TARGET_BAREBOX_2_CUSTOM_CONFIG_FILE > + string "Configuration file path" > + depends on BR2_TARGET_BAREBOX_2_USE_CUSTOM_CONFIG > + help > + Path to the barebox configuration file > + > +config BR2_TARGET_BAREBOX_2_CONFIG_FRAGMENT_FILES > + string "Additional configuration fragment files" > + help > + A space-separated list of configuration fragment files, > + that will be merged to the main Barebox configuration file. > + > +config BR2_TARGET_BAREBOX_2_BUILT_IMAGE_FILE > + string "Built image filename" > + default "barebox-flash-image" > + help > + Name of the built barebox image filename in the barebox build or > + build images directory. > + > + Set to barebox.bin for barebox versions older than 2012.10. > + > +config BR2_TARGET_BAREBOX_2_OUTPUT_IMAGE_FILE > + string "Output image filename" > + default "barebox-2.bin" > + help > + Name to use when copying the barebox image to the output/images > + directory. > + > +config BR2_TARGET_BAREBOX_2_CUSTOM_ENV > + bool "Generate an environment image" > + help > + Generate a custom environment image. This environment will > + contain the variables and scripts to be used at boot by > + barebox. > + > +config BR2_TARGET_BAREBOX_2_CUSTOM_ENV_PATH > + string "Environment path" > + depends on BR2_TARGET_BAREBOX_2_CUSTOM_ENV > + help > + Path to the directory containing the custom barebox > + environment. Depending on your setup, it will probably be > + based on either the content of the defaultenv or > + defaultenv-2 directories in the barebox source code, plus > + the additions needed. The output will be an image in the > + barebox devfs format, stored in the images directory, with > + the same name as the directory name given here. > + > +endif > diff --git a/boot/barebox/barebox-2/barebox-2.hash b/boot/barebox/barebox-2/barebox-2.hash > new file mode 120000 > index 0000000..b6462b8 > --- /dev/null > +++ b/boot/barebox/barebox-2/barebox-2.hash > @@ -0,0 +1 @@ > +../barebox.hash > \ No newline at end of file > diff --git a/boot/barebox/barebox-2/barebox-2.mk b/boot/barebox/barebox-2/barebox-2.mk > new file mode 100644 > index 0000000..7a88f93 > --- /dev/null > +++ b/boot/barebox/barebox-2/barebox-2.mk > @@ -0,0 +1,9 @@ > +################################################################################ > +# > +# barebox-2 > +# > +################################################################################ > + > +# Instantiate a 2nd barebox package, built from the same sources as the 1st, > +# but with it's own configuration: > +$(eval $(call barebox-package)) > diff --git a/boot/barebox/barebox.mk b/boot/barebox/barebox.mk > index 8892ab5..71eb33a 100644 > --- a/boot/barebox/barebox.mk > +++ b/boot/barebox/barebox.mk > @@ -153,3 +153,6 @@ barebox-package=$(call inner-barebox-package,$(call UPPERCASE,$(pkgname))) > > # instantiate this barebox package > $(eval $(call barebox-package)) > + > +# add the 2nd barebox package build > +include boot/barebox/barebox-2/barebox-2.mk > -- > 2.5.0 >
On 03/20/16 23:35, Pieter Smith wrote: > Adds support to build barebox with a 2nd config. > > This is useful for building an SPL (Secondary Program Loader) in addition to > the traditional TPL (Tertiary Program Loader). The Beaglebone Black for example > has two barebox configurations: > - am335x_defconfig builds the full barebox bootloader with device tree, and > - am335x_mlo_defconfig builds the smaller MLO bootloader that loads the full > barebox bootloader from the eMMC or SD card. > > Signed-off-by: Pieter Smith<pieter@boesman.nl> Looks good to me, except for the comments I made for barebox-1: - BR2_TARGET_BAREBOX_2_BUILT_IMAGE_FILE name+prompt; - BR2_TARGET_BAREBOX_2_OUTPUT_IMAGE_FILE name or maybe remove; - Redundant $(call ...) Regards, Arnout
Hi Arnout, On Tue, Apr 05, 2016 at 01:25:20AM +0200, Arnout Vandecappelle wrote: > On 03/20/16 23:35, Pieter Smith wrote: > >Adds support to build barebox with a 2nd config. > > > >This is useful for building an SPL (Secondary Program Loader) in addition to > >the traditional TPL (Tertiary Program Loader). The Beaglebone Black for example > >has two barebox configurations: > >- am335x_defconfig builds the full barebox bootloader with device tree, and > >- am335x_mlo_defconfig builds the smaller MLO bootloader that loads the full > > barebox bootloader from the eMMC or SD card. > > > >Signed-off-by: Pieter Smith<pieter@boesman.nl> > > Looks good to me, except for the comments I made for barebox-1: > > - BR2_TARGET_BAREBOX_2_BUILT_IMAGE_FILE name+prompt; > > - BR2_TARGET_BAREBOX_2_OUTPUT_IMAGE_FILE name or maybe remove; > > - Redundant $(call ...) All three are resolved in patch v5. [snip] Regards, Pieter
diff --git a/boot/barebox/Config.in b/boot/barebox/Config.in index 7769866..e92cdc3 100644 --- a/boot/barebox/Config.in +++ b/boot/barebox/Config.in @@ -137,4 +137,6 @@ config BR2_TARGET_BAREBOX_CUSTOM_ENV_PATH barebox devfs format, stored in the images directory, with the same name as the directory name given here. +source boot/barebox/barebox-2/Config.in + endif diff --git a/boot/barebox/barebox-2/Config.in b/boot/barebox/barebox-2/Config.in new file mode 100644 index 0000000..5bd8347 --- /dev/null +++ b/boot/barebox/barebox-2/Config.in @@ -0,0 +1,79 @@ +menuconfig BR2_TARGET_BAREBOX_2 + bool "Build barebox with a 2nd config" + help + Build barebox with a 2nd configuration. + + Useful for building an SPL (Secondary Program Loader) in addition to + the traditional TPL (Tertiary Program Loader), such as the X-Loader + or MLO for Texas Instruments processors. + +if BR2_TARGET_BAREBOX_2 + +choice + prompt "Barebox configuration" + default BR2_TARGET_BAREBOX_2_USE_DEFCONFIG + +config BR2_TARGET_BAREBOX_2_USE_DEFCONFIG + bool "Using a defconfig" + +config BR2_TARGET_BAREBOX_2_USE_CUSTOM_CONFIG + bool "Using a custom config file" + +endchoice + +config BR2_TARGET_BAREBOX_2_BOARD_DEFCONFIG + string "board defconfig" + depends on BR2_TARGET_BAREBOX_2_USE_DEFCONFIG + help + Name of the board for which Barebox should be built, without + the _defconfig suffix. + + +config BR2_TARGET_BAREBOX_2_CUSTOM_CONFIG_FILE + string "Configuration file path" + depends on BR2_TARGET_BAREBOX_2_USE_CUSTOM_CONFIG + help + Path to the barebox configuration file + +config BR2_TARGET_BAREBOX_2_CONFIG_FRAGMENT_FILES + string "Additional configuration fragment files" + help + A space-separated list of configuration fragment files, + that will be merged to the main Barebox configuration file. + +config BR2_TARGET_BAREBOX_2_BUILT_IMAGE_FILE + string "Built image filename" + default "barebox-flash-image" + help + Name of the built barebox image filename in the barebox build or + build images directory. + + Set to barebox.bin for barebox versions older than 2012.10. + +config BR2_TARGET_BAREBOX_2_OUTPUT_IMAGE_FILE + string "Output image filename" + default "barebox-2.bin" + help + Name to use when copying the barebox image to the output/images + directory. + +config BR2_TARGET_BAREBOX_2_CUSTOM_ENV + bool "Generate an environment image" + help + Generate a custom environment image. This environment will + contain the variables and scripts to be used at boot by + barebox. + +config BR2_TARGET_BAREBOX_2_CUSTOM_ENV_PATH + string "Environment path" + depends on BR2_TARGET_BAREBOX_2_CUSTOM_ENV + help + Path to the directory containing the custom barebox + environment. Depending on your setup, it will probably be + based on either the content of the defaultenv or + defaultenv-2 directories in the barebox source code, plus + the additions needed. The output will be an image in the + barebox devfs format, stored in the images directory, with + the same name as the directory name given here. + +endif diff --git a/boot/barebox/barebox-2/barebox-2.hash b/boot/barebox/barebox-2/barebox-2.hash new file mode 120000 index 0000000..b6462b8 --- /dev/null +++ b/boot/barebox/barebox-2/barebox-2.hash @@ -0,0 +1 @@ +../barebox.hash \ No newline at end of file diff --git a/boot/barebox/barebox-2/barebox-2.mk b/boot/barebox/barebox-2/barebox-2.mk new file mode 100644 index 0000000..7a88f93 --- /dev/null +++ b/boot/barebox/barebox-2/barebox-2.mk @@ -0,0 +1,9 @@ +################################################################################ +# +# barebox-2 +# +################################################################################ + +# Instantiate a 2nd barebox package, built from the same sources as the 1st, +# but with it's own configuration: +$(eval $(call barebox-package)) diff --git a/boot/barebox/barebox.mk b/boot/barebox/barebox.mk index 8892ab5..71eb33a 100644 --- a/boot/barebox/barebox.mk +++ b/boot/barebox/barebox.mk @@ -153,3 +153,6 @@ barebox-package=$(call inner-barebox-package,$(call UPPERCASE,$(pkgname))) # instantiate this barebox package $(eval $(call barebox-package)) + +# add the 2nd barebox package build +include boot/barebox/barebox-2/barebox-2.mk
Adds support to build barebox with a 2nd config. This is useful for building an SPL (Secondary Program Loader) in addition to the traditional TPL (Tertiary Program Loader). The Beaglebone Black for example has two barebox configurations: - am335x_defconfig builds the full barebox bootloader with device tree, and - am335x_mlo_defconfig builds the smaller MLO bootloader that loads the full barebox bootloader from the eMMC or SD card. Signed-off-by: Pieter Smith <pieter@boesman.nl> --- boot/barebox/Config.in | 2 + boot/barebox/barebox-2/Config.in | 79 +++++++++++++++++++++++++++++++++++ boot/barebox/barebox-2/barebox-2.hash | 1 + boot/barebox/barebox-2/barebox-2.mk | 9 ++++ boot/barebox/barebox.mk | 3 ++ 5 files changed, 94 insertions(+) create mode 100644 boot/barebox/barebox-2/Config.in create mode 120000 boot/barebox/barebox-2/barebox-2.hash create mode 100644 boot/barebox/barebox-2/barebox-2.mk