- 31 Dec, 2022 1 commit
-
-
As discussed previously [1,2], the source command is not safe to use with verified boot unless there is a key with required = "images" (which has its own problems). This is because if such a key is absent, signatures are verified but not required. It is assumed that configuration nodes will provide the signature. Because the source command does not use configurations to determine the image to source, effectively no verification takes place. To address this, allow specifying configuration nodes. We use the same syntax as the bootm command (helpfully provided for us by fit_parse_conf). By default, we first try the default config and then the default image. To force using a config, # must be present in the command (e.g. `source $loadaddr#my-conf`). For convenience, the config may be omitted, just like the address may be (e.g. `source \#`). This also works for images (`source :` behaves exactly like `source` currently does). [1] https://lore.kernel.org/u-boot/7d711133-d513-5bcb-52f2-a9dbaa9eeded@prevas.dk/ [2] https://lore.kernel.org/u-boot/042dcb34-f85f-351e-1b0e-513f89005fdd@gmail.com/ Signed-off-by:
Sean Anderson <sean.anderson@seco.com> Reviewed-by:
Simon Glass <sjg@chromium.org>
-
- 31 Oct, 2022 1 commit
-
-
We want to be able to mark an image as related to a phase, so we can easily load all the images for SPL or for U-Boot proper. Add this to the FIT specification, along with some access functions. Signed-off-by:
Simon Glass <sjg@chromium.org>
-
- 29 Sep, 2022 1 commit
-
-
This is not needed and we should avoid typedefs. Use the struct instead and rename it to indicate that it really is a legacy struct. Signed-off-by:
Simon Glass <sjg@chromium.org>
-
- 26 Jul, 2022 2 commits
-
-
Adrian Fiergolski authored
Add supporting new compatible string "u-boot,zynqmp-fpga-enc" to handle loading encrypted bitfiles. This feature requires encrypted FSBL, as according to UG1085: "The CSU automatically locks out the AES key, stored in either BBRAM or eFUSEs, as a key source to the AES engine if the FSBL is not encrypted. This prevents using the BBRAM or eFUSE as the key source to the AES engine during run-time applications." Signed-off-by:
Adrian Fiergolski <adrian.fiergolski@fastree3d.com> Co-developed-by:
Oleksandr Suvorov <oleksandr.suvorov@foundries.io> Signed-off-by:
Oleksandr Suvorov <oleksandr.suvorov@foundries.io> Tested-by:
Adrian Fiergolski <adrian.fiergolski@fastree3d.com> Link: https://lore.kernel.org/r/20220722141614.297383-14-oleksandr.suvorov@foundries.io Signed-off-by:
Michal Simek <michal.simek@amd.com>
-
Oleksandr Suvorov authored
Add supporting new compatible string "u-boot,zynqmp-fpga-ddrauth" to handle loading authenticated images (DDR). Based on solution by Jorge Ramirez-Ortiz <jorge@foundries.io> Signed-off-by:
Oleksandr Suvorov <oleksandr.suvorov@foundries.io> Tested-by:
Ricardo Salveti <ricardo@foundries.io> Link: https://lore.kernel.org/r/20220722141614.297383-13-oleksandr.suvorov@foundries.io Signed-off-by:
Michal Simek <michal.simek@amd.com>
-
- 14 Apr, 2021 1 commit
-
-
Commit 4afc4f37 ("doc: FIT image: Clarify format and simplify syntax") introduced a "compatible" property for loadable images. It did not define its contents. Use "u-boot,fpga-legacy" compatible string to specify that fpga_load() should be used to load the image. Signed-off-by:
Alexandru Gagniuc <mr.nuke.me@gmail.com>
-
- 22 Jan, 2021 1 commit
-
-
** Introduction There are currently four ways to load an OS image with u-boot 1. SPL -> u-boot -> bootm 2. SPL blue falcon mode 3. "Basic" FIT image (CONFIG_LOAD_FIT) 4. "Full-featured" FIT image (CONFIG_LOAD_FIT_FULL) These four code paths were developed independently, and share very little code. (3) and (4), behave very differently, are littered with special cases. They even have different DTS syntax and properties. The cause of this divergence is that the FIT format specification leaves a number of things open to interpretation. The purpose of this change is to enable the reduction of code size, duplication, and complexity by updating and streamlining the FIT format. We are only marginally concerned with backwards compatibility, because we don't have inter-compatibility. For example, CONFIG_LOAD_FIT is able to load images that CONFIG_LOAD_FIT_FULL won't. This is a direct result of the incompatible syntax between the two implementations. Ideally, these changes would enable "simple" FIT to be a subset of the "full" fit implementation, and share most code. These changes should also eliminate the need for falcon mode (although we are not advocating for the removal of falcon mode at this time). ** Description of changes * The "configurations" node is now mandatory Guessing how to load components based on their "os" and "type" invites confusion and superfluous heuristics. Instead, require each FIT image to be explicit on how components should be loaded. * Eliminate "ramdisk", "setup", "standalone", and "fpga" properties Having too many special purpose properties requires special-casing FIT loading code. When a special property can be handled by another property, it is redundant. - A "ramdisk" is identical to a loadable. Thus ramdisk images should be placed under "loadables". - A "setup" node can be achieved by using a "kernel" or "firmware" property instead. - "standalone" is used for u-boot nodes. The correct property to use in this case is "firmware". - "fpga" is a loadable * Prioritize control between "firmware" and "kernel" "firmware" and "kernel" are special nodes in that control is passed to the "entry-point" of the image. Both can be present, for example, an OP-TEE firmware with a linux kernel. When both are present, control is passed to the "firmware" image. ** Further generalizations (not included herein) The "firmware" and "kernel" properties could be generalized as a "next-boot-stage", or similar name. This "next" stage would be special in that it is both executable, and is the stage that is passed control. For example, "next-stage" could be an op-tee image, with linux as a loadable, or a u-boot image. Signed-off-by:
Alexandru Gagniuc <mr.nuke.me@gmail.com>
-
- 18 Dec, 2020 1 commit
-
-
u_boot should be u-boot Signed-off-by:
Sean Anderson <seanga2@gmail.com> Reviewed-by:
Bin Meng <bmeng.cn@gmail.com> Reviewed-by:
Jagan Teki <jagan@amarulasolutions.com>
-
- 24 Apr, 2020 1 commit
-
-
The image is usually stored in block device like emmc, SD card, make the offset of image data aligned to block(512 byte) can avoid data copy during boot process. eg. SPL boot from FIT image with external data: - SPL read the first block of FIT image, and then parse the header; - SPL read image data separately; - The first image offset is the base_offset which is the header size; - The second image offset is just after the first image; - If the offset of imge does not aligned, SPL will do memcpy; The header size is a ramdon number, which is very possible not aligned, so add '-B size'to specify the align size in hex for better performance. example usage: ./tools/mkimage -E -f u-boot.its -B 0x200 u-boot.itb Signed-off-by:
Kever Yang <kever.yang@rock-chips.com> Reviewed-by:
Punit Agrawal <punit1.agrawal@toshiba.co.jp> Reviewed-by:
Tom Rini <trini@konsulko.com>
-
- 03 Dec, 2019 1 commit
-
-
Signed-off-by:
Thomas Hebb <tommyhebb@gmail.com>
-
- 29 Jul, 2019 1 commit
-
-
This patch adds support for an optional optimization to compatible string matching where the compatible string property from the root node of the kernel FDT can be copied into the configuration node of the FIT image. This is most useful when using compressed FDTs or when using FDT overlays, where the traditional extraction of the compatible string from the kernel FDT itself is not easily possible. Signed-off-by:
Julius Werner <jwerner@chromium.org> Reviewed-by:
Simon Glass <sjg@chromium.org>
-
- 10 Aug, 2018 1 commit
-
-
Compressed images should have their compression property set to "none" if U-Boot should leave them compressed. This is especially the case for compressed ramdisks that should be uncompressed by the kernel only. Signed-off-by:
Simon Goldschmidt <sgoldschmidt@de.pepperl-fuchs.com>
-
- 16 Jan, 2018 1 commit
-
-
The DT spec demands a unit-address in a node name to match the "reg" property in that node. Newer dtc versions will throw warnings if this is not the case. Fix all occurences in the FIT image documentation files where this was not observed, to not give bad examples to the reader. Signed-off-by:
Andre Przywara <andre.przywara@arm.com>
-
- 13 Dec, 2017 1 commit
-
-
For external data, FIT has a optional property "data-position" which can set the external data to a fixed offset to FIT beginning. Add the support for this property in SPL FIT. Signed-off-by:
Ye Li <ye.li@nxp.com> Signed-off-by:
Peng Fan <peng.fan@nxp.com> Reviewed-by:
Simon Glass <sjg@chromium.org> Reviewed-by:
Tomas Melin <tomas.melin@vaisala.com> Cc: Pantelis Antoniou <pantelis.antoniou@konsulko.com> Cc: "Andrew F. Davis" <afd@ti.com> Cc: Igor Grinberg <grinberg@compulab.co.il> Cc: "tomas.melin@vaisala.com" <tomas.melin@vaisala.com> Cc: Kever Yang <kever.yang@rock-chips.com> Cc: Andre Przywara <andre.przywara@arm.com> Cc: York Sun <york.sun@nxp.com> Cc: Lokesh Vutla <lokeshvutla@ti.com> Cc: "Cooper Jr., Franklin" <fcooper@ti.com> Cc: George McCollister <george.mccollister@gmail.com> Cc: Tuomas Tynkkynen <tuomas.tynkkynen@iki.fi> Cc: Jean-Jacques Hiblot <jjhiblot@ti.com> Cc: Rick Altherr <raltherr@google.com> Cc: Tom Rini <trini@konsulko.com> Reviewed-by:
Lokesh Vutla <lokeshvutla@ti.com> Reviewed-by:
York Sun <york.sun@nxp.com>
-
- 15 Sep, 2017 1 commit
-
-
Signed-off-by:
Pantelis Antoniou <pantelis.antoniou@konsulko.com> Reviewed-by: Łukasz Majewski Acked-by:
Simon Glass <sjg@chromium.org>
-
- 11 Sep, 2017 1 commit
-
-
York Sun authored
SPL supports U-Boot image in FIT format which has data outside of FIT structure. This adds support for embedded data for normal FIT images. Signed-off-by:
York Sun <york.sun@nxp.com> Reviewed-by:
Tom Rini <trini@konsulko.com> Reviewed-by:
Simon Glass <sjg@chromium.org>
-
- 26 Jul, 2017 1 commit
-
-
Tom Rini authored
In the source_file_format.txt file we talk about how to construct a valid FIT image. While it already says to look at the source for the full list, add kernel_noload to the explicit list of types. This is arguably the most important type to use as most often we are including a kernel that will run from wherever it is loaded into memory and execute. This for example, allows you to create a single FIT image for Linux that can be used on both OMAP and i.MX devices as the kernel will not need to be moved in memory. Signed-off-by:
Tom Rini <trini@konsulko.com>
-
- 03 Dec, 2016 1 commit
-
-
To help automate the loading of custom image types we add the ability to define custom handlers for the loadable section types. When we find a compatible type while loading a "loadable" image from a FIT image we run its associated handlers to perform any additional steps needed for loading this image. Signed-off-by:
Andrew F. Davis <afd@ti.com> Reviewed-by:
Simon Glass <sjg@chromium.org>
-
- 24 Jun, 2016 1 commit
-
-
When building a FIT with external data (-E), U-Boot proper may require absolute positioning for executing the external firmware. To acheive this use the (-p) switch, which will replace the amended 'data-offset' with 'data-position' indicating the absolute position of external data. It is considered an error if the requested absolute position overlaps with the initial data required for the compact FIT. Signed-off-by:
Teddy Reed <teddy.reed@gmail.com>
-
- 24 May, 2016 1 commit
-
-
Michal Simek authored
Add FIT_FPGA_PROP that user can identify an optional entry for fpga. Signed-off-by:
Michal Simek <michal.simek@xilinx.com> Reviewed-by:
Simon Glass <sjg@chromium.org>
-
- 01 Apr, 2016 1 commit
-
-
Different sections in the document suggest flattened image tree blob files have a file name extension of .itb. Fix the list of file extensions to reflect that. Signed-off-by:
Andreas Dannenberg <dannenberg@ti.com>
-
- 14 Mar, 2016 1 commit
-
-
One limitation of FIT is that all the data is 'inline' within it, using a 'data' property in each image node. This means that to find out what is in the FIT it is necessary to scan the entire file. Once loaded it can be scanned and then the images can be copied to the correct place in memory. In SPL it can take a significant amount of time to copy images around in memory. Also loading data that does not end up being used is wasteful. It would be useful if the FIT were small, acting as a directory, with the actual data stored elsewhere. This allows SPL to load the entire FIT, without the images, then load the images it wants later. Add a -E option to mkimage to request that it output an 'external' FIT. Signed-off-by:
Simon Glass <sjg@chromium.org>
-
- 06 Feb, 2016 1 commit
-
-
Correct spelling of "U-Boot" shall be used in all written text (documentation, comments in source files etc.). Signed-off-by:
Bin Meng <bmeng.cn@gmail.com> Reviewed-by:
Heiko Schocher <hs@denx.de> Reviewed-by:
Simon Glass <sjg@chromium.org> Reviewed-by:
Minkyu Kang <mk7.kang@samsung.com>
-
- 28 May, 2015 1 commit
-
-
Added FIT_LOADABLE_PROP, so the user can identify an optional entry named "loadables" in their .its configuration. "loadables" is a comma separated list in the .its Documentation can be found in doc/uImage.FIT/source_file_format.txt and doc/uImage.Fit/multi-with-loadables.its Signed-off-by:
Karl Apsite <Karl.Apsite@dornerworks.com> Reviewed-by:
Simon Glass <sjg@chromium.org>
-
- 29 Jan, 2015 2 commits
-
-
Guilherme Maciel Ferreira authored
Signed-off-by:
Guilherme Maciel Ferreira <guilherme.maciel.ferreira@gmail.com>
-
Guilherme Maciel Ferreira authored
According to fit_image_print(), the "os" property from "image" node is required also when "type=ramdisk". Signed-off-by:
Guilherme Maciel Ferreira <guilherme.maciel.ferreira@gmail.com>
-
- 22 Oct, 2014 2 commits
-
-
Simon Glass authored
Add a new setup@ section to the FIT which can be used to provide a setup binary for booting Linux on x86. This makes it possible to boot x86 from a FIT. Signed-off-by:
Simon Glass <sjg@chromium.org>
-
Simon Glass authored
This uses cfg instead of conf, and img instead of image. Fix these and update in a few other places. Signed-off-by:
Simon Glass <sjg@chromium.org>
-
- 17 Jan, 2014 1 commit
-
-
Masahiro Yamada authored
- Fix the path to source_file_format.txt - Fix a minor typo - Fix the type for FIT blob: it must be "flat_dt" Signed-off-by:
Masahiro Yamada <yamada.m@jp.panasonic.com>
-
- 20 Sep, 2013 1 commit
-
-
Masahiro Yamada authored
Signed-off-by:
Masahiro Yamada <yamada.m@jp.panasonic.com> Acked-by:
Simon Glass <sjg@chromium.org>
-
- 28 May, 2010 1 commit
-
-
Thomas Chou authored
The nios-32 arch is obsolete and broken. So it is removed. Signed-off-by:
Thomas Chou <thomas@wytron.com.tw>
-
- 09 Sep, 2008 2 commits
-
-
Signed-off-by:
Peter Tyser <ptyser@xes-inc.com>
-
Pantelis Antoniou stated: AFAIK, it is still used but the products using PPC are long gone. Nuke it plz (from orbit). So remove it since it cleans up a usage of env_get_char outside of the environment code. Signed-off-by:
Kumar Gala <galak@kernel.crashing.org>
-
- 26 Mar, 2008 1 commit
-
-
Wolfgang Denk authored
Signed-off-by:
Wolfgang Denk <wd@denx.de>
-
- 20 Mar, 2008 1 commit
-
-
Bartlomiej Sieka authored
Signed-off-by:
Bartlomiej Sieka <tur@semihalf.com>
-
- 12 Mar, 2008 1 commit
-
-
Marian Balakowicz authored
Create doc/uImage.FIT documentation directory with the following files: - command_syntax_extensions.txt : extended command syntax description - howto.txt : short usage howto - source_file_format.txt : internal new uImage format description Add example image source files: - kernel.its - kernel_fdt.its - multi.its Update README appropriately. Signed-off-by:
Marian Balakowicz <m8@semihalf.com> Signed-off-by:
Bartlomiej Sieka <tur@semihalf.com>
-