Fixes https://bugs.busybox.net/show_bug.cgi?id=8256
grub2's build system interprets CC, CFLAGS and CPPFLAGS as for the host
and uses TARGET_CC etc. for the target. However, NM, OBJCOPY and STRIP
are used for the target. We currently pass the host-versions of these
tools as part of $(HOST_CONFIGURE_OPTS).
While we're at it, also pass TARGET_LDFLAGS.
This problem had not been noticed up to now because usually we build on
an x86 machine for the x86 architecture, so the binutils are compatible.
However, this is not true on an i386 when building for x86_64.
Cc: Christophe Bricout <christophebricout@yahoo.fr>
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Due to recent changes in U-Boot, see
http://git.denx.de/?p=u-boot.git;a=commit;h=a26cd04920dc069fd6e91abb785426cf6c29f45f
re-creation of .config from defconfig by "make oldconfig" happened
incorrectly.
Default prompt for target selection was set as No that lead to missing platform
selection by automated scripts like that:
------------------>8------------------
"yes "" | make oldconfig" on defconfig
------------------>8------------------
And that lead to build failure:
------------------>8------------------
$ make
scripts/kconfig/conf --silentoldconfig Kconfig
CHK include/config.h
UPD include/config.h
GEN include/autoconf.mk
In file included from ./include/common.h:18:0:
include/config.h:5:22: fatal error: configs/.h: No such file or directory
#include <configs/.h>
^
compilation terminated.
scripts/Makefile.autoconf:72: recipe for target 'include/autoconf.mk' failed
make[1]: *** [include/autoconf.mk] Error 1
------------------>8------------------
This patch reverts mentioned change making possible to build U-Boot
2015.07 in Buildroot.
Note there's a probability that this particular patch won't make its way
in upstream U-Boot and better solution will be found there. But for now
we need to fix U-Boot building in Buildroot anyways.
Hopefully for the next release this patch won't be necessary.
Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
Building Grub2 El Torito for i386 EFI errors complaining it cannot
find cdboot.img
cdboot.img: No such file or directory
This commit builds El Torito for i386 PC only.
[Thomas: fix installation ordering.]
Signed-off-by: Ray Kinsella <ray.kinsella@intel.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
It's rather unclear that uboot.sb, uboot.sd and uboot.nand are
Freescale i.MX28 specific, so let's make that clear in the prompt of
each option, like we do for the Marvell-specific uboot.kwb.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
With the patchset "kconfig: turnaround into single .config"
[http://lists.denx.de/pipermail/u-boot/2015-February/205490.html]
U-Boot switched to a single .config file for board configuration. This
allows us to use the kconfig-package infrastructure.
For providing backward compatibility with older U-Boot version a user
choice between the new Kconfig and the legacy build system is
introduced.
[Thomas:
- make use of the legacy build system the default, to not break
existing configurations.
- add some comments in the code checking all the configuration
options, in order to hopefully make it a bit clearer.]
Signed-off-by: Jörg Krause <joerg.krause@embedded.rocks>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
This commit integrates generation of a bootable image
for Xilinx Zynq. The generation is independent on Xilinx
flow and utilizes the host-zynq-boot-bin package. The only
required step is to generate a proper U-Boot SPL (instead
of the FSBL).
The SPL generation might work when providing the working
ps7_init.c file to U-Boot. However, from U-Boot 2015.07
a set of generic ps7_init.c files is included and used to
build the U-Boot SPL for various boards. The ps7_init.c file
has been released under GNU/GPL license for this purpose.
For details, see
http://lists.denx.de/pipermail/u-boot/2015-April/210664.html
The SPL searchs for u-boot-dtb.img when booting so we
enforce using of the BR2_TARGET_UBOOT_FORMAT_DTB_IMG format.
[Thomas: remove select of BR2_PACKAGE_HOST_ZYNQ_BOOT_BIN, since this
option no longer exists.]
Signed-off-by: Jan Viktorin <viktorin@rehivetech.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Allow to generate u-boot-dtb.img. This is the same format
as u-boot.img, however, it contains a built-in device-tree.
This file is being loaded by the U-Boot SPL.
Signed-off-by: Jan Viktorin <viktorin@rehivetech.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
If we check that the user provides a config file after we call to the
kconfig-package infra, the error message we get is the one for the
kconfig-package infra, not the custom error message we want to show to
the user.
So, only call kconfig-package after we do the check.
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
If we check that the user provides a config file after we call to the
kconfig-package infra, the error message we get is the one for the
kconfig-package infra, not the custom error message we want to show to
the user.
So, only call kconfig-package after we do the check.
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Allow to generate 'u-boot.nand', Freescale i.MX28 BootStream format (.sb)
with a header for booting from NAND flash.
There are two possibilities when preparing an image writable to NAND flash:
1) The NAND was not written at all yet or the BCB (Boot Control Blocks) is
broken. In this case, the NAND image 'u-boot.nand' needs to written.
2) The NAND flash was already written with a good BCB. This applies after
'u-boot.nand' was correctly written. There is no need to write the BCB
again. In this case, the bootloader can be upgraded by writing 'u-boot.sb'.
To satisfy both cases 'u-boot.nand' as well as the make target 'u-boot.sb' are
copied to the binaries directory.
mxsboot for NAND images needs all three parameters typed in as integer values
(hex values do not work). The default values choosen are typical sizes for a
NAND flash.
For more information see:
http://www.denx-cs.de/doku/?q=m28evkrunuboot
Commit Note: This patch is based on top of
"[PATCH v2 1/2] boot/uboot: add support for i.MX28 SD format"
http://patchwork.ozlabs.org/patch/453116/
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
This patch adds the option to download at91bootstrap3 from
a custom git URL. This is a requirement for all that boards
that use a custom at91bootstrap3 version.
Signed-off-by: Angelo Compagnucci <angelo.compagnucci@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
This patch bumps at91bootstrap3 version to 3.7.2
Signed-off-by: Angelo Compagnucci <angelo.compagnucci@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
This patch adds licensing informations to at91bootstrap3
[Thomas:
- change from "BSD-2c with endorsement clause" to "Atmel License",
because the license of AT91Bootstrap is neither a BSD-2c nor a
BSD-3c: it does not carry the second clause of the BSD-2c or BSD-3c
licenses giving the condition of redistribution of the binary form.]
Signed-off-by: Angelo Compagnucci <angelo.compagnucci@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
In order to support ISO9660 bootable images that rely on Grub 2, this
commit modifies thr Grub 2 makefile to generate and install an El
Torito image. Such an image is simply produced by concatenating the
cdboot.img provided by Grub 2, and the Grub 2 image generated by
Buildroot using grub-mkimage.
Since this action is so simple and cost-free, we don't bother adding a
Grub 2 sub-option for that, and simply generate the El Torito image
unconditionally.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Acked-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
It's been deprecated since the 2014.05 release, so a year has passed.
Add legacy info as well to raise a warning when it's used.
[Peter: Remove entire config.h fixup handling]
Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
As we recently did for U-Boot, disable checking hashes for custom
versions of barebox.
Note that we currently have no hash file for barebox, but avoiding the
check will already be in place when we do add it.
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Acked-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
For custom tarballs, it's quite obvious we can not check hashes.
For custom versions, that's not so obvious. One might think we could
have hashes for all the official releases, but that's not possible: if
the user uses a released version of Buildroot (say 2015.05) much later
in the future, and wants to use the then-released 2038.02 U-Boot. It now
seems pretty obvious that Buildroot 2015.02 can't know the hash for
U-Boot 2038.02.
So, disable checking the hash for custom tarballs and custom versions.
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Cc: Vincent Stehle <vincent.stehle@laposte.net>
Acked-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
The git:// protocol may not go through conservative corporate firewalls.
Use http, that goes out through about anything.
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Instead of manually testing MAKECMDGOALS, use the newly introduced
BR_BUILDING variable to know if we're building or not.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Reviewed-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Tested-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Users should use BR2_TARGET_UBOOT_PATCH instead.
Signed-off-by: Frank Hunleth <fhunleth@troodon-software.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
The existing u-boot patch option only allowed directories to be
specified. This adds support for URLs using similar code as found
in linux/linux.mk. Local files are also handled now.
This change is useful for Intel Edison support, so that Intel's u-boot
patch can be downloaded rather than stored in the Buildroot source tree.
Signed-off-by: Frank Hunleth <fhunleth@troodon-software.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
[Thomas: fix issues noticed by Arnout:
- Rewrap the linux/Config.in paragraph
- Revert the "is a toolchain dependency" -> "has a toolchain
dependency" change from pkg-generic.mk, as the original was
correct.]
Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
For some (silly?) reason, the kconfig-package infra always wants
<pkg>_KCONFIG_FILE to be defined. So let's do like barebox does: use a
temporary AT91BOOTSTRAP3_SOURCE_CONFIG variable, and assign it to
AT91BOOTSTRAP3_KCONFIG_FILE. This way, the latter is always defined,
even if to the empty value.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
In at91bootstrap3, defconfig files are spread out in various
sub-directories, so we can't easily construct the path to those
defconfig files.
As it turns out, there are no two defconfig files named the same; they
all contain at least the board name, plus some extra info. And there is
always only one directory depth below board/ where all defconfig files
are to be found.
Also, at91bootstrap3's own Makefile relies on this single-match as it
runs a 'find' command to locate the defconfig file.
So, even though we do not know the path to the defconfig file, we can
construct a shell-glob quite easily (in the hope that there will never
be more than one directory depth).
Signed-off-by: Mauro Condarelli <mc5686@mclink.it>
[yann.morin.1998@free.fr:
- remove custom _CONFIGURE_CMDS, handled by pkg-kconfig (Thomas)
- remove redundant intermediate variable
- fix using internal defconfig files
]
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Cc: Thomas De Schampheleire <patrickdepinguin@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Several packages have some logic to apply custom patches that existed
before the BR2_GLOBAL_PATCH_DIR mechanism: at91bootstrap,
at91bootstrap3, barebox, uboot and linux. Currently, the logic of
those packages to apply custom patches is to match
<package-name>-*.patch, which is not consistent with what we've done
for patches stored in the package directory, and for patches stored in
BR2_GLOBAL_PATCH_DIR: in such cases, we simply apply *.patch.
Therefore, for consistency reasons, this commit changes these packages
to also apply *.patch.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Reviewed-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Allow to generate u-boot.sd, Freescale i.MX28 SB format with a header for
booting from an SD card.
U-boot includes an mxsboot tool to generate this format, starting from
v2011.12.
See u-boot doc/README.mxs (or doc/README.mx28_common before 2013.07).
[Arnout:
- Wrap Config.in help text at 72 columns.
- Remove v from U-Boot version specifier.
- Refer to different README name before 2013.07.
- Depend on host-elftosb
- Add comment to clarify sb -> sd conversion.]
Signed-off-by: Vincent Stehlé <vincent.stehle@freescale.com>
Tested-by: Jörg Krause <joerg.krause@embedded.rocks>
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Acked-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Reviewed-by: Jörg Krause <joerg.krause@embedded.rocks>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Drop the buildroot toolchain non-largefile support option since it's
being removed.
Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Reviewed-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
This commit doesn't touch infra packages.
Signed-off-by: Jerzy Grzegorek <jerzy.grzegorek@trzebnica.net>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Since 6.03 syslinux release, the gnu-efi sources are bundled whith
syslinux. We need to force the build system to use the Buildroot's
gnu-efi package.
Remove the patch for find-gnu-efi.sh script which was removed, as well
as the SYSROOT variable from the BUILD_CMDS, which is no longer
needed.
There are still some parallel build issues, so MAKE1 can't
be removed for now.
Add a hash file.
Fix indentation.
[Thomas: fix minor typos in a new comment in the .mk file.]
Signed-off-by: Romain Naour <romain.naour@openwide.fr>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Barebox uses KERNEL_ARCH to derive BAREBOX_ARCH, but doesn't
currently handle the case of the x86-64 architecture. In this
case KERNEL_ARCH is x86_64, but BAREBOX_ARCH should be x86
nonetheless.
Signed-off-by: Fabien Lahoudere <fabienlahoudere.pro@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
[Thomas:
- use $(BAREBOX_DIR) instead of $(@D) when defining
BAREBOX_SOURCE_CONFIG, because $(@D) has no value at this point
since we're outside of a make rule. This was causing Barebox to be
constantly rebuilt, since the defconfig path was not a full path,
it was looking like: '/arch/arm/configs/tegra_v7_defconfig'. The
solution of using $(BAREBOX_DIR) has been used to mimic was is done
in the linux package, which uses $(LINUX_DIR).]
Signed-off-by: Thomas De Schampheleire <thomas.de.schampheleire@gmail.com>
Signed-off-by: "Yann E. Morin" <yann.morin.1998@free.fr>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Even though this is not strictly necessary with the current version
of barebox.mk, it becomes necessary when migrating barebox.mk to the
kconfig infrastructure.
Signed-off-by: Thomas De Schampheleire <thomas.de.schampheleire@gmail.com>
Signed-off-by: "Yann E. Morin" <yann.morin.1998@free.fr>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
When x86-64-efi platform is selected, grub2 automatically adds -m64 to the
CFLAGS. This makes the configure script failed when the toolchain does not
have multilib support (like the Buildroot ones).
Reported-by: Noe Rubinstein <nrubinstein@aldebaran-robotics.com>
Signed-off-by: Samuel Martin <s.martin49@gmail.com>
Acked-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Though U-Boot introduced a Kconfig and Kbuild build system with version
2014.10 the old build commands with <board>_config are still supported.
Tested with BR2_TARGET_UBOOT_BOARDNAME="m28evk"
Signed-off-by: Jörg Krause <joerg.krause@embedded.rocks>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
This flag seems to be obsolete. There is no piece of code in the U-Boot source
tree referencing CONFIG_NOSOFTFLOAT.
Unfortunatly the use of this flag is not documented here. Maybe it's about this
old workaround:
http://lists.denx.de/pipermail/u-boot/2007-March/020282.html
However, this patch has been declined:
http://www.denx.de/wiki/view/U-Boot/PatchStatus?rev=1.27
Since no other configure options are used, remove also UBOOT_CONFIGURE_OPTS.
Signed-off-by: Jörg Krause <jkrause@posteo.de>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Remove the quotes from the BR2_TARGET_UBOOT_SPL_NAME variable.
Signed-off-by: Jörg Krause <jkrause@posteo.de>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Point out that the SPL name is an image name.
Signed-off-by: Jörg Krause <jkrause@posteo.de>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Building an SPL image depends on the board configuration. This option
does not enable the SPL build, but only copies the built SPL image to
the binary images folder. The current help text is misleading.
Signed-off-by: Jörg Krause <jkrause@posteo.de>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Change to use the _defconfig targets of at91bootstrap3 build system
when a defconfig is used.
[Thomas: adjust to make a better use of at91bootstrap3 defconfig
mechanism.]
Signed-off-by: Angelo Compagnucci <angelo.compagnucci@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
This way we don't depend on the permissions of files under boot/grub/,
which aren't tracked.
While we're at it, change all 'cp' usages into 'install' with the
correct mode for each file.
Signed-off-by: Guido Martínez <guido@vanguardiasur.com.ar>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Add and use the "UNZIP" variable instead of calling directly unzip
because the variable contains the "-q" option to silence "unzip" so it
doesn't show the list of files extracted just like when tar files are
being unpacked.
Signed-off-by: Fabio Porcedda <fabio.porcedda@gmail.com>
Cc: Arnout Vandecappelle <arnout@mind.be>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
To easy up adding optional parameters when calling the
"apply-patches.sh" add and use the "APPLY_PATCHES" variable to execute
the script.
Signed-off-by: Fabio Porcedda <fabio.porcedda@gmail.com>
Reviewed-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
This is the location where buildroot install the image if requested,
so this should be the default search path for the bootloader.
Signed-off-by: Alvaro G. M <alvaro.gamez@hazent.com>
Acked-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
The Buildroot coding style defines one space around make assignments and
does not align the assignment symbols.
This patch does a bulk fix of offending packages. The package
infrastructures (or more in general assignments to calculated variable
names, like $(2)_FOO) are not touched.
Alignment of line continuation characters (\) is kept as-is.
The sed command used to do this replacement is:
find * -name "*.mk" | xargs sed -i \
-e 's#^\([A-Z0-9a-z_]\+\)\s*\([?:+]\?=\)\s*$#\1 \2#'
-e 's#^\([A-Z0-9a-z_]\+\)\s*\([?:+]\?=\)\s*\([^\\]\+\)$#\1 \2 \3#'
-e 's#^\([A-Z0-9a-z_]\+\)\s*\([?:+]\?=\)\s*\([^\\ \t]\+\s*\\\)\s*$#\1 \2 \3#'
-e 's#^\([A-Z0-9a-z_]\+\)\s*\([?:+]\?=\)\(\s*\\\)#\1 \2\3#'
Brief explanation of this command:
^\([A-Z0-9a-z_]\+\) a regular variable at the beginning of the line
\([?:+]\?=\) any assignment character =, :=, ?=, +=
\([^\\]\+\) any string not containing a line continuation
\([^\\ \t]\+\s*\\\) string, optional whitespace, followed by a
line continuation character
\(\s*\\\) optional whitespace, followed by a line
continuation character
Hence, the first subexpression handles empty assignments, the second
handles regular assignments, the third handles regular assignments with
line continuation, and the fourth empty assignments with line
continuation.
This expression was tested on following test text: (initial tab not
included)
FOO = spaces before
FOO = spaces before and after
FOO = tab before
FOO = tab and spaces before
FOO = tab after
FOO = tab and spaces after
FOO = spaces and tab after
FOO = \
FOO = bar \
FOO = bar space \
FOO = \
GENIMAGE_DEPENDENCIES = host-pkgconf libconfuse
FOO += spaces before
FOO ?= spaces before and after
FOO :=
FOO =
FOO =
FOO =
FOO =
$(MAKE1) CROSS_COMPILE=$(TARGET_CROSS) -C
AT91BOOTSTRAP3_DEFCONFIG = \
AXEL_DISABLE_I18N=--i18n=0
After this bulk change, following manual fixups were done:
- fix line continuation alignment in cegui06 and spice (the sed
expression leaves the number of whitespace between the value and line
continuation character intact, but the whitespace before that could have
changed, causing misalignment.
- qt5base was reverted, as this package uses extensive alignment which
actually makes the code more readable.
Finally, the end result was manually reviewed.
Signed-off-by: Thomas De Schampheleire <thomas.de.schampheleire@gmail.com>
Cc: Yann E. Morin <yann.morin.1998@free.fr>
Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
To be consistent with the recent change of FOO_MAKE_OPT into FOO_MAKE_OPTS,
make the same change for FOO_CONF_OPT.
Sed command used:
find * -type f | xargs sed -i 's#_CONF_OPT\>#&S#g'
Signed-off-by: Thomas De Schampheleire <thomas.de.schampheleire@gmail.com>
Reviewed-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
To be consistent with the recent change of FOO_MAKE_OPT into FOO_MAKE_OPTS,
make the same change for FOO_INSTALL_TARGET_OPT.
Sed command used:
find * -type f | xargs sed -i 's#_INSTALL_TARGET_OPT\>#&S#g'
Signed-off-by: Thomas De Schampheleire <thomas.de.schampheleire@gmail.com>
Reviewed-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
While the autotools infrastructure was using FOO_MAKE_OPT, generic packages
were typically using FOO_MAKE_OPTS. This inconsistency becomes a problem
when a new infrastructure is introduced that wants to make use of
FOO_MAKE_OPT(S), and can live alongside either generic-package or
autotools-package. The new infrastructure will have to choose between either
OPT or OPTS, and thus rule out transparent usage by respectively generic
packages or generic packages. An example of such an infrastructure is
kconfig-package, which provides kconfig-related make targets.
The OPTS variant is more logical, as there are typically multiple options.
This patch renames all occurrences of FOO_MAKE_OPT in FOO_MAKE_OPTS.
Sed command used:
find * -type f | xargs sed -i 's#_MAKE_OPT\>#&S#g'
Signed-off-by: Thomas De Schampheleire <thomas.de.schampheleire@gmail.com>
Reviewed-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
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>
Barebox creates a symlink to the binary. This symlink points to
the barebox.bin or to the compressed zbarebox.bin binary.
Signed-off-by: Gregory Hermant <gregory.hermant@calao-systems.com>
Tested-by: Fabio Porcedda <fabio.porcedda@gmail.com>
Acked-by: Fabio Porcedda <fabio.porcedda@gmail.com>
Tested-by: Fabio Porcedda <fabio.porcedda@gmail.com>
Acked-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
The linker script of the at91bootstrap package has to be modified when
built from gcc-4.6.x version. Indeed a section named text.startup is
created and has to be added into the text section.
Signed-off-by: Gregory Hermant <gregory.hermant@calao-systems.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
The patch that was included in buildroot was not the same as the final
one submitted in the mainline.
Signed-off-by: Alexandre Belloni <alexandre.belloni@piout.net>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
The u-boot patch got mainlined but not exactly as it was submitted to
buildroot. Update the at91bootstrap to match what is in the mainline.
Signed-off-by: Alexandre Belloni <alexandre.belloni@piout.net>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
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>
The barebox license should be "GPLv2 with exceptions", and not GPLv2.
Signed-off-by: Simon Dawson <simond@trainfx.com>
Acked-by: Luca Ceresoli <luca@lucaceresoli.net>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
The barebox license is GPLv2, and not GPLv2+.
Signed-off-by: Simon Dawson <spdawson@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
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>
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>
* bump syslinux from 4.04 to 4.05
* add patch to fix build problem with 4.05, see
http://old.nabble.com/syslinux-fails-to-build-td34112447.html
* add util-linux dependency and make sure the build finds it
Signed-off-by: Aras Vaichas <aras.vaichas@gmail.com>
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
For some platforms like OMAP, a new binary format is now being used
for u-boot: u-boot.img. It is basically u-boot.bin which has been
processed with mkimage.
Signed-off-by: Nicolas Dechesne <n-dechesne@ti.com>
Acked-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Acked-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
SPL is a first stage bootloader. On pandaboard it supercedes x-loader,
and should now be used.
This patch ensures that either SPL or xloader can be selected.
A config variable has been added for the name of the SPL binary generated
during u-boot build. For most platform it is u-boot-spl.bin but not always.
It is MLO on OMAP for example.
Signed-off-by: Nicolas Dechesne <n-dechesne@ti.com>
Acked-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Tested-by: Frank Hunleth <fhunleth@troodon-software.com>
Acked-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
Bump from 2012.04 to 2012.04.01
Fixes a nasty bug in the command line processing.
[Peter: keep kconfig name]
Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
And mark 2011.12 as deprecated.
Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
The lpc32xxcdl files have dos newlines, which our patch infrastructure
doesn't handle. Work around it by converting the affected files to unix
newlines before patching.
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
Atmel at91sam9 and NXP lpc32xx are both all arm926t, so only show
then if that arm variant is selected.
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
While upgrading the configs, it proved necessary to make more space on
the dataflash for u-boot since it grew because of relocation.
dataflash is then repartitionned to make more room for u-boot and a redundant
environment.
Signed-off-by: Alexandre Belloni <alexandre.belloni@piout.net>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
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>
This makes it possible to build the syslinux/extlinux installer, so a
bootable USB drive, CompactFlash or SD card can be created by a user
script.
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
Add support for the u-boot-nand.bin target file.
Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
We're using uboot-<version>-*.patch, and not u-boot-<version>-*.patch
Reported-by: Jerzy Grzegorek <jerzy.grzegorek@trzebnica.net>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
Thanks to the pkgparentdir and pkgname functions, we can rewrite the
AUTOTARGETS macro in a way that avoids the need for each package to
repeat its name and the directory in which it is present.
[Peter: pkgdir->pkgparentdir]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
Thanks to the pkgparentdir and pkgname functions, we can rewrite the
GENTARGETS macro in a way that avoids the need for each package to
repeat its name and the directory in which it is present.
[Peter: pkgdir->pkgparentdir]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
Sub options are indented anyway, so no need for empty menus / force people
to enter sub menus to see configuration options.
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
The name "patch-kernel.sh" is a bit stupid, since this script is used
to patch everything in Buildroot, not only kernel trees.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
Closes#4093
AUTOTARGETS doesn't handle compressed patches, so the '400' patch did
not get applied.
Fix it by extracting the patch. With this, the '500' patch is no longer
needed.
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
[Peter: only activate if barebox is enabled, fix deps]
Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
Move fw_printenv / fw_setenv options from the uboot bootloader build to
the uboot-mkimage package, and rename it to uboot-tools.
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
Commit a4ca959321 (u-boot: rename to uboot) forgot to change the kirkwood
format handling to look for the new variable name, breaking support.
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
Since at91dataflashboot has no suboption, using "menuconfig" is
useless and confusing, as it creates an empty submenu in the
configuration interface.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
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>
As the kernel and bootloaders do not use the normal BR2_PACKAGE_*
Kconfig options, their target name was not automatically added to the
global TARGETS variable. Each bootloader .mk and the linux.mk had to
add their own target manually to TARGETS, and the package
infrastructure was making tests on non-existing Kconfig variables.
This commit improves the package infrastructure so that it looks at
BR2_PACKAGE_<pkg> for packages, BR2_TARGET_<pkg> for bootloaders and
at the special BR2_LINUX_KERNEL for the linux package.
This allows to simplify a little bit the bootloaders and linux .mk
files.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
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>
The mkimage for the host is now built by a package, so that
boot/u-boot/u-boot.mk is no longer responsible for doing this. It
makes things a lot easier to handle, as linux/linux.mk now simply
depends on host-uboot-mkimage.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
The feature of building mkimage for the target is removed, it wasn't
building with current U-Boot, and doesn't make a lot of sense (mkimage
is needed only to prepare a kernel image, or an U-Boot script).
The feature of building mkimage for the host is moved to a proper
package. It duplicates a few things (U-Boot URL, etc.) but it makes
things a lot cleaner than having it handled by boot/u-boot/u-boot.mk.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
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>
Moreover, the installation of pxelinux and/or isolinux is now handled
as suboptions, like we traditionally do for other packages. This allows
to have a single option (BR2_TARGET_SYSLINUX) that enables the
syslinux package.
[Peter: drop basename in install step]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
This commit converts the at91dataflashboot bootloader build process to
GENTARGETS. It also does the following changes :
* As the package directory name is at91dataflashboot, the
configuration options and make variables are renamed to
AT91DATAFLASHBOOT instead of DATAFLASHBOOT.
* Since the board selection in Kconfig wasn't used anywhere, get rid
of it. at91dataflashboot is only for AT91RM9200 apparently anyway.
[Peter: add ':=' -> '=' change]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
When mkimage is built without the rest of u-boot (for kernel uImage
support), u-boot doesn't get configured for a specific board, so config.h
isn't created and the build breaks.
Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
Closes#3571
The current approach for building fw_printenv for the target fails on
some configurations, so use the upstream make target (which works)
instead.
At the same time get rid of the unneeded stripping.
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
The Debian package snapshot service moved to an official debian.org
address last year (http://www.debian.org/News/2010/20100412) with a
slightly different URL structure, so adjust the download URL to match.
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
We use 'make tools' to build a mkimage for the host if needed by the
kernel (uImage) without having u-boot configured, but that only works
since the 2010.03 release:
http://git.denx.de/?p=u-boot.git;a=commit;h=c7c0d542a1990
So drop the old 2009.xx versions rather than having the build break
for people.
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
[Peter: don't allow MMU on bfin]
Acked-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
Just needed to pass in ccache as a prefix to the CROSS_TARGET variable.
Signed-off-by: Martin Hicks <mort@bork.org>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
Even when building the host tools, for some reason U-Boot tries to
execute the cross-compiler, so tell it which cross-compiler to use in
order to avoid failure such as:
/usr/bin/make -j12 -C /home/test/outputs/test-253-mini2440_defconfig/build/u-boot-custom tools
make[1]: arm-linux-gcc: Command not found
make[1]: Entering directory `/home/test/outputs/test-253-mini2440_defconfig/build/u-boot-custom'
for dir in tools examples api_examples ; do /usr/bin/make -C $dir _depend ; done
Generating include/autoconf.mk
/bin/sh: line 3: arm-linux-gcc: command not found
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
The Buildroot makefile was fetching and building the special
AT91Bootstrap of Ulf, which is not the Atmel official version. While
Ulf's variant has a better configuration/build system, the Atmel
version, as officially supported, is probably a better choice for the
future.
The Atmel version only needed a small tweak to work with EABI
toolchains.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
When U-Boot is enabled and no custom patch directory has been set,
then the current test:
ifneq ($(strip $(BR2_TARGET_UBOOT_CUSTOM_PATCH_DIR)),"")
works. However, when U-Boot is not enabled, but still gets compiled
because mkimage is needed to build the kernel,
BR2_TARGET_UBOOT_CUSTOM_PATCH_DIR is completely empty. It does not
even have quotes. So the test in fact needs to be:
ifneq ($(call qstrip,$(BR2_TARGET_UBOOT_CUSTOM_PATCH_DIR)),)
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Marvell boards like the sheevaplug needs a special .kwb image format,
so add an option for it similar to how we handle zImage/uImage/..
for the kernel.
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
Now that TARGET_CC contains several space-separated words, it must be
used quoted everywhere.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
A few minor modifications of u-boot.mk is needed to support 2010.06:
- U-Boot now uses ARCH=powerpc like the kernel (instead of ARCH=ppc)
- Library files have moved, so adjust the target mkimage/fw_printenv rules
(still compatible with older versions)
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
The first patch allows to build with an EABI toolchain. The second
patch disables the install step of at91dataflashboot Makefile since it
tries to copy files to /tftpboot.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Fix the URL, fix the directory to which it gets unpacked, fix make
target names to be lower-case only.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Use AT91BOOTSTRAP_BOARD instead of BOARD_NAME. Remove
AT91BOOTSTRAP_VERSION from the final binary image name.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
At the same time, remove the unused AT91BOOTSTRAP_PATCH_LEVEL and
AT91BOOTSTRAP_PATCHED_VERSION variables.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
The boot source configuration options were depending on U-Boot
configuration options. Let's make it independent and just allow the
user to select whichever boot source is appropriate.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
There no need to depends on BR2_TARGET_AT91BOOTSTRAP when the
configuration options are already inside a if
BR2_TARGET_AT91BOOTSTRAP.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
The build process of grub2 breaks the compilation. It breaks with:
./configure: line 4766: syntax error near unexpected token `external'
./configure: line 4766: `AM_GNU_GETTEXT(external)'
In addition to this, it later requires Ruby. Do we really want to make
Buildroot depend on Ruby being installed on the host ? Do we really
want to build our own Ruby ? Do we even care about Grub2 ?
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Much of the grub2.mk seems to have been copy/pasted from
grub.mk. However, all the network/splashimage related ./configure
options do not exist in grub2.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
grub2 now builds fine, but some work remains to make it usable. What
should be installed exactly in the TARGET_DIR ? What is the
installation procedure and what should Buildroot do ?
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
grub can already only be selected for x86 and x86_64. No need to check
again for this in grub.mk.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
The bootloader being very specific to the hardware, being able to
build U-Boot from an arbitrary tarball available on the web might be
needed.
Therefore, for U-Boot, we provide two methods :
* Get a given stable version from U-Boot official FTP server
* Get an arbitrary tarball
This should hopefully satisfy most needs, without complicating too
much the U-Boot build procedure on Buildroot side.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Remove all the bootsource selection mechanism and the horribly
complicated BR2_TARGET_UBOOT_DEFAULT_ENV thing, which wanted to be
generic, but was in fact very AT91-specific.
Just keep things simple: we build U-Boot with the board configuration
file specified in BR2_TARGET_UBOOT_BOARDNAME.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
To build mkimage for the host (which is needed to build an uImage of
the kernel), it is not necessary to configure U-Boot, and therefore to
have a particular board selected.
Therefore, this commit:
* Adds a verification at U-Boot configure step that a U-Boot board
name has been defined
* Sets a default U-Boot version if none has been specified, so that
even when U-Boot isn't selected but we want to build mkimage for
the host, a particular U-Boot version is picked.
* Make the host mkimage target depend only on U-Boot being
downloaded/extracted/patched, and the target mkimage/fw_printenv
targets depend on U-Boot being fully configured.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
A very complicated infrastructure for just a special case, for an
ancient version of U-Boot. Recent versions of U-Boot are reported to
work just fine on Atmel ARM evaluation boards.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
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>