Since the trailing slash is stripped from $($(PKG)_SITE) by pkg-generic.mk:
$(call DOWNLOAD,$($(PKG)_SITE:/=)/$($(PKG)_SOURCE))
so it is redundant.
This patch removes it from $(PKG)_SITE variable for BR consistency.
Signed-off-by: Jerzy Grzegorek <jerzy.grzegorek@trzebnica.net>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
The help text of grub2 explains the detailed steps to create a disk
image with grub2 installed on it. However, the steps for the
BIOS-based systems have a few minor issues fixed by this patch:
- When calling partx to get the partitions detected, we should do it
on the /dev/loop0 block device, and not on the underlying disk.img
image file.
- The grub-bios-setup utility must be called as root to work properly
on /dev/loop0.
- The steps to cleanup the partx and loop device were missing.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Since boot partition was not specified, grub tools try to detect it
automatically. This patch add an option to force it.
Signed-off-by: Jérôme Pouiller <jezz@sysmic.org>
Acked-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Tested-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
In preparation to add support for the SAMA5D3 Xplained board, this
commit bumps the version of the at91bootstrap3 bootloader to
v3.6.2. While doing this, it also:
- Allows this bootloader on Cortex-A5 based platforms, since SAMA5D3
are based on Cortex-A5.
- Removes a patch that no longer applies, and which has been taken
into account in at91bootstrap3 upstream.
- Switches to the upstream Github location as the source.
- Updates the installation commands to match upstream changes in the
installation process.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Ever since u-boot introduced the generic spl support in u-boot 2012.10, the
default spl output file has been spl/u-boot-spl.bin and not u-boot-spl.bin,
so use that as a more sane default value.
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
Following the issues reported by Jerry <g4@novadsp.com>, it appears
that there are a number of U-Boot configuration variables we are not
checking properly, leaving users with weird behavior at build time.
This commit extends the existing U-Boot checks to verify that when a
custom version, custom tarball, or custom Git or Mercurial
repositories are selected, the appropriate fields are not empty in the
configuration.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
Since syslinux can now install quite a number of files, install
them in a sub-directory of $(BINARIES_DIR) for clarity.
It also aligns it to rpi-firmware, grub2, gummiboot, that install
all of their files in a sub-dir of $(BINARIES_DIR), too.
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: Romain Naour <romain.naour@openwide.fr>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
This MBR blob will look for an active partition, and boot the bootcode
present in that partition. This can be used to boot an extlinux-prepared
partition.
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: Thomas Lundquist <lists@zelow.no>
Cc: Frank Hunleth <fhunleth@troodon-software.com>
Tested-by: Frank Hunleth <fhunleth@troodon-software.com>
Tested-by: Romain Naour <romain.naour@openwide.fr>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
syslinux can now also build an EFI application.
If the target is 64-bit, we build the 64-bit EFI app,
otherwise we build the 32-bit EFI app.
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: Frank Hunleth <fhunleth@troodon-software.com>
Tested-by: Frank Hunleth <fhunleth@troodon-software.com>
Tested-by: Romain Naour <romain.naour@openwide.fr>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
This new version has a very, very weird build system. There are different
images that syslinux can now build:
- the plain legacy-bios images we already supported previously
- two new EFI32 and EFI64 applications
To build one or the other, the Makefile accepts one or more of:
make (bios|efi32|efi64)
Specify all of them, and it builds all. Specify 'install', and it installs
all of them, as one may expect.
Still a regular behaviour, is to build only a subset (down to one):
make bios <-- builds just the legacy-bios images
make efi32 bios <-- builds just the legacy-bios and efi32 images
Where it gets weird is the install procedure. Can you guess how it's done?
Hint: the syslinux guys have invented the multiple-argument parsing in
pure Makefiles. To build then install only the bios images, one would do:
make bios
make bios install
Yep, that's it. make bios install. Two arguments, one action.
That makes for some funky workarounds in our install procedure...
'bios' is the only image we support so far, with efi to come in a future
patch.
Using MAKE1, as there are issues with highly-parallel builds.
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: Frank Hunleth <fhunleth@troodon-software.com>
Tested-by: Frank Hunleth <fhunleth@troodon-software.com>
Tested-by: Romain Naour <romain.naour@openwide.fr>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
The comments are not really part of the command we want to execute,
so move them out of the define-block. This also cleans up the output,
as they will no longer appear.
Reported-by: Arnout Vandecappelle <arnout@mind.be>
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
Rewrite the options prompt in preparation to adding a new
type of image to install.
Add help entries to each option, too.
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: Frank Hunleth <fhunleth@troodon-software.com>
Tested-by: Frank Hunleth <fhunleth@troodon-software.com>
Tested-by: Romain Naour <romain.naour@openwide.fr>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
Currently it is possible to choose either, both or none of
the pxelinux or isolinux images.
But it does not make sense to build none or both, as we need
at least one to boot the target, and the target can not use
more than one.
So, we need one and only one image to be selected at once.
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: Thomas Lundquist <thomasez@redpill-linpro.com>
Cc: Frank Hunleth <fhunleth@troodon-software.com>
Cc: Arnout Vandecappelle <arnout@mind.be>
Tested-by: Frank Hunleth <fhunleth@troodon-software.com>
Tested-by: Romain Naour <romain.naour@openwide.fr>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
Currently, we hard-code the path to the images we install, and
expect them to be from the core/ sub-dir.
Not all images we can install are located in core/. For example,
the efi boot images (to come later) are not located in core/.
Prepare the upcoming installation of extlinux by not expecting
images be in core/.
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: Thomas Lundquist <lists@zelow.no>
Cc: Frank Hunleth <fhunleth@troodon-software.com>
Tested-by: Frank Hunleth <fhunleth@troodon-software.com>
Tested-by: Romain Naour <romain.naour@openwide.fr>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
The pxelinux and isolionux images are 32-bit binaries, so we need a
compiler that can generate them (ie. a compiler that understands -m32).
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: Frank Hunleth <fhunleth@troodon-software.com>
Cc: Arnout Vandecappelle <arnout@mind.be>
Tested-by: Frank Hunleth <fhunleth@troodon-software.com>
Tested-by: Romain Naour <romain.naour@openwide.fr>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
Add an option for embedding a config file directly in grub.
Signed-off-by: Dima Zavin <dmitriyz@google.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
The host variant of syslinux wasn't exposed anywhere, so the only way
to use it was to know that a "host-syslinux" target existed. Moreover,
thanks to commit 8e0d411898 ('syslinux:
install helper programs to the host'), the host utilities of syslinux
are automatically installed to $(HOST_DIR) when building the target
syslinux.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Even though syslinux is built for the target, it does create helper
programs intended to be run on the host such as syslinux and extlinux.
This change installs these helper programs to the host so that they may be
called by post image creation scripts.
Signed-off-by: Frank Hunleth <fhunleth@troodon-software.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
As stated in the buildroot user manual add just a single space before
and after a '=' sign.
Break long lines.
Signed-off-by: Fabio Porcedda <fabio.porcedda@gmail.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
Fixes#6986
Prior to u-boot 2013.10, the GPL license text was stored in COPYING and not
Licenses/gpl-2.0.txt, breaking legal-info.
Work around it by simply copying the file from the old location to the new
if present.
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
This commit updates boot-wrapper-aarch64 to the latest version. As it
now uses the autotools, we switch the package to the autotools-package
infrastructure.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
Bump to a more recent version of the Debian patches for grub legacy,
that fix an incorrect build with gcc 4.6.
Fixes#6092 and #2629.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
This commit aligns the Grub handling of the splash screen with what is
done in the ISO9660 code.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Acked-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
When BR2_TARGET_GRUB_SPLASH is enabled, we were passing
--enable-graphics, but when it was disabled, we were not doing
anything. However, in Grub, graphics support is enabled by default,
and you have to pass --disable-graphics to disable it.
Fix this by passing --enable-graphics or --disable-graphics as
appropriate.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Acked-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
In 1cece2813b (grub: add option to
configure the list of supported filesystems), we introduced the
BR2_TARGET_GRUB_FS_SUPPORT option which allows to provide a
space-separated list of filesystems that Grub should support.
However, it turns out that this not very practical, because the
iso9660 filesystem logic in Buildroot should force the ISO9660 support
to be enabled in Grub, which is not easy to do with a string option.
Therefore, this patch changes this option from a string option to a
list of boolean option, one per filesystem supported.
A few useful details:
- Since Grub legacy is dead, the list of filesystem, and therefore
the number of options, will not grow.
- We have only added options for filesystems that are likely to be
used in an embedded Linux context. Filesystems such as VSTAfs,
Minix, UFS2 or FFS2 are not supported.
- There is no need to add some Config.in.legacy support for the
previous option, since it was added after Buildroot 2013.11, and
was therefore never part of an official Buildroot release.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Acked-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
In preparation to a change to the configuration options of the
supported filesystem in Grub, enclose the network driver options in a
sub-menu.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Acked-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
In the Config.in file of package foo, it often happens that there are other
symbols besides BR2_PACKAGE_FOO. Typically, these symbols only make sense
when foo itself is enabled. There are two ways to express this: with
depends on BR2_PACKAGE_FOO
in each extra symbol, or with
if BR2_PACKAGE_FOO
...
endif
around the entire set of extra symbols.
The if/endif approach avoids the repetition of 'depends on' statements on
multiple symbols, so this is clearly preferred. But even when there is only
one extra symbol, if/endif is a more logical choice:
- it is future-proof for when extra symbols are added
- it allows to have just one strategy instead of two (less confusion)
This patch modifies the Config.in files accordingly.
Signed-off-by: Thomas De Schampheleire <thomas.de.schampheleire@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
This patch lines up the comments of packages that need a Linux kernel to be
built by buildroot, to the format:
foo needs a Linux kernel to be built
Signed-off-by: Thomas De Schampheleire <thomas.de.schampheleire@gmail.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
Some boards are configured in u-boot to store multiple redundant copies of
the environment image in flash. For these boards, it is required to pass
the -r flag, when generating a boot environment image using mkenvimage.
Signed-off-by: Simon Dawson <spdawson@gmail.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
As reported by Matthew Weber, Grub doesn't build on 64 bits build
machines, because the host compiler produces 64 bits binaries by
default, while Grub should be built 32 bits. Therefore, this commit
passes -m32 to the Grub CFLAGS, so that 32 bits binaries are always
produced.
Reported-by: Matthew Weber <mlweber1@rockwellcollins.com>
Cc: Matthew Weber <mlweber1@rockwellcollins.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Tested-by: Matthew Weber <mlweber1@rockwellcollins.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
These instructions should probaby go in the Buildroot manual, but at
this point, it's not clear in which section they should go. So in
order to not loose those notes, add them to the Grub help text.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
Grub can be configured to enable or disable the filesystems supported
in the stage 2. In addition, there are filesystem specific stage
1.5. In order to save space and build time, we provide a new option
that allows to give a space-separated list of filesystems that Grub
should support.
We default to support FAT and ext2, since most of the other
filesystems are fairly unlikely to be used.
We use this option to:
1) Pass --enable-<fs> or --disable-<fs>, which enables/disables the
support of <fs> in Grub stage 2.
2) Install only the stage 1.5 that correspond to the selected
filesystems.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
Make the splashimage line in menu.lst only active when splashimage
support has really been enabled in the Grub configuration.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
Two improvements to the menu.lst file:
* Do not enforce any video mode, let the kernel use whatever it wants
as the default, or let the user customize it when needed.
* Use /dev/sda1 instead of /dev/hda1. Nowadays, most hard disk
controllers are handled using libata, and therefore the disks are
visible as /dev/sd<X>.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
This commit brings a number of improvements to the grub packaging:
* It builds grub with the host compiler, which is needed so that we
can build a 32 bits grub even if the target architecture is
x86-64. To make sure we have a host compiler capable of generating
32 bits code, grub now selects the BR2_HOSTARCH_NEEDS_IA32_COMPILER
option. Building with the host compiler is done by cheating and
passing $(HOST_CONFIGURE_OPTS) in GRUB_CONF_ENV.
* Some additional CFLAGS are added to make sure grub builds properly
with modern compilers (-O0, --build-id=none, -fno-stack-protector).
* Removal of the GRUB_INSTALL_STAGING_CMDS which were not used, since
GRUB_INSTALL_STAGING was not set to YES.
* Installation of the "grub" binary in $(HOST_DIR) instead of
$(TARGET_DIR) since it's actually used only on the host to install
grub into an image or device.
* Removal of the grub uninstall commands, since they are generally
considered useless.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
This patch fixes the following whitespace problems in Config.in files:
- trailing whitespace
- spaces instead of tabs for indentation
- help text not indented with tab + 2 spaces
Signed-off-by: Thomas De Schampheleire <thomas.de.schampheleire@gmail.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
Although the configuration options for custom repository locations and
versions are very similar between the linux and uboot packages, there are
some minor differences. This patch lines up both packages.
Signed-off-by: Thomas De Schampheleire <thomas.de.schampheleire@gmail.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
Some Config.in(.host) files have constructs like:
config FOO_VERSION
string
default "1.0" if FOO_1_0
default "2.0" if FOO_2_0
default $FOO_CUSTOM_VERSION if FOO_CUSTOM
The dollar sign here is not needed and confusing, so can be removed.
Signed-off-by: Thomas De Schampheleire <thomas.de.schampheleire@gmail.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
Make 3.82 no longer sort the result of wildcards (see
http://comments.gmane.org/gmane.comp.gnu.make.bugs/4260). This may break
build reproducibility.
This patch sort results of wildcards to ensure reproducibility.
Signed-off-by: Jérôme Pouiller <jezz@sysmic.org>
Acked-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
[Thomas: update to recent Buildroot, add missing dependency on
host-elftosb.]
Signed-off-by: Gary Coulbourne <bear@bears.org>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
On some platforms, the standard U-Boot binary is not called u-boot.bin,
but u-boot<something>.bin. This is for example the case on the
Cavium-provided u-boot, where the output file is called
u-boot_<boardname>.bin.
This patch adds a 'custom format' choice in the existing u-boot binary
format selection, where this name can be put. In the Cavium example, this
option could be set to:
BR2_TARGET_UBOOT_FORMAT_CUSTOM_NAME="u-boot-$(BR2_TARGET_UBOOT_BOARDNAME).bin"
Signed-off-by: Thomas De Schampheleire <thomas.de.schampheleire@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
The at91bootstrap build sometimes fail when doing parallel builds.
Build it without parallel build.
Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
Add custom version option as used in the linux kernel and barebox.
This way we can easily specify newer and older version.
Remove the list of the older versions because is obsoleted
by the new custom version option that is more flexible.
Signed-off-by: Fabio Porcedda <fabio.porcedda@gmail.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
Add custom version option as used in the linux kernel.
This way we can easily specify newer and older version.
Remove the list of the older versions because is obsoleted
by the new custom version option that is more flexible.
Signed-off-by: Fabio Porcedda <fabio.porcedda@gmail.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
To match the logic we have for BR2_LINUX_KERNEL_PATCH. The user has
already specified a custom patch directory, so we don't need to be
so specific about the what file names we accept, and it becomes quite
cumbersome when a custom git version is used.
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
This commit provides configuration options to automatically generate a
binary environment image for U-Boot.
Two options are available (and mandatory):
* the location of a text file describing U-Boot environment.
* the size of the environment.
[Peter: fix Config.in indentation + typo]
Signed-off-by: Arnaud Rébillout <rebillout@syscom.ch>
Acked-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
Signed-off-by: Daniel Price <daniel.price@gmail.com>
Tested-by: Will Moore <will.moore@beraninstruments.com>
Tested-by: Vivien Didelot <vivien.didelot@savoirfairelinux.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
AT91Bootstrap 1.x seems to have disappeared from atmel.com (but return
HTML instead of a 404), so use the at91.com FTP server instead.
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
Add host-lzop dependency.
Use $(TARGET_MAKE_ENV) when calling $(MAKE)
to able to use binaries built for host.
Signed-off-by: Fabio Porcedda <fabio.porcedda@gmail.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
Closes#5846
The $(dir ...) function leaves a slash at the end, so that the LINUX_SITE
variable for a custom tarball ends in a slash. The DOWNLOAD macro adds
another slash between SITE and SOURCE, which results in a double slash in
the download URL.
Fix this by stripping off the final slash from the _SITE in all packages that
have a custom tarball.
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>