Supporting multilib is much more than just passing --enable-multilib
to gcc. You have to actually build the C library several times (once
for each multilib variant you want to support in your toolchain), and
to pass MULTILIB_OPTIONS/MULTILIB_EXCEPTIONS values to gcc to let it
know the set of multilib variants you're interested in.
Since we'll probably never support multilib toolchains in Buildroot,
just get rid of this BR2_ENABLE_MULTILIB option.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Those architectures don't exist anymore (Alpha, IA64) or aren't widely
used for embedded systems running Linux. Moreover, no clear Buildroot
maintainer has stepped in to maintain these architectures, so it's
better to not pretend that we support them.
The goal is to mark them as deprecated in 2010.08 and remove them in
2010.11.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
This commit solves bug #1051. The problem in this bug in that WebKit
compiles a sample C program, which uses WebKit. As WebKit is written
in C++, even though the program it built with CROSS-gcc, it must be
linked with libstdc++. However, CROSS-gcc can't find the libstdc++ has
it's hidden inside <sysroot>/<tuple>/lib.
Therefore, this commit creates a symbolic link <sysroot>/<tuple>/lib
-> <sysroot>/lib before running the CROSS-gcc installation. While this
may look like a hack, this is the solution used by both Crosstool-NG
and OpenWRT.
Moreover, with this symbolic link in place, I think bug #1741 may also
be solved. The problem in this bug is that the linker tries to link
against /lib/libc.so.0. This is due to the fact that the linker finds
a libc.so script file in the original toolchain location and not
inside the copy of the toolchain sysroot in $(STAGING_DIR). As the
script file is found outside of the current toolchain sysroot, ld
considers the script has non-sysrooted, and therefore doesn't prefix
all paths found in the script file (such as /lib/libc.so.0) with the
sysroot path, leading to the failure.
So, in details, this commit :
* Adds a BR2_ARCH_IS_64 invisible config knob that is used to know if
the arch is a 64 bits architecture or not.
* Creates the <sysroot>/<tuple>/lib -> <sysroot>/lib symbolic link,
and the <sysroot>/<tuple>/lib64 -> <sysroot>/lib64 symbolic link if
needed.
* Fixes the external toolchain sysroot detection code so that the
'sed' replacement is done *after* the readlink -f evaluation.
I have tested this by building ARM, x86 and x86_64 toolchains with
Buildroot, and then use these toolchains as external toolchains to
build a full X.org/Gtk/WebKit/Midori stack. I have also done a
complete ARM Buildroot internal toolchain build with the same full
X.org/Gtk/WebKit/Midori stack.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
It's now linux/Config.in that allows to configure the kernel
configuration/compilation.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
The buildroot/busybox/uClibc VM is running low on disk space, and we've
been asked to move the source mirrors off-site.
A redirect has been setup between the old buildroot.net/downloads/sources/
and sources.buildroot.net, so old .configs continue to work, but we might
as well use the official one now.
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
After the rework of the U-Boot configuration/compilation process, we
need to slightly rework how target/linux/Makefile.in.advanced depends
on mkimage on the host to produce an uImage.
target/linux/Makefile.in doesn't need to be fixed as it just doesn't
handle this dependency for the moment.
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>
The lo interface is marked auto in /etc/network/interfaces, so the
configuration of the loopback network interface is part of the
S40network init script. This causes the "RTNETLINK answers: File exists" error
message to appear at startup time.
Signed-off-by: Baruch Siach <baruch@tkos.co.il>
Acked-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
The legacy zImage target for x86 was removed from the kernel in 2.6.30,
and we state in Config.in that we'll use bzImage if BR2_PACKAGE_LINUX_FORMAT
isn't set, so ensure we do so for x86.
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
Add ttymxc[0-2] to the list is the /etc/securetty of the Busybox skeleton.
This is useful for serial logins on i.MX based systems. The same serial
devices already appear in the generic "target_skeleton/".
Signed-off-by: Baruch Siach <baruch@tkos.co.il>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
Otherwise u-boot tools / kernel modules are only added to target AFTER
the filesystems are built.
Long term u-boot/kernel stuff should get splitted from target/device,
but this is the safest solution for now.
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
New versions of the 2.6.32 and 2.6.33 kernel were released today
and it is suggested that all users should upgrade.
Signed-off-by: H Hartley Sweeten <hsweeten@visionengravers.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
If devtmpfs (the kernel-maintained /dev filesystem) is used, no
/dev/pts directory is created, causing the devpts mount to fail, which
in term causes stuff like dropbear to fail.
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
The ROOTFS_SUFFIX thing has been removed in
325bfd1cba, so get rid of the last users.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
In both internal and external toolchain cases, KERNEL_CROSS was
defined to *exactly* the same value as TARGET_CROSS. It isn't modified
anywhere, and is just used by kernel compilation and pcmcia
compilation.
Therefore, get rid of KERNEL_CROSS and use TARGET_CROSS instead.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
The restructure for building root filesystems changed the target name
for the initramfs file, to build the file the trget is now
initramfs-root but the generated file is rootfs.initramfs
Signed-off-by: Will Wagner <will_wagner@carallon.com>
Acked-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
We only bother updating the defconfigs that need a non-default
BR2_ROOTFS_DEVICE_TABLE value.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
We have a special case for Xtensa, which was patching the generic
device_table.txt. Instead of doing this, we just keep a copy of the
device table, specific to Xtensa, with Xtensa specifities. The fact
that the patch wasn't applying anymore on the generic device table is
a sign that the existing approach wasn't working anyway.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Since BR2_RECENT was enabled by default, we do not want entries marked
BR2_RECENT (and thus appearing by default in Buildroot) to disappear.
Therefore, all the entries marked BR2_RECENT are converted as
non-deprecated. We can later decide, on a per-entry basis, to add
BR2_DEPRECATED to some of them. But at least, this commit doesn't
change the default current behaviour of Buildroot.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Now, we just hardcode the image filenames to be rootfs.$(FSTYPE), in
the $(BINARIES_DIR).
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Unfortunately, it cannot use the ROOTFS_TARGET infrastructure, due to
the specifities of the iso9660 build process.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
We also remove the BR2_TARGET_ROOTFS_UBIFS_OUTPUT option, that could
be used to specify an alternate name for the generated image file.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
We also remove the BR2_TARGET_ROOTFS_JFFS2_OUTPUT option, that could
be used to specify an alternate name for the generated image file.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
We also remove the BR2_TARGET_ROOTFS_EXT2_OUTPUT option, that could be
used to specify an alternate name for the generated image file.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
In order to avoid code duplication between the different filesystem
generation makefile, we introduce a ROOTFS_TARGET macro. Documentation
for this macro is contained in the patch.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
There's no need to provide options to copy the filesystem image after
the build. Just use 'cp' outside of Buildroot.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Use package/mtd to build the host mtd-utils, which contains
mkfs.ubifs. Remove dependency on BR2_HOST_FAKEROOT.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Remove the code to build squashfs-tools for the host, since they can
now be built using package/squashfs.
We also remove support for Squashfs 3.x, because the Squashfs driver
merged inside the mainline kernel is a 4.x driver. So 3.x is only
useful for old kernels using a Squashfs patch.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Remove the code needed to build host genromfs, since it can now be
done using package/genromfs.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Remove the code to build host MTD utils, since they can now be built
using package/mtd.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Remove the genext2fs host tools building process, which is now in
package/genext2fs.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* Remove the dependency on BR2_HOST_FAKEROOT, since we don't have
config option for host tools.
* Remove a few useless things.
* Check that cpio is available on the host in
toolchain/dependencies/dependencies.sh.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Remove the code to build the cloop utilities for the host (it is now
in package/cloop).
Use fakeroot instead of ugly sudo. The cloop filesystem generation
code is now much more similar to other filesystems code.
Remove empty Makefile.in.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Now that the kernel-headers are bumped, also bump the linux
targets to match.
Signed-off-by: H Hartley Sweeten <hsweeten@visionengravers.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
It is not included in generic skeleton and very unlikely
that someone will use it on embedded devices.
AFAIK even Fedora does not include it in fstab.
Signed-off-by: Paulius Zaleckas <paulius.zaleckas@gmail.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
Has been marked as broken for more than 1 year, with no indication
that anyone cares, and it needs a bunch of special handling.
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
The -mm tree is really no longer available since the -next tree
was created for testing. It's not even listed on the kernel.org
site any longer. Plus, the last one that was published as
available was pretty old, 2.6.28-rc2-mm1.
Remove all the -mm patch stuff from Buildroot to clean up the
Linux kernel selection.
Signed-off-by: H Hartley Sweeten <hsweeten@visionengravers.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
Commit be8a104c3c (pass CFLAGS/LDFLAGS and add host-zlib dependency)
changed the way make was invocated for squashfs and added a patch for 4.0,
but forgot to add an equivalent patch for 3.4.
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
Squashfs depends on host-zlib, so we add this as a dependency. As
host-zlib is installed in $(HOST_DIR), we must pass $(HOST_CFLAGS) and
$(HOST_LDFLAGS).
Unfortunately, if we pass CFLAGS=$(HOST_CFLAGS), we override the
CFLAGS defined in the Makefile, and the build fails. Therefore, we
borrow a patch from OpenEmbedded to fix this problem.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
cramfs depends on host-zlib, so it must be built prior to cramfs.
Moreover, we need to pass the HOST_CFLAGS and HOST_LDFLAGS variables,
otherwise it doesn't find zlib in $(HOST_DIR).
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Bump all the linux kernel version to the latest available and add a
help note for all of them with the release data and status.
The long-term stable 2.6.27 kernel is really out of date (.27 -> .45).
Signed-off-by: H Hartley Sweeten <hsweeten@visionengravers.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
Probing the kernel version uses command substitution to capture the
result of a make command. If the top-level make is run with -C, the
sub-make will print entering/leaving directory messages, mucking up the
output we're trying to capture.
Invoke the sub-make with --no-print-directory so we get clean output.
Signed-off-by: Cameron Hutchison <cam@camh.ch>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
The rule to copy the resulting binary file into the binary directory had
a typo in the line continuation character that results in a spurious error
message being produced.
Signed-off-by: Rob Alley <Rob.Alley@navmanwireless.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
Closes#813.
Drop generic package selection (access point, firewall, dev system) since
they're too ambiguous and not very useful.
Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
In 2009.11, a number of extra files are needed to build mkimage. Adjust
the makefile to add those if available, so it builds with both 2009.11
and older releases.
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
Closes#757.
Make sure that /usr/bin/ exists, before trying to copy mkimage to that
location. When using an external toolchain, /usr/bin is not guarenteed to
exist.
Signed-off-by: Anders Darander <ad@datarespons.se>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
Invert the BR2_PACKAGE_BUSYBOX_HIDE_OTHERS option to use positive logic,
renaming it to _SHOW_OTHERS.
Positive logic is simpler to understand, and it makes all{,package}config
do the right thing.
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
In a pristine checkout the -menuconfig targets need their build dirs
to exist.
Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
Show Atmel mirrors together with the other mirrors, instead of hiding
them in yet another sub-menu.
At the same time, add an empty line before the Atmel include as noticed
by Hartley Sweeten.
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
Use of OABI is strongly discouraged since years now.
Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>