Commit Graph

32 Commits

Author SHA1 Message Date
Peter Korsgaard
49453aea90 boot/Config.in: fix beaglev-ddrinit include after rename
Commit 3b551f68a5 (boot/beaglev-ddrlnit: rename to beaglev-ddrinit to
match renamed upstream repo) forgot to update the include in boot/Config.in,
breaking menuconfig.

Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2021-05-11 09:09:07 +02:00
Thomas Petazzoni
6e746d27c0 boot/beaglev-secondboot: new package
This packages allows to build the first stage bootloader used on the
BeagleV, which is used even before the DDR initialization and
OpenSBI/U-Boot. Yes, "secondboot" is strange for what is the first
stage bootloader, but that's the upstream name.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
[yann.morin.1998@free.fr:
  - add hash file
  - commit is HEAD only right now, so don't reference HEAD
]
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
2021-05-07 23:11:33 +02:00
Thomas Petazzoni
c3dd9ebae0 boot/beaglev-ddrlnit: new package
This commit adds a package for the DDR initialization code used on the
BeagleV platform.

The typo in the package name is upstream's typo, and we just keep it.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
[yann.morin.1998@free.fr:
  - upstream name is beaglev_ddrlnit, not *init (keep their typo)
  - rename package and variables accordingly
  - the referenced commit is no longer the HEAD of said branch
  - add a hash file
]
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
2021-05-07 23:10:37 +02:00
Alistair Francis
67cfae0f26 boot/riscv-pk: Remove obselete bootloader
The RISCV Proxy Kernel (AKA BBL) isn't being used by most distros so has
very limited testing. It has been replaced by OpenSBI and been
deprecated for awhile, so let's just remove it.

Signed-off-by: Alistair Francis <alistair.francis@wdc.com>
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
2019-10-11 22:52:19 +02:00
Thomas Petazzoni
aba1d2dcb4 boot/ts4800-mrboot: remove package
Since the ts4800_defconfig has been removed, the ts4800-mrboot package
is no longer useful, therefore we drop it.

Cc: Patrick Keroulas <patrick.keroulas@savoirfairelinux.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2019-09-01 11:36:32 +02:00
Alistair Francis
cbce379faf boot/opensbi: new package
OpenSBI is a much improved alternative to BBL (riscv-pk). Add OpenSBI
support to buildroot.

Signed-off-by: Alistair Francis <alistair.francis@wdc.com>
[Thomas:
 - disable target installation, as we install nothing
 - enable staging installation
 - enable images installation only when needed
 - improve the comment about the staging installation]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2019-03-26 13:30:48 +01:00
Etienne Carriere
95942f5fcd boot/optee-os: new package
OP-TEE OS is maintained by the OP-TEE project. It provides an
open source solution for development and integration of secure
services for Armv7-A and Armv8-A CPU based platforms supporting
the TrustZone technology. This technology enables CPUs to
concurrently host a secure world as the OP-TEE OS and a non-secure
world as a Linux based OS.

The OP-TEE project maintains other packages to leverage OP-TEE on
Linux kernel based OSes. An OP-TEE interface driver is available
in the Linux kernel since 4.12 upon CONFIG_OPTEE.

This change references in Buildroot the today's latest OP-TEE
revision release tagged 3.4.0.

https://www.op-tee.org/
https://github.com/OP-TEE/optee_os

Signed-off-by: Etienne Carriere <etienne.carriere@linaro.org>
[Thomas:
 - pass CFG_ARM32_core=y when building for ARMv7, otherwise the build
   fails
 - add a check that verifies that BR2_TARGET_OPTEE_OS_PLATFORM is not
   empty
 - minor formatting fixes/adjustements.]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2019-02-10 17:11:23 +01:00
Peter Korsgaard
18c463e124 boot/shim: new package
This commit adds a package for 'shim', an EFI bootloader for secure
boot chain loading.

While gnu-efi supports 32bit ARM, this is currently broken in shim.

