11 Sep, 2018

1 commit

  • On some systems the host system or even the cross sysroot can
    contain a version.h. This leads to the wrong file being picked
    up and a PLAIN_VERSION undefined error.

    This workaround symlinks the version.h into the tool folder to
    allow reordering of search folders.

    Fixes
    http://autobuild.buildroot.net/results/770/7702d5df36a6532aafdbe6e9e62709bbfa058b54/build-end.log
    http://autobuild.buildroot.net/results/e34/e3401027d2fb3ce565ca9e2456a427afd3610a87/build-end.log
    ... additional can be found with these queries ...
    http://autobuild.buildroot.net/?reason=uboot-tools-2018.03
    http://autobuild.buildroot.net/?reason=uboot-tools-2018.05

    Upstream: pending

    Signed-off-by: Matthew Weber

    Matt Weber
     

02 Jul, 2018

1 commit


28 Jun, 2018

1 commit


13 Jun, 2018

2 commits


07 May, 2018

1 commit

  • When U-Boot started using SPDX tags we were among the early adopters and
    there weren't a lot of other examples to borrow from. So we picked the
    area of the file that usually had a full license text and replaced it
    with an appropriate SPDX-License-Identifier: entry. Since then, the
    Linux Kernel has adopted SPDX tags and they place it as the very first
    line in a file (except where shebangs are used, then it's second line)
    and with slightly different comment styles than us.

    In part due to community overlap, in part due to better tag visibility
    and in part for other minor reasons, switch over to that style.

    This commit changes all instances where we have a single declared
    license in the tag as both the before and after are identical in tag
    contents. There's also a few places where I found we did not have a tag
    and have introduced one.

    Signed-off-by: Tom Rini

    Tom Rini
     

11 Apr, 2018

1 commit


20 Mar, 2018

4 commits


05 Mar, 2018

1 commit


15 Feb, 2018

1 commit


28 Jan, 2018

1 commit


30 Nov, 2017

1 commit

  • Up to now we were able to read/write environment data from/to UBI
    volumes only indirectly by gluebi driver. This driver creates NAND MTD
    on top of UBI volumes, which is quite a workaroung for this use case.

    Add support for direct read/write UBI volumes in order to not use
    obsolete gluebi driver.

    Forward-ported from this patch:
    http://patchwork.ozlabs.org/patch/619305/

    Original patch:
    Signed-off-by: Marcin Niestroj

    Forward port:
    Signed-off-by: S. Lockwood-Childs

    S. Lockwood-Childs
     

21 Nov, 2017

1 commit


06 Nov, 2017

1 commit

  • The fw_env utility family has a default environment compiled in
    which ties it quite strongly to the U-Boot source/config it has
    been built with. Allow to display the U-Boot version it has been
    built with using the -v/--version argument.

    Signed-off-by: Stefan Agner
    Reviewed-by: Lukasz Majewski

    Stefan Agner
     

16 Oct, 2017

1 commit


06 Sep, 2017

3 commits

  • The target is not currently mentioned anywhere. Add it to the help so
    people can find it.

    Signed-off-by: Simon Glass

    Simon Glass
     
  • This was broken by the recent environment refactoring. Specifically:

    $ make environ
    scripts/Makefile.build:59: tools/environ/Makefile: No such file or directory
    make[1]: *** No rule to make target 'tools/environ/Makefile'. Stop.
    make: *** [Makefile:1469: environ] Error 2

    Fix this by updating the Makefile and adjusting the #include filesnames in
    two C files.

    Fixes: ec74f5f (Makefile: Rename 'env' target to 'environ')
    Reported-by: Måns Rullgård
    Signed-off-by: Simon Glass

    Simon Glass
     
  • With the move of environment code from common/ to env/ a number of
    changes needed to be made to various make targets. We missed updating
    some of the files required for out of tree builds of the tools. Correct
    the 'environ' target to know that we need to work under tools/env/ still
    (not tools/environ/) and then update the wrappers in env_attr.c and
    env_flags.c to point to the new correct file.

    Reported-by: Peter Robinson
    Tested-by: Peter Robinson
    Signed-off-by: Tom Rini

    Tom Rini
     

04 Sep, 2017

1 commit

  • According to fsync specification [1] some special files (e.g., a pipe, FIFO,
    or socket) don't support synchronization and return either EROFS or EINVAL.

    On the linux side the sys_fsync -> do_fsync() checks if the requested file
    has f_op->fsync defined. If not it returns EINVAL [2].

    This commit prevents writing error messages for files (devices), which
    do not support fsync().

    [1] - http://man7.org/linux/man-pages/man2/fsync.2.html
    [2] - http://elixir.free-electrons.com/linux/v4.13-rc6/source/fs/sync.c#L183

    Signed-off-by: Lukasz Majewski
    Acked-by: Michael Heimpold

    Lukasz Majewski
     

16 Aug, 2017

1 commit


23 Jul, 2017

1 commit


18 Apr, 2017

1 commit


13 Apr, 2017

4 commits

  • fw_env_open allocates buffers to store the environment, but these
    buffers are never freed. This becomes quite nasty using the fw_ tools as
    library, because each access to the environment (even just reading a
    variable) generates a memory leak equal to the size of the environment.

    Fix this renaming fw_env_close() as fw_env_flush(), because the function
    really flushes the environment from RAM to storage, and add a
    fw_env_close function to free the allocated resources.

    Signed-off-by: Stefano Babic

    Stefano Babic
     
  • Changes in the environment library are difficult to tracked by programs
    using the library. Add simply an API version number that must be
    increased each time when the API is changed.

    This can be detected and a program can work with different versions of
    the library.

    Signed-off-by: Stefano Babic

    Stefano Babic
     
  • Move U-Boot private data into a separate file. This
    lets export fw_env.h to be used by external programs
    that want to change the environment using the library
    built in tools/env.

    Signed-off-by: Stefano Babic

    Stefano Babic
     
  • aes.h is a too generic name if this file can
    be exported and used by a program.
    Rename it to avoid any conflicts with
    other files (for example, from openSSL).

    Signed-off-by: Stefano Babic

    Stefano Babic
     

15 Mar, 2017

1 commit

  • Richard reported U-Boot tools issues in OpenEmbedded/Yocto project.

    OE needs to be able to change the default compiler. If we pass in
    HOSTCC through the make command, it overwrites all HOSTCC instances,
    including ones in tools/Makefile and tools/env/Makefile, which breaks
    "make cross_tools" and "make env", respectively.

    Add "override" directives to avoid overriding HOSTCC instances that
    really need to point to the cross-compiler.

    Signed-off-by: Masahiro Yamada
    Reported-by: Richard Purdie
    Reviewed-by: Simon Glass

    Masahiro Yamada
     

29 Nov, 2016

1 commit

  • commit 183923d3e412500bdc597d1745e2fb6f7f679ec7 enforces that the
    environment must start at an erase block boundary.

    For block devices the sample fw_env.config does not mandate a erase block size
    for block devices. A missing setting defaults to the full env size.

    Depending on the environment location the alignment check now errors out for
    perfectly legal settings.

    Fix this by defaulting to the standard blocksize of 0x200 for environments
    stored in a block device.
    That keeps the fw_env.config files for block devices working even with that
    new check.

    Signed-off-by: Max Krummenacher

    Max Krummenacher
     

08 Oct, 2016

1 commit

  • The default lockname is set to /var/lock. This limits the
    usage of this application where OS uses different lockfile
    location parameter.
    For example, In case of android, the default lock
    path location is /data.
    Hence by providing the command line option to input lockfile
    path will be useful to reuse the tool across multiple
    operating system.

    usage: ./fw_printenv -l

    Signed-off-by: Ravi Babu

    B, Ravi
     

07 Oct, 2016

4 commits


21 Aug, 2016

2 commits


16 Aug, 2016

1 commit

  • 56086921 added support for unaligned environments access.
    U-boot itself does not support this:
    - env_nand.c fails when using an unaligned offset. It produces an
    error in nand_erase_opts{drivers/mtd/nand/nand_util.c}
    - in env_sf/env_flash the unused space at the end is preserved, but
    not in the beginning. block alignment is assumed
    - env_sata/env_mmc aligns offset/length to the block size of the
    underlying device. data is silently redirected to the beginning of
    a block

    There is seems no use case for unaligned environment. If there is
    some useful data at the beginning of the the block (e.g. end of u-boot)
    that would be very unsafe. If the redundant environments are hosted by
    the same erase block then that invalidates the idea of double buffering.
    It might be that unaligned access was allowed in the past, and that
    people with legacy u-boot are trapped. But at the time of 56086921
    it wasn't supported and due to reasons above I guess it was never
    introduced.
    I prefer to remove that (unused) feature in favor of simplicity

    Signed-off-by: Andreas Fenkart
    Acked-by: Stefan Agner

    Andreas Fenkart
     

26 Jul, 2016

1 commit