1. 06 10月, 2020 1 次提交
    • M
      distro_bootcmd: call EFI bootmgr even without having /EFI/boot · f3866909
      Michael Walle 提交于
      Currently, the EFI bootmgr is only called if there is a EFI binary
      inside the path for removable media is found, i.e. /EFI/boot/. This
      doesn't make sense. It is the duty of the bootmgr to find out the
      path and name of the EFI binary to boot. It should be called even
      if there is no /EFI/boot directory.
      
      Thus, call the bootmgr before we try to boot the EFI binary inside
      the removable media path.
      
      Also remove the ${fdtcontroladdr} parameter because the fallback is
      handled in cmd/bootefi.c and that already takes care of correct settings
      if the board has ACPI and thus no device tree at all.
      Signed-off-by: NMichael Walle <michael@walle.cc>
      Reviewed-by: NHeinrich Schuchardt <xypron.glpk@gmx.de>
      f3866909
  2. 31 10月, 2019 1 次提交
  3. 25 7月, 2019 1 次提交
  4. 21 6月, 2019 1 次提交
  5. 13 2月, 2019 2 次提交
  6. 26 11月, 2018 2 次提交
  7. 17 11月, 2018 1 次提交
    • M
      Ability to modify distro boot filename · ad5fbc6e
      Martyn Welch 提交于
      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: NMartyn Welch <martyn.welch@collabora.co.uk>
      Reviewed-by: NHeinrich Schuchardt <xypron.glpk@gmx.de>
      ad5fbc6e
  8. 24 9月, 2018 1 次提交
  9. 29 5月, 2018 1 次提交
    • A
      distro: Extend with RISC-V defines · 2c6903fa
      Alexander Graf 提交于
      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: NAlexander Graf <agraf@suse.de>
      2c6903fa
  10. 07 5月, 2018 1 次提交
    • T
      SPDX: Convert all of our single license tags to Linux Kernel style · 83d290c5
      Tom Rini 提交于
      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: NTom Rini <trini@konsulko.com>
      83d290c5
  11. 29 1月, 2018 1 次提交
    • D
      distro bootcmd: Allow board defined UBI partition and volume names · 6e1364fe
      Derald D. Woods 提交于
      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: NDerald D. Woods <woods.technical@gmail.com>
      6e1364fe
  12. 30 11月, 2017 1 次提交
  13. 20 9月, 2017 1 次提交
    • R
      efi_loader: add bootmgr · 9975fe96
      Rob Clark 提交于
      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: NRob Clark <robdclark@gmail.com>
      Signed-off-by: NAlexander Graf <agraf@suse.de>
      9975fe96
  14. 12 8月, 2017 1 次提交
  15. 12 7月, 2017 1 次提交
  16. 23 5月, 2017 1 次提交
    • S
      Kconfig: Add a CONFIG_IDE option · fc843a02
      Simon Glass 提交于
      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: NSimon Glass <sjg@chromium.org>
      fc843a02
  17. 28 1月, 2017 1 次提交
  18. 25 6月, 2016 1 次提交
    • A
      efi_loader: Fix typo in distro script · fba5f93c
      Alexander Graf 提交于
      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: NAlexander Graf <agraf@suse.de>
      fba5f93c
  19. 28 5月, 2016 1 次提交
    • A
      distro: Add efi pxe boot code · 20898ea9
      Alexander Graf 提交于
      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: NAlexander Graf <agraf@suse.de>
      Reviewed-by: NTom Rini <trini@konsulko.com>
      20898ea9
  20. 17 5月, 2016 1 次提交
  21. 19 4月, 2016 2 次提交
  22. 16 3月, 2016 2 次提交
    • A
      arm64: Replace fdt_name env variables with fdtfile · da3e620d
      Alexander Graf 提交于
      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: NAlexander Graf <agraf@suse.de>
      da3e620d
    • A
      efi_loader: Add distro boot script for removable media · 74522c89
      Alexander Graf 提交于
      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: NAlexander Graf <agraf@suse.de>
      Reviewed-by: NSimon Glass <sjg@chromium.org>
      74522c89
  23. 29 1月, 2016 2 次提交
  24. 25 10月, 2015 1 次提交
  25. 23 10月, 2015 1 次提交
  26. 20 4月, 2015 1 次提交
  27. 26 3月, 2015 1 次提交
  28. 13 3月, 2015 1 次提交
  29. 17 2月, 2015 1 次提交
  30. 30 1月, 2015 3 次提交
  31. 18 1月, 2015 1 次提交
  32. 25 9月, 2014 1 次提交
  33. 12 8月, 2014 1 次提交
    • D
      config: introduce a generic $bootcmd · 8cc96848
      Dennis Gilmore 提交于
      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: NDennis Gilmore <dennis@ausil.us>
      Signed-off-by: NStephen Warren <swarren@nvidia.com>
      Reviewed-by: NMarek Vasut <marex@denx.de>
      Acked-by: NSimon Glass <sjg@chromium.org>
      8cc96848