16 Jan, 2018

2 commits


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
    Signed-off-by: Peng Fan
    Reviewed-by: Simon Glass
    Reviewed-by: Tomas Melin
    Cc: Pantelis Antoniou
    Cc: "Andrew F. Davis"
    Cc: Igor Grinberg
    Cc: "tomas.melin@vaisala.com"
    Cc: Kever Yang
    Cc: Andre Przywara
    Cc: York Sun
    Cc: Lokesh Vutla
    Cc: "Cooper Jr., Franklin"
    Cc: George McCollister
    Cc: Tuomas Tynkkynen
    Cc: Jean-Jacques Hiblot
    Cc: Rick Altherr
    Cc: Tom Rini
    Reviewed-by: Lokesh Vutla
    Reviewed-by: York Sun

    Peng Fan
     

24 Oct, 2017

1 commit


15 Sep, 2017

2 commits


11 Sep, 2017

2 commits


27 Aug, 2017

1 commit


26 Jul, 2017

1 commit

  • 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

    Tom Rini
     

18 May, 2017

1 commit

  • So far we were not using the FIT image format to its full potential:
    The SPL FIT loader was just loading the first image from the /images
    node plus one of the listed DTBs.
    Now with the refactored loader code it's easy to load an arbitrary
    number of images in addition to the two mentioned above.
    As described in the FIT image source file format description, iterate
    over all images listed at the "loadables" property in the configuration
    node and load every image at its desired location.
    This allows to load any kind of images:
    - firmware images to execute before U-Boot proper (for instance
    ARM Trusted Firmware (ATF))
    - firmware images for management processors (SCP, arisc, ...)
    - firmware images for devices like WiFi controllers
    - bit files for FPGAs
    - additional configuration data
    - kernels and/or ramdisks
    The actual usage of this feature would be platform and/or board specific.

    Also update the FIT documentation to mention the new SPL feature and
    provide an example .its file to demonstrate its features.

    Signed-off-by: Andre Przywara
    Reviewed-by: Lokesh Vutla
    Reviewed-by: Simon Glass
    Tested-by: Heiko Stuebner
    Reviewed-by: Kever Yang
    Tested-by: Kever Yang
    Tested-by: Jagan Teki
    Reviewed-by: Jagan Teki

    Andre Przywara
     

15 Jan, 2017

1 commit

  • Add support for signing with the pkcs11 engine. This allows FIT images
    to be signed with keys securely stored on a smartcard, hardware security
    module, etc without exposing the keys.

    Support for other engines can be added in the future by modifying
    rsa_engine_get_pub_key() and rsa_engine_get_priv_key() to construct
    correct key_id strings.

    Signed-off-by: George McCollister

    George McCollister
     

04 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
    Reviewed-by: Simon Glass

    Andrew F. Davis
     

16 Aug, 2016

1 commit


25 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
     

24 May, 2016

1 commit


02 Apr, 2016

2 commits


15 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

    Simon Glass
     

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
    Reviewed-by: Heiko Schocher
    Reviewed-by: Simon Glass
    Reviewed-by: Minkyu Kang

    Bin Meng
     

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
    Reviewed-by: Simon Glass

    Karl Apsite
     

30 Jan, 2015

2 commits


22 Oct, 2014

2 commits


09 Aug, 2014

1 commit

  • Remove the verified boot limitation that only allows a single
    RSA public exponent of 65537 (F4). This change allows use with
    existing PKI infrastructure and has been tested with HSM-based
    PKI.

    Change the configuration OF tree format to store the RSA public
    exponent as a 64 bit integer and implement backward compatibility
    for verified boot configuration trees without this extra field.

    Parameterise vboot_test.sh to test different public exponents.

    Mathematics and other hard work by Andrew Bott.

    Tested with the following public exponents: 3, 5, 17, 257, 39981,
    50457, 65537 and 4294967297.

    Signed-off-by: Andrew Bott
    Signed-off-by: Andrew Wishart
    Signed-off-by: Neil Piercy
    Signed-off-by: Michael van der Westhuizen
    Cc: Simon Glass

    Michael van der Westhuizen
     

19 Jun, 2014

2 commits


