12 Oct, 2015

1 commit


28 Jul, 2015

1 commit

  • In order to achieve reproducible builds in U-Boot, timestamps that are defined
    at build-time have to be somewhat eliminated. The SOURCE_DATE_EPOCH environment
    variable allows setting a fixed value for those timestamps.

    Simply by setting SOURCE_DATE_EPOCH to a fixed value, a number of targets can be
    built reproducibly. This is the case for e.g. sunxi devices.

    However, some other devices might need some more tweaks, especially regarding
    the image generation tools.

    Signed-off-by: Paul Kocialkowski

    Paul Kocialkowski
     

30 Jan, 2015

4 commits


13 Dec, 2013

2 commits

  • Given a multi-file image created through the mkimage's -d option:

    $ mkimage -A x86 -O linux -T multi -n x86 -d vmlinuz:initrd.img:System.map \
    multi.img

    Image Name: x86
    Created: Thu Jul 25 10:29:13 2013
    Image Type: Intel x86 Linux Multi-File Image (gzip compressed)
    Data Size: 13722956 Bytes = 13401.32 kB = 13.09 MB
    Load Address: 00000000
    Entry Point: 00000000
    Contents:
    Image 0: 4040128 Bytes = 3945.44 kB = 3.85 MB
    Image 1: 7991719 Bytes = 7804.41 kB = 7.62 MB
    Image 2: 1691092 Bytes = 1651.46 kB = 1.61 MB

    It is possible to perform the innverse operation -- extracting any file from
    the image -- by using the dumpimage's -i option:

    $ dumpimage -i multi.img -p 2 System.map

    Although it's feasible to retrieve "data files" from image through scripting,
    the requirement to embed tools such 'dd', 'awk' and 'sed' for this sole purpose
    is cumbersome and unreliable -- once you must keep track of file sizes inside
    the image. Furthermore, extracting data files using "dumpimage" tool is faster
    than through scripting.

    Signed-off-by: Guilherme Maciel Ferreira
    Signed-off-by: Simon Glass

    Guilherme Maciel Ferreira
     
  • In order to avoid duplicating code and keep only one point of modification,
    the functions, structs and defines useful for "dumpimage" were moved from
    "mkimage" to a common module called "imagetool".

    This modification also weakens the coupling between image types (FIT, IMX, MXS,
    and so on) and image tools (mkimage and dumpimage). Any tool may initialize the
    "imagetool" through register_image_tool() function, while the image types
    register themselves within an image tool using the register_image_type()
    function:

    +---------------+
    +------| fit_image |
    +--------------+ +-----------+ | +---------------+
    | mkimage |--------> | | | |
    Signed-off-by: Simon Glass

    Guilherme Maciel Ferreira
     

24 Jul, 2013

1 commit


01 Dec, 2011

1 commit

  • The legacy uImage format includes an absolute load and entry-point
    address. When bootm operates on a kernel uImage in memory that isn't
    loaded at the address in the image's load address, U-Boot will copy
    the image to its address in the header.

    Some kernel images can actually be loaded and used at any arbitrary
    address. An example is an ARM Linux kernel zImage file. To represent
    this capability, IH_TYPE_KERNEL_NOLOAD is implemented, which operates
    just like IH_TYPE_KERNEL, except that the load address header is
    ignored, and U-Boot does not copy the image to its load address, but
    rather uses it in-place.

    This is useful when sharing a single (uImage-wrapped) zImage across
    multiple boards with different memory layouts; in this case, a specific
    load address need not be picked when creating the uImage, but instead
    is selected by the board-specific U-Boot environment used to load and
    boot that image.

    v2: Rename from IH_TYPE_KERNEL_ANYLOAD to IH_TYPE_KERNEL_NOLOAD.

    Signed-off-by: Stephen Warren
    Signed-off-by: Stefan Roese

    Stephen Warren
     

22 Oct, 2011

1 commit

  • This avoids the following checkpatch warning in later patches:

    ERROR: "(foo*)" should be "(foo *)"
    ERROR: space required before the open brace '{'
    ERROR: space prohibited before that close parenthesis ')'
    ERROR: spaces required around that '||' (ctx:WxV)
    WARNING: space prohibited between function name and open parenthesis '('
    WARNING: line over 80 characters

    This fixes all the white-space warnings/errors in my subsequent patch,
    and within this current patch. A number of other checkpatch warnings
    and errors are still present in this patch itself, but are beyond simple
    whitespace fixes, so are not solved by this patch.

    v2: New patch

    Signed-off-by: Stephen Warren
    Tested-by: Simon Glass
    Tested-by: Simon Glass

    Stephen Warren
     

11 Sep, 2009

1 commit

  • This is a first step towards reorganizing the mkimage code to make it
    easier to add support for additional images types. Current mkimage
    code is specific to generating uImage and FIT image files, but the
    same framework can be used to generate other image types like
    Kirkwood boot images (kwbimage-TBD). For this, the mkimage code gets
    reworked:

    Here is the brief plan for the same:-
    a) Split mkimage code into core and image specific support
    b) Implement callback functions for image specific code
    c) Move image type specific code to respective C files
    Currently there are two types of file generation/list
    supported (i.e uImage, FIT), the code is abstracted from
    mkimage.c/.h and put in default_image.c and fit_image.c;
    all code in these file is static except init function call
    d) mkimage_register API is added to add new image type support
    All above is addressed in this patch
    e) Add kwbimage type support to this new framework (TBD)
    This will be implemented in a following commit.

    Signed-off-by: Prafulla Wadaskar
    Edit commit message, fix coding style and typos.
    Signed-off-by: Wolfgang Denk

    Prafulla Wadaskar