2019-10-15 |
rsa: Allow to directly compile in rsa public keys
...
So far we relied on the U-Boot mkimage tool to generate us device tree
snippets containing rsa public keys which we then compiled into barebox.
Make this easier and allow to directly specify a filename or PKCS#11 URI
in Kconfig. With this we no longer need the U-Boot mkimage tool here and
no more external steps to prepare device tree snippets.
With this rsa public keys can be directly compiled as C structs into
barebox which is much more direct than putting it into the device tree.
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Sascha Hauer
committed
on 15 Oct 2019
|
2019-09-09 |
common: add generic CONFIG_UBSAN plumbing
...
-fsanitize=undefined allows compile-time instrumentation of code to detect
some classes of runtime undefined behavior.
In preparation for allowing arches to provide infrastructure in support
of this feature, add some generic UBSAN options and associated plumbing.
These are only shown in the debug menu when the arch selects the
appropriate symbol. The option is named equally to their Linux counterparts.
Signed-off-by: Ahmad Fatoum <ahmad@a3f.at>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Ahmad Fatoum
authored
on 27 Aug 2019
Sascha Hauer
committed
on 9 Sep 2019
|
2019-07-15 |
images: add support for generating STM32MP images
...
Both STM32MP BootROM and TF-A first stage expect subsequent bootloader
stages to feature a specific STM32 file header. Add a stm32image
utility to address this.
Signed-off-by: Marco Felsch <marco.felsch@gmail.com>
Signed-off-by: Ahmad Fatoum <a.fatoum@pengutronix.de>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Marco Felsch
authored
on 12 Jul 2019
Sascha Hauer
committed
on 15 Jul 2019
|
2019-06-13 |
images/mvebu: Convert Armada machines to mvebuimg
...
The results are bytewise identical apart from armada-xp-db where the
(AFAIK unused) parameters for the binary header are different (i.e.
0000005b 00000000 instead of 0000005b 00000068 for all other boards).
The advantage is that the build system now knows about the binary
headers and changes to them result in a rebuild of the images.
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Uwe Kleine-König
authored
on 11 Jun 2019
Sascha Hauer
committed
on 13 Jun 2019
|
2019-05-28 |
kbuild: Use ls(1) instead of stat(1) to obtain file size
...
stat(1) is not standardized and different implementations have their own
(conflicting) flags for querying the size of a file.
ls(1) provides the same information (value of st.st_size) in the 5th
column, except when the file is a character or block device. This output
is standardized[0]. The -n option turns on -l, which writes lines
formatted like
"%s %u %s %s %u %s %s\n", <file mode>, <number of links>,
<owner name>, <group name>, <size>, <date and time>,
<pathname>
but instead of writing the <owner name> and <group name>, it writes the
numeric owner and group IDs (this avoids /etc/passwd and /etc/group
lookups as well as potential field splitting issues).
The <size> field is specified as "the value that would be returned for
the file in the st_size field of struct stat".
To avoid duplicating logic in several locations in the tree, create
scripts/file-size.sh and update callers to use that instead of stat(1).
[0] http://pubs.opengroup.org/onlinepubs/9699919799/utilities/ls.html#tag_20_73_10
Signed-off-by: Michael Forney <forney@google.com>
Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
[afa: imported script and adjusted barebox stat(1) callsites]
Signed-off-by: Ahmad Fatoum <a.fatoum@pengutronix.de>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Michael Forney
authored
on 27 May 2019
Sascha Hauer
committed
on 28 May 2019
|
2019-04-23 |
ARM: i.MX: Add missing quotes to HAB specific defines
...
The Freescale Code Signing Tool (cst) needs quotes around the filenames
passed in the csf file. Add these quotes when the CONFIG_HAB* variables
are passed from the command line.
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Sascha Hauer
committed
on 23 Apr 2019
|
2019-04-08 |
Merge branch 'for-next/layerscape'
Sascha Hauer
committed
on 8 Apr 2019
|
2019-03-14 |
dtc: disable noisy warnings
...
Disable the following warnings from dtc:
-Wno-alias_paths
-Wno-graph_child_address
-Wno-simple_bus_reg
-Wno-unique_unit_address
This syncs the warning flags with the Kernel.
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Sascha Hauer
committed
on 14 Mar 2019
|
2019-03-13 |
pbl multiimage: Allow to check image sizes
...
PBL images are often constrained in size by limitations exposed by
the SoCs SRAM size or partition sizes on the boot device. So far
we tried to configure these limits in Kconfig, but with PBL multi
images and thus different limitations for the different supported
images this no longer works. This patch has another approach for
it:
During build time make variables containing the relevant sizes for
each image are created. These are:
PBL_CODE_SIZE_$(symbol)
PBL_MEMORY_SIZE_$(symbol)
PBL_IMAGE_SIZE_$(symbol)
PBL_CODE_SIZE_$(symbol) contains the pure code size of the PBL, it
should be smaller than the available SRAM during boot. Normally the
PBL's bss segment also needs to be in the initial SRAM, for this
case PBL_MEMORY_SIZE_$(symbol) is the relevant variable.
PBL_IMAGE_SIZE_$(symbol) contains the full size of the PBL image
including the compressed payload (but without any image headers
created later by SoC specific image tools).
$(symbol) is a placeholder for the start symbol used for this PBL image,
thus for the i.MX53 QSB with entry start_imx53_loco
PBL_CODE_SIZE_start_imx53_loco
will be created. The images/Makefile.* can use these variables directly
to check sizes or specify the same variables with a "MAX_" prefix. So
when images/Makefile.imx specifies
MAX_PBL_CODE_SIZE_start_imx53_loco = 0x10000
then the build system will make sure that the PBL code for the QSB will
not get bigger than 64KiB.
Also included in this patch are the size restrictions for the i.MX8MQ
images as an example how to use this.
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Sascha Hauer
committed
on 13 Mar 2019
|
2019-02-27 |
defaultenv: Fix dependencies
...
The defaultenv should be rebuilt once a file in it has changed.
the genenv script always generates the environment file to a temporary
file. Only if it has changed to the last target file the temporary file
is moved over the target file. This means we always have to call genenv,
thus replace "if_changed" with "cmd".
With this dependencies are correctly tracked. New or changed files
result in new image builds whereas unchanged environments do not
unnecessarily result in new images.
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Sascha Hauer
committed
on 27 Feb 2019
|
2019-01-22 |
kbuild: cherry-pick changes from Linux v5.0-rc3
...
Not synced completely.
Just cherry-picking low-hanging fruits.
0b35786d77ba kbuild: call make once for all targets when O=.. is used
5e54d5e5fbc1 kbuild: kill EXTRA_ARFLAGS
836caba77c29 kbuild: kill backward compatibility checks
3156fd0529b5 kbuild: fix some minor typoes
b8b0618cf6fa kbuild: remove extra ifdef/endif of top Makefile
16f890988114 kbuild: Remove reference to uninitialised variable
9319f4539c18 kbuild: support simultaneous "make %config" and "make all"
9d5db8949f1e scripts/Makefile.clean: clean also $(extra-m) and $(extra-)
a4954fd7724c kbuild: remove obj-n and lib-n handling
371fdc77af44 kbuild: collect shorthands into scripts/Kbuild.include
a29b82326ed4 kbuild: Remove duplicate $(cmd) definition in Makefile.clean
a1e7b7bb1ab5 Makefile: sort list of defconfig targets in make help output
34948e0bbf98 kbuild: Drop support for clean-rule
4218affdf57f kbuild: remove warning about "make depend"
9c8fa9bc08f6 kbuild: fix if_change and friends to consider argument order
39a33ff80a25 kbuild: remove cc-option-align
a7f924190924 kbuild: add %.dtb.S and %.dtb to 'targets' automatically
54a702f70589 kbuild: mark $(targets) as .SECONDARY and remove .PRECIOUS markers
9564a8cf422d Kbuild: fix # escaping in .cmd files for future Make
bd412d81b7ea kbuild: .PHONY is not a variable, but PHONY is
6916162c7308 kbuild: remove duplicated comments about PHONY
d6c6ab93e17f kbuild: remove deprecated host-progs variable
7d0ea2524202 kbuild: use 'else ifeq' for checksrc to improve readability
3f80babd9ca4 kbuild: remove unused cc-fullversion variable
bd352a739fde kbuild: remove unused baseprereq
b421b8a6cb87 kbuild: remove unused archmrproper
Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Masahiro Yamada
authored
on 21 Jan 2019
Sascha Hauer
committed
on 22 Jan 2019
|
2019-01-03 |
kbuild: remove unnecessary LEX_PREFIX and YACC_PREFIX
...
Because the latest Kconfig uses the default 'yy' prefix, this is
no longer unneeded.
Based on Linux commit eea199b445f6 ("kbuild: remove unnecessary
LEX_PREFIX and YACC_PREFIX").
Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Masahiro Yamada
authored
on 30 Dec 2018
Sascha Hauer
committed
on 3 Jan 2019
|
kbuild: generate lexer and parser during build instead of shipping
...
Recent kernel versions run flex and bison to generate lexers and
parsers from real source files such as *.l and *.y . This provides
better maintainability than version-controlling pre-generated C files
with a "_shipped" suffix.
This commit imports flex and bison rules from Linux, and deletes
pre-generated parsers and lexers.
Refer to the following commits in Linux:
- 033dba2ec06c ("kbuild: prepare to remove C files pre-generated by
flex and bison")
- 29c833061c1d ("kconfig: generate lexer and parser during build
instead of shipping")
- e039139be8c2 ("scripts/dtc: generate lexer and parser during
build instead of shipping")
Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Masahiro Yamada
authored
on 30 Dec 2018
Sascha Hauer
committed
on 3 Jan 2019
|
2018-09-07 |
ARM: i.MX: make HAB certificate pathes explicitly overwritable
...
When building HAB images for i.MX we have to specify some pathes to
the certificates. This can be done with Kconfig variables. For better
build system integration we also want to be able to specify the pathes
in environment variables. This currently doesn't work as we specify
the variables from the environment with the -D option to cpp, but also
include generated/autoconf.h which overwrites the variables with the
values from Kconfig.
To overcome this introduce a Kconfig switch that explcitly selects
whether we want to have the variables from Kconfig or the environment.
Also, only pass the variables from the environment when explicitly
wanted.
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Sascha Hauer
committed
on 7 Sep 2018
|
2018-06-19 |
dtc: Disable some warnings
...
Disable the dtc warnings that are disabled in the kernel aswell.
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Sascha Hauer
committed
on 19 Jun 2018
|
2018-06-11 |
Include our own include/dt-bindings
...
Allow to use dt-bindings files that are not yet upstreamed. They can
be put into include/dt-bindings.
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Sascha Hauer
committed
on 11 Jun 2018
|
2018-02-20 |
bootm: fit: add option to add DT snipped that contains fit public key
...
This makes it easier for build systems to include a configurable dts
snippet which holds the public keys for FIT images.
Usage:
Add to your dts:
#ifdef CONFIG_BOOTM_FITIMAGE_PUBKEY
#include CONFIG_BOOTM_FITIMAGE_PUBKEY
#endif
Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Marc Kleine-Budde
authored
on 12 Jul 2016
Sascha Hauer
committed
on 20 Feb 2018
|
Makefile.lib: imx hab: fix hab files with embedded variables
...
When passing variables this way, all embedded variables are expanded, so that
the path in the .config file can be kept relative.
Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
SIgned-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Marc Kleine-Budde
authored
on 3 Feb 2016
Sascha Hauer
committed
on 20 Feb 2018
|
2018-01-05 |
build: fix that the bbenv file is always rebuilt
...
From ac9ca65 Mon Sep 17 00:00:00 2001
From: Sam Ravnborg <sam@ravnborg.org>
Date: Tue, 26 Dec 2017 18:05:14 +0100
Subject: [PATCH 3/4] build: fix that the bbenv file is always rebuilt
Use if_changed in rule for bbenv file.
This avoids re-builds.
The target is already assigned to extra-y - so the
kbuild logic will work as expected.
Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Sam Ravnborg
authored
on 26 Dec 2017
Sascha Hauer
committed
on 5 Jan 2018
|
2017-06-01 |
new make helper to decode binaries using base64
...
This is helpful to provide mvebu binary.0 images with a patch. When
added directly a binary patch is needed which isn't understood by
patch(1).
As it's (at least) unclear if these images are distributable in general
I don't provide a patch making use of this, but the pattern is as
follows: Add
$(obj)/start_netgear_rn2120.pblx.kwbimg: $(board)/netgear-rn2120/binary.0
to images/Makefile.mvebu and then put a binary.0.base64 into the board
folder.
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Uwe Kleine-König
authored
on 6 Apr 2017
Sascha Hauer
committed
on 1 Jun 2017
|
2016-09-15 |
Add comp_copy function for use with CONFIG_IMAGE_COMPRESSION_NONE
...
The Makefile compression commands all append the size of the
uncompressed image. With CONFIG_IMAGE_COMPRESSION_NONE simply
'shipped' is used which does not append the size. Add and use
a special comp_copy function which adds the size. This helps
us to get the uncompressed image size in the startup code later.
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Sascha Hauer
committed
on 15 Sep 2016
|
2016-07-05 |
Do not rm the path from pbl-y target
...
Whan add some obj in a subdir to lwl-y or pbl-y, like this:
lwl-y += subdir/test.o other.o
the make process failed:
make[2]: *** No rule to make target
'arch/arm/boards/boardname/test.o', \
needed by 'arch/arm/boards/boardname/built-in-pbl.o'. Stop.
Note, there are not the part "subdir" in the path of the test.o.
this patch fix this
Signed-off-by: 张忠山 <zzs213@126.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
张忠山
authored
on 28 Jun 2016
Sascha Hauer
committed
on 5 Jul 2016
|
2016-02-04 |
Make: i.MX: Allow to pass config file to cmd_imx_image
...
Pass the config file to cmd_imx_image as arguments to make it more
flexible. Also add the possibility for another arg containing additional
options.
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Sascha Hauer
committed
on 4 Feb 2016
|
2015-05-07 |
Makefile.lib: Make 'check_file_size' more flexible
...
Make 'check_file_size' more flexible by not hardcoding the file whose
size is going to be checked to '$@'. This way it is possible to use
this subroutine to check the size of files other than the target of
the rule.
Signed-off-by: Andrey Smirnov <andrew.smirnov@gmail.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Andrey Smirnov
authored
on 6 May 2015
Sascha Hauer
committed
on 7 May 2015
|
2014-11-27 |
kbuild: handle multi-objs dependency appropriately
...
The comment in scripts/Makefile.build says as follows:
We would rather have a list of rules like
foo.o: $(foo-objs)
but that's not so easy, so we rather make all composite objects depend
on the set of all their parts
This commit makes it possible!
For example, assume a Makefile like this
obj-m = foo.o bar.o
foo-objs := foo1.o foo2.o
bar-objs := bar1.o bar2.o
Without this patch, foo.o depends on all of
foo1.o foo2.o bar1.o bar2.o.
It looks funny that foo.o is regenerated when bar1.c is updated.
Now we can handle the dependency of foo.o and bar.o separately.
Signed-off-by: Masahiro Yamada <yamada.m@jp.panasonic.com>
Signed-off-by: Michal Marek <mmarek@suse.cz>
Masahiro Yamada
authored
on 19 Aug 2014
Sascha Hauer
committed
on 27 Nov 2014
|
2014-11-04 |
Add xz decompression support
...
This adds xz decompression support from the kernel. Both compressing
the barebox binary with xz and decompressing xz files on the commandline
is supported.
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Sascha Hauer
committed
on 4 Nov 2014
|
2014-09-01 |
Makefile.lib: imxcfg: fix include path
...
MACH is not defined in this context, also it's very
unlikely that we will use the imximg tool with an other
arch than IMX, so just hardcode the path.
Signed-off-by: Lucas Stach <l.stach@pengutronix.de>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Lucas Stach
authored
on 12 Aug 2014
Sascha Hauer
committed
on 1 Sep 2014
|
2014-08-07 |
Add support for metadata in barebox images
...
It's often useful to get some information about a barebox image
before starting or flashing it. This patch introduces barebox
Image MetaData (IMD). When enabled a barebox image will contain
a list of tags containing the desired information. We have tags
for:
- the barebox release (2014.07.0-00160-g035de50-dirty)
- the build timestamp (#741 Mon Jul 28 15:08:54 CEST 2014)
- the board model the image is intended for
- the device tree toplevel compatible property
Also there is an additional generic key-value store which stores
parameters for which no dedicated tag exists. In this patch it
is used for the memory size an image supports.
Since there is no fixed offset in a barebox image which can be
used for storing the information, the metadata is stored somewhere
in the image and found by iterating over the image. This works
for most image types, but obviously not for SoC images which are
encoded or encrypted in some way.
There is a 'imd' tool compiled from the same sources for barebox,
for the compile host and for the target, so the metadata information
is available whereever needed.
For device tree boards the model and of_compatible tags are automatically
generated.
Example output of the imd tool for a Phytec phyFLEX image:
build: #889 Wed Jul 30 16:08:54 CEST 2014
release: 2014.07.0-00167-g6b2070d-dirty
parameter: memsize=1024
of_compatible: phytec,imx6x-pbab01 phytec,imx6dl-pfla02 fsl,imx6dl
model: Phytec phyFLEX-i.MX6 Duallite Carrier-Board
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Sascha Hauer
committed
on 7 Aug 2014
|
make: Use shell script to generate .dtb.S files
...
Using shell in make to generate an assembly file is not very
readable and extendable. Add an external shell script instead.
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Sascha Hauer
committed
on 7 Aug 2014
|
make: build device trees with obj-dtb-y and pbl-dtb-y
...
To build an object file from a device tree currently we currently
have to add them to the Makefile twice, once to dtb-y and once to
obj-y. This patch introduces obj-dtb-y and pbl-dtb-y to directly
compile a device tree object file for inclusion in the barebox binary
or the pbl respectively.
The now unneeded dtb-y targets are removed.
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Sascha Hauer
committed
on 7 Aug 2014
|