06 Jun, 2014

2 commits

  • make the use of legacy image format configurable through
    the config define CONFIG_IMAGE_FORMAT_LEGACY.

    When relying on signed FIT images with required signature check
    the legacy image format should be disabled. Therefore introduce
    this new define and enable legacy image format if CONFIG_FIT_SIGNATURE
    is not set. If CONFIG_FIT_SIGNATURE is set disable per default
    the legacy image format.

    Signed-off-by: Heiko Schocher
    Cc: Simon Glass
    Cc: Lars Steubesand
    Cc: Mike Pearce
    Cc: Wolfgang Denk
    Cc: Tom Rini
    Cc: Michal Simek
    Acked-by: Simon Glass

    Heiko Schocher
     
  • The Device Tree Compiler (DTC) used to have its master
    repository located on jdl.com. While it is still there,
    its official, new, shiny location is on kernel.org here:

    git://git.kernel.org/pub/scm/utils/dtc/dtc.git

    Update a few references to point there instead.

    Signed-off-by: Jon Loeliger
    Acked-by: Simon Glass

    Jon Loeliger
     

22 Mar, 2014

2 commits

  • add host tool "fit_check_sign" which verifies, if a fit image is
    signed correct.

    Signed-off-by: Heiko Schocher
    Cc: Simon Glass

    Heiko Schocher
     
  • based on patch from andreas@oetken.name:

    http://patchwork.ozlabs.org/patch/294318/
    commit message:
    I currently need support for rsa-sha256 signatures in u-boot and found out that
    the code for signatures is not very generic. Thus adding of different
    hash-algorithms for rsa-signatures is not easy to do without copy-pasting the
    rsa-code. I attached a patch for how I think it could be better and included
    support for rsa-sha256. This is a fast first shot.

    aditionally work:
    - removed checkpatch warnings
    - removed compiler warnings
    - rebased against current head

    Signed-off-by: Heiko Schocher
    Cc: andreas@oetken.name
    Cc: Simon Glass

    Heiko Schocher
     

17 Jan, 2014

1 commit


20 Sep, 2013

1 commit


26 Jun, 2013

4 commits

  • Add a description of how to implement verified boot using signed FIT images,
    and a simple test which verifies operation on sandbox.

    The test signs a FIT image and verifies it, then signs a FIT configuration
    and verifies it. Then it corrupts the signature to check that this is
    detected.

    Signed-off-by: Simon Glass

    Simon Glass
     
  • While signing images is useful, it does not provide complete protection
    against several types of attack. For example, it it possible to create a
    FIT with the same signed images, but with the configuration changed such
    that a different one is selected (mix and match attack). It is also possible
    to substitute a signed image from an older FIT version into a newer FIT
    (roll-back attack).

    Add support for signing of FIT configurations using the libfdt's region
    support.

    Please see doc/uImage.FIT/signature.txt for more information.

    Signed-off-by: Simon Glass

    Simon Glass
     
  • Add support for signing images using a new signature node. The process
    is handled by fdt_add_verification_data() which now takes parameters to
    provide the keys and related information.

    Signed-off-by: Simon Glass

    Simon Glass
     
  • Add a structure to describe an algorithm which can sign and (later) verify
    images.

    Signed-off-by: Simon Glass

    Simon Glass
     

10 Aug, 2010

1 commit

  • since commit 1384f3bb8a4f9066805b70c1418eda78ecb73fdd ethernet names
    with spaces drop a

    Warning: eth device name has a space!

    message. This patch fix it for:

    - "FEC ETHERNET" devices found on
    mpc512x, mpc5xxx, mpc8xx and mpc8220 boards.
    renamed to "FEC".
    - "SCC ETHERNET" devices found on
    mpc8xx, mpc82xx based boards. Renamed to "SCC".
    - "HDLC ETHERNET" devices found on mpc8xx boards
    Renamed to "HDLC"
    - "FCC ETHERNET" devices found on mpc8260 and mpc85xx based
    boards. Renamed to "FCC"

    Tested on the kup4k board.

    Signed-off-by: Heiko Schocher
    Signed-off-by: Ben Warren

    Heiko Schocher
     

28 May, 2010

1 commit