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>