1. 26 Nov, 2018 2 commits
  2. 16 Nov, 2018 1 commit
    • Martyn Welch's avatar
      Ability to modify distro boot filename · ad5fbc6e
      Martyn Welch authored and Tom Rini's avatar Tom Rini committed
      
      
      Add in the ability to modify the distro boot filename. Whilst not
      immediately useful in normal usage, it allows an alternative
      configuration to be provided when other u-boot functionality is used, such
      as bootcount limit, to fallback to an alternative boot configuration. In
      this case we can follow the same boot path as for normal boot, just
      using an alternatively named configuration file.
      
      For example, by providing the following `altbootcmd` when bootcount is in
      use:
      
      altbootcmd=setenv boot_extlinx_conf extlinux-rollback.conf; \
      	run distro_bootcmd
      Signed-off-by: default avatarMartyn Welch <martyn.welch@collabora.co.uk>
      Reviewed-by: Heinrich Schuchardt's avatarHeinrich Schuchardt <xypron.glpk@gmx.de>
      ad5fbc6e
  3. 23 Sep, 2018 1 commit
  4. 29 May, 2018 1 commit
    • Alexander Graf's avatar
      distro: Extend with RISC-V defines · 2c6903fa
      Alexander Graf authored
      
      
      While we don't have UEFI naming conventions for RISC-V file paths yet,
      we need to search for something. So let's copy the removable file paths
      from the RISC-V edk2 port.
      
      Also add the official VCI strings that contain the standardized RISC-V
      architecture ID fields.
      Signed-off-by: default avatarAlexander Graf <agraf@suse.de>
      2c6903fa
  5. 07 May, 2018 1 commit
    • Tom Rini's avatar
      SPDX: Convert all of our single license tags to Linux Kernel style · 83d290c5
      Tom Rini authored
      
      
      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's avatarTom Rini <trini@konsulko.com>
      83d290c5
  6. 28 Jan, 2018 1 commit
    • Derald D. Woods's avatar
      distro bootcmd: Allow board defined UBI partition and volume names · 6e1364fe
      Derald D. Woods authored and Tom Rini's avatar Tom Rini committed
      
      
      This commit allows overriding the default assumption that the boot UBI
      MTD partition is named 'UBI' and the UBI volume is 'boot'. A board
      desiring to use a legacy or alternative NAND layout can now define the
      following two extra environment variables:
      
      	bootubipart=<some_ubi_partition_name>
      	bootubivol=<some_ubi_volume_name>
      
      EXAMPLE:
      
      [include/configs/some_board.h]
      ---8<-------------------------------------------------------------------
      [...]
      	#include <config_distro_defaults.h>
      
      	#define MEM_LAYOUT_ENV_SETTINGS \
      		DEFAULT_LINUX_BOOT_ENV
      
      	#define BOOT_TARGET_DEVICES(func) \
      		func(UBIFS, ubifs, 0)
      
      	#include <config_distro_bootcmd.h>
      [...]
      	#define CONFIG_EXTRA_ENV_SETTINGS \
      		MEM_LAYOUT_ENV_SETTINGS \
      		"bootubivol=rootfs\0" \
      		"bootubipart=rootfs\0" \
      		BOOTENV
      [...]
      ---8<-------------------------------------------------------------------
      Signed-off-by: default avatarDerald D. Woods <woods.technical@gmail.com>
      6e1364fe
  7. 30 Nov, 2017 1 commit
  8. 20 Sep, 2017 1 commit
    • Rob Clark's avatar
      efi_loader: add bootmgr · 9975fe96
      Rob Clark authored
      
      
      Similar to a "real" UEFI implementation, the bootmgr looks at the
      BootOrder and BootXXXX variables to try to find an EFI payload to load
      and boot.  This is added as a sub-command of bootefi.
      
      The idea is that the distro bootcmd would first try loading a payload
      via the bootmgr, and then if that fails (ie. first boot or corrupted
      EFI variables) it would fallback to loading bootaa64.efi.  (Which
      would then load fallback.efi which would look for \EFI\*\boot.csv and
      populate BootOrder and BootXXXX based on what it found.)
      Signed-off-by: default avatarRob Clark <robdclark@gmail.com>
      Signed-off-by: default avatarAlexander Graf <agraf@suse.de>
      9975fe96
  9. 11 Aug, 2017 1 commit
  10. 11 Jul, 2017 1 commit
  11. 22 May, 2017 1 commit
    • Simon Glass's avatar
      Kconfig: Add a CONFIG_IDE option · fc843a02
      Simon Glass authored and Tom Rini's avatar Tom Rini committed
      
      
      At present IDE support is controlled by CONFIG_CMD_IDE. Add a separate
      CONFIG_IDE option so that IDE support can be enabled without requiring
      the 'ide' command.
      
      Update existing users and move the ide driver into drivers/block since
      it should not be in common/.
      Signed-off-by: Simon Glass's avatarSimon Glass <sjg@chromium.org>
      fc843a02
  12. 28 Jan, 2017 1 commit
  13. 24 Jun, 2016 1 commit
    • Alexander Graf's avatar
      efi_loader: Fix typo in distro script · fba5f93c
      Alexander Graf authored and Tom Rini's avatar Tom Rini committed
      
      
      The distro script is supposed to use the internal fdt as fallback if we
      find no viable other option. However, we're missing a space key to actually
      make that work.
      
      Add the space, so we can successfully load an EFI blob even when there is
      no device tree provided on the target device.
      Signed-off-by: default avatarAlexander Graf <agraf@suse.de>
      fba5f93c
  14. 27 May, 2016 1 commit
    • Alexander Graf's avatar
      distro: Add efi pxe boot code · 20898ea9
      Alexander Graf authored and Tom Rini's avatar Tom Rini committed
      
      
      Now that we can expose network functionality to EFI applications,
      the logical next step is to load them via pxe to execute them as
      well.
      
      This patch adds the necessary bits to the distro script to automatically
      load and execute EFI payloads. It identifies the dhcp client as a uEFI
      capable PXE client, hoping the server returns a tftp path to a workable
      EFI binary that we can then execute.
      
      To enable boards that don't come with a working device tree preloaded,
      this patch also adds support to load a device tree from the /dtb directory
      on the remote tftp server.
      Signed-off-by: default avatarAlexander Graf <agraf@suse.de>
      Reviewed-by: Tom Rini's avatarTom Rini <trini@konsulko.com>
      20898ea9
  15. 17 May, 2016 1 commit
  16. 18 Apr, 2016 2 commits
  17. 16 Mar, 2016 2 commits
    • Alexander Graf's avatar
      arm64: Replace fdt_name env variables with fdtfile · da3e620d
      Alexander Graf authored and Tom Rini's avatar Tom Rini committed
      
      
      The commonly defined environment variable to determine the device tree
      file name is called fdtfile rather than fdt_name. Replace all occurences
      of fdt_name with fdtfile.
      Signed-off-by: default avatarAlexander Graf <agraf@suse.de>
      da3e620d
    • Alexander Graf's avatar
      efi_loader: Add distro boot script for removable media · 74522c89
      Alexander Graf authored and Tom Rini's avatar Tom Rini committed
      
      
      UEFI defines a simple boot protocol for removable media. There we should look
      at the EFI (first GPT FAT) partition and search for /efi/boot/bootXXX.efi with
      XXX being different between different platforms (x86, x64, arm, aa64, ...).
      
      This patch implements a simple version of that protocol for the default distro
      boot script. With this we can automatically boot from valid UEFI enabled
      removable media.
      
      Because from all I could see U-Boot by default doesn't deliver device tree
      blobs with its firmware, we also need to load the dtb from somewhere. Traverse
      the same EFI partition for an fdt file that fits our current board so that
      an OS receives a valid device tree when booted automatically.
      Signed-off-by: default avatarAlexander Graf <agraf@suse.de>
      Reviewed-by: Simon Glass's avatarSimon Glass <sjg@chromium.org>
      74522c89
  18. 29 Jan, 2016 2 commits
  19. 24 Oct, 2015 1 commit
  20. 22 Oct, 2015 1 commit
  21. 19 Apr, 2015 1 commit
  22. 25 Mar, 2015 1 commit
  23. 13 Mar, 2015 1 commit
  24. 16 Feb, 2015 1 commit
  25. 30 Jan, 2015 1 commit
  26. 29 Jan, 2015 2 commits
  27. 18 Jan, 2015 1 commit
  28. 24 Sep, 2014 1 commit
  29. 12 Aug, 2014 1 commit
    • Dennis Gilmore's avatar
      config: introduce a generic $bootcmd · 8cc96848
      Dennis Gilmore authored
      
      
      This generic $bootcmd, and associated support macros, automatically
      searches a defined set of storage devices (or network protocols) for an
      extlinux configuration file or U-Boot boot script in various standardized
      locations. Distros that install such a boot config file/script in those
      standard locations will get easy-to-set-up booting on HW that enables
      this generic $bootcmd.
      
      Boards can define the set of devices from which boot is attempted, and
      the order in which they are attempted. Users may later customize this
      set/order by edting $boot_targets.
      
      Users may interrupt the boot process and boot from a specific device
      simply by executing e.g.:
      
      $ run bootcmd_mmc1
      or:
      $ run bootcmd_pxe
      
      This patch was originally written by Dennis Gilmore based on Tegra and
      rpi_b boot scripts. I have made the following modifications since then:
      
      * Boards must define the BOOT_TARGET_DEVICES macro in order to specify
        the set of devices (and order) from which to attempt boot. If needed,
        we can define a default directly in config_distro_bootcmd.h.
      
      * Removed $env_import and related variables; nothing used them, and I
        think it's better for boards to pre-load an environment customization
        file using CONFIG_PREBOOT if they need.
      
      * Renamed a bunch of variables to suit my whims:-)
      Signed-off-by: default avatarDennis Gilmore <dennis@ausil.us>
      Signed-off-by: Stephen Warren's avatarStephen Warren <swarren@nvidia.com>
      Reviewed-by: Marek Vasut's avatarMarek Vasut <marex@denx.de>
      Acked-by: Simon Glass's avatarSimon Glass <sjg@chromium.org>
      8cc96848
  30. 09 Aug, 2014 1 commit
    • Dennis Gilmore's avatar
      config: introduce a generic $bootcmd · 2a43201a
      Dennis Gilmore authored
      
      
      This generic $bootcmd, and associated support macros, automatically
      searches a defined set of storage devices (or network protocols) for an
      extlinux configuration file or U-Boot boot script in various standardized
      locations. Distros that install such a boot config file/script in those
      standard locations will get easy-to-set-up booting on HW that enables
      this generic $bootcmd.
      
      Boards can define the set of devices from which boot is attempted, and
      the order in which they are attempted. Users may later customize this
      set/order by edting $boot_targets.
      
      Users may interrupt the boot process and boot from a specific device
      simply by executing e.g.:
      
      $ run bootcmd_mmc1
      or:
      $ run bootcmd_pxe
      
      This patch was originally written by Dennis Gilmore based on Tegra and
      rpi_b boot scripts. I have made the following modifications since then:
      
      * Boards must define the BOOT_TARGET_DEVICES macro in order to specify
        the set of devices (and order) from which to attempt boot. If needed,
        we can define a default directly in config_distro_bootcmd.h.
      
      * Removed $env_import and related variables; nothing used them, and I
        think it's better for boards to pre-load an environment customization
        file using CONFIG_PREBOOT if they need.
      
      * Renamed a bunch of variables to suit my whims:-)
      Signed-off-by: default avatarDennis Gilmore <dennis@ausil.us>
      Signed-off-by: Stephen Warren's avatarStephen Warren <swarren@nvidia.com>
      Reviewed-by: Marek Vasut's avatarMarek Vasut <marex@denx.de>
      Acked-by: Simon Glass's avatarSimon Glass <sjg@chromium.org>
      2a43201a