Patches to fix this have been submitted upstream but are not included
here for now.

https://github.com/rhboot/shim/pull/162

Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
[Thomas: use BR2_PACKAGE_GNU_EFI_ARCH_SUPPORTS, add separate depends
on to exclude ARM32 build.]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2019-01-12 17:38:25 +01:00
Matt Weber
070b183d0c boot/xloader: remove package
U-boot has provided SPL support as a viable replacement for the
2nd stage bootloader on TI platforms.  The X-loader project
hasn't had a commit in the log since 12-05-2011.
(https://gitorious.org/x-loader/x-loader)

Signed-off-by: Matthew Weber <matthew.weber@rockwellcollins.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2018-10-26 16:59:05 +02:00
Mark Corbin
b3c46df481 boot/riscv-pk: add bootloader for RISC-V architecture
Add the RISC-V Proxy Kernel (pk) package which provides the Berkeley
Boot Loader for booting RISC-V kernel images.

Signed-off-by: Mark Corbin <mark.corbin@embecosm.com>
[Thomas:
 - fix prompt of option to be just "riscv-pk"
 - add blank line between help text and upstream URL in Config.in file
 - use $(INSTALL) instead of cp to install the generated image]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2018-09-25 21:39:52 +02:00
Sergey Matyukevich
241789d65d binaries-marvell: new package
Some systems, including Marvell Armada 7k/8k SoCs, have a separate
System Control Processor (SCP) for power management, clocks, reset
and system control. ATF Boot Loader stage 2 (BL2) loads optional
SCP_BL2 image into a platform-specific region of secure memory.

This package adds SCP_BL2 firmware for Marvell Armada 7040 and 8040 SoCs.

Signed-off-by: Sergey Matyukevich <geomatsi@gmail.com>
[Thomas:
 - Use "binaries-marvell" in the Config.in prompt and in the .mk file
   header.
 - Change the license information.
 - Adjust license information: it is GPL-2.0 with the FreeRTOS
   exception, and therefore can be redistributed.]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2017-12-08 13:42:37 +01:00
Sergey Matyukevich
4c18b7cbe0 mv-ddr-marvell: new package
This package adds Marvell Armada SoC DDR training algorithms.
This code is not built separately, it is needed as dependency
to build ATF firmware for Marvell Armada SoCs.

Signed-off-by: Sergey Matyukevich <geomatsi@gmail.com>
[Thomas:
 - Remove MV_DDR_MARVELL_SRC_SYMLINK, ATF will directly pick up the
   mv-ddr-marvell code from where it is.
 - Use "mv-ddr-marvell" as the Config.in prompt, and in the comment
   header of the .mk file.
 - Add upstream URL in Config.in help text
 - Adjust license information.]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2017-12-08 13:42:27 +01:00
Yann E. MORIN
144dc9ca80 boot/grub: remove
grub is no longer maintained: it is stuck at version 0.97 with huge
patches that have no opportunity to be applied upstream, as upstream
has even renamed it grub-legacy.

Besides, it no longer builds correctly with recent binutils versions,
and even the huge patches we could grab from Debian do not help the
slightest.

Since upstream really considers it dead, and there are at least two
alternatives (grub2 and syslinux), just remove grub.

Add a legacy entry.

Remove the test cases as well.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Cc: Ricardo Martincoski <ricardo.martincoski@gmail.com>
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
2017-09-23 20:29:37 +02:00
Joao Pinto
b5a6299042 arm-trusted-firmware: new package
Signed-off-by: Joao Pinto <jpinto@synopsys.com>
[Thomas:
 - Rename the package from atfirmware to arm-trusted-firmware, in order
   to match upstream.
 - Remove option to apply custom patches. We no longer add such options,
   and use the global patch directory instead.
 - Rename the repo URL/version options, in order to not be Git specific,
   in case support for fetching from other VCS is added later. This is
   consistent with how other bootloaders handle this.
 - Add license information.
 - Do not add a weird dependency on the vexpress-firmware package in
   Config.in. Instead, simply use it if it's available. Of course, some
   configurations (such as the juno configuration) will fail to build if
   vexpress-image is not enabled, but it's the responsibility of the
   user to create a config that builds.
 - Simplify misc aspects in the .mk file.]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Reviewed-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2016-10-15 14:13:34 +02:00
Joao Pinto
82e84a4f35 vexpress-firmware: new package
This commit adds a new package for the SCP (System Control Processor)
firmware for the ARM reference platforms. There will most likely be
other SCP firmware provided by other vendors, but they might be provided
in a different form, so we for now create a vendor-specific package
named vexpress-firmware.

Since this firmware is used for booting, we create the package in boot/
and not in package/.

The package simply installs a single pre-built binary file into the
images directory.

Signed-off-by: Joao Pinto <jpinto@synopsys.com>
[Thomas:
 - Rename the package from scpfirmware to vexpress-firmware.
 - Add a Config.in prompt for the package.
 - Remove the prompt-less Config.in options to select the Git repo and
   version. Since we only support the Vexpress firmware, there's no need
   for configurability here, so we just use the right Git repo/version
   in the .mk file.
 - Use $(INSTALL) -D to install the firmware file.
 - Add license information.]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Reviewed-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
[Thomas: add hash file, as suggested by Yann.]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2016-10-15 12:35:28 +02:00
Patrick Keroulas
d42ec02282 boot: add ts4800-mbrboot package
This MBR routine is based on TS' original bootloader.  It is loaded by
the bootrom stored in the companion FPGA, and chainloads an executable
located at the beginning of the first non-fs (0xda) partition.

Signed-off-by: Patrick Keroulas <patrick.keroulas@savoirfairelinux.com>
[Thomas:
 - add hash file.
 - install image in INSTALL_IMAGES_CMDS instead of
   INSTALL_TARGET_CMDS.]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2016-07-15 23:15:12 +02:00
Peter Korsgaard
7c4d983628 boot: add s500-bootloader package
This is the first level bootloader for the Actions Semiconductor S500 SoC,
which is used on boards like Roseapple Pi and LeMaker Guitar.

The bootloader performs basic configuration and chain loads u-boot for
futher setup.

This bootloader is unfortunately only available as a binary blob. It gets
configured for a specific board using a binary (32bit x86) tool based on a
.ini file (somewhat similar to sunxi .fex).

Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2016-05-26 10:35:34 +02:00
Lee Jones
70c26b8c53 afboot-stm32: new package
This is a _very_ small bootloader for STM32 platforms.

At submission afboot-stm32 supports the following boards:

  stm32429i-eval
  stm32746g-eval
  stm32f429i-disco
  stm32f469i-disco

Signed-off-by: Lee Jones <lee.jones@linaro.org>
Reviewed-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
[Thomas: fix commit title, add dependency on BR2_arm.]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2016-02-22 23:23:17 +01:00
Thomas Petazzoni
7961d45c24 gummiboot: new package
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Christophe Vu-Brugier <cvubrugier@yahoo.fr>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2014-02-19 23:28:35 +01:00
Thomas Petazzoni
c24fdb3680 grub2: add new package
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2014-02-19 23:28:04 +01:00
Jerzy Grzegorek
3033bc0c6e package: remove the empty trailing line(s)
Signed-off-by: Jerzy Grzegorek <jerzy.grzegorek@trzebnica.net>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2014-01-04 10:39:29 +01:00
Thomas Petazzoni
7689b72e00 boot-wrapper-aarch64: new package
The boot wrapper contains both a minimal bootloader and a tool to
generate an image suitable for execution by the AArch64 software
simulator. The image generated embeds the minimal bootloader, the
kernel image, the Device Tree Blob and the kernel command line.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-11-02 21:10:18 +01:00
Simon Dawson
ca0d69c61c at91bootstrap3: new package
Note that this new package, at91bootstrap3, is being added alongside the
existing at91bootstrap. This was suggested by Thomas Petazzoni, whose
comments on the mailing list are quoted below.

  For this package, I am not sure we can do a simple version bump. Since
  there is (was?) no upstream for AT91Bootstrap 1.x, many
  vendors/companies had to maintain their patches on top of AT91Bootstrap
  1.x. See for example
  board/calao/usb-a9263/at91bootstrap-1.16-usb-a9263.patch. Therefore,
  removing AT91Bootstrap 1.x from the tree will prevent those platforms
  to work. I know people should upgrade, but AT91Bootstrap 3.x is quite
  significantly different, so the porting effort is not that simple.

  Therefore, I'm wondering whether we should kee at91bootstrap as it is,
  and create a separate package at91bootstrap3 for the 3.x generation.

Signed-off-by: Simon Dawson <spdawson@gmail.com>
Acked-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2012-08-17 17:58:16 +02:00
Maxime Ripard
2a636d1521 Add MXS bootlets package
MXS platforms (imx23 and imx28) are relying on bootlets as their first
stage bootloaders, that can then either start a regular second stage
bootloader or directly a Linux kernel. However, the Makefile allows
only to build u-boot and linux images at the same time, which is
not very convenient as we will more likely use only one of them,
so we need to duplicate a bit what is already done so that we are able
to choose what we want to generate.

thomas.petazzoni@free-electrons.com:

 * Remove incorrect dependency on BR2_PACKAGE_ELFTOSB

 * Each board configuration option is for one board, not multiple
   boards, so use singular.

 * The i.MX28 support is for i.MX28 EVK only, reflect that in the
   option prompt and the option name.

 * Use 'generic-package' instead of GENTARGETS

Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2012-07-21 00:34:57 +02:00
Alexandre Belloni
20695936ad lpc32xx: Add CDL to the available bootloaders
This will build kickstart and s1l for the selected board and install
them alongside u-boot.

Signed-off-by: Alexandre Belloni <abelloni@adeneo-embedded.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-02-01 23:30:44 +01:00
Alexandre Belloni
14b600203b boot: Reorder entries alphabetically
Signed-off-by: Alexandre Belloni <abelloni@adeneo-embedded.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-02-01 23:30:22 +01:00
Philippe Reynes
2269dfa356 Add x-loader bootloader
Signed-off-by: Philippe Reynes <tremyfr@yahoo.fr>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>

merge xloader
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2011-07-11 23:41:29 +02:00
Thomas Petazzoni
a4ca959321 u-boot: rename to uboot
This will allow to match the currently Config.in option
BR2_TARGET_UBOOT, in order to make it easy to integrate U-Boot into
the package infrastructure.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2011-07-11 23:39:52 +02:00
Thomas Petazzoni
a5dc0cdced grub2: remove package
Grub 2 has been marked BROKEN in June 2010, and nobody cared to fix it
since then.

At that time, it was marked broken because the build process needed a
Ruby interpreter available on the host, and it's really a pain that
building a bootloader needs such a thing.

I've tried to upgrade the package to Grub2 1.99-rcX, and now it does
not need a Ruby interpreter anymore, but instead requires a tool
called "autogen", which itself needs the Guile Scheme interpreter.

Since we haven't heard any complaints about Grub2 being marked broken,
and since it's such a pain to package, let's get rid of it. Of course,
anybody interested in Grub2 is invited to contribute a working
package.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2011-07-10 15:31:16 +02:00
Thomas Petazzoni
6cc9d936a9 Add support for the Barebox bootloader
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2010-06-12 16:03:24 +02:00
Thomas Petazzoni
afd77256c9 yaboot: drop support
Yaboot does not build, hasn't been updated since a long time, and
isn't very common these days on embedded PowerPC platforms.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2010-06-10 21:05:12 +02:00
Thomas Petazzoni
649b5b9250 bootloaders: move bootloader build code to boot/
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2010-06-10 21:05:12 +02:00