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>
prevents build failures if modules are enabled and localversion is ""
Signed-off-by: aldot <rep.dot.nop@gmail.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
As discussed earlier on the mailing list. It simplifies code, gives more
sensible error message on typos and makes the defconfigs easier to find
for users.
Furthermore, update documentation to match.
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
We have been passing -q to ./configure when using 'make -s' for
packages using Makefile.autotools.in for some time. Do the same
for packages using autotools, but not using the
Makefile.autotools.in infrastructure, taking care to not do it
for packages with hand written configure scripts.
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
Commit a07d6b9d56 changed the meaning
of $(BASE_DIR). Previously it was the top level buildroot directory,
now it is the 'output' directory.
As an side effect, the download directory 'dl' was moved to 'output/dl'.
In commit 416323e934 the default download
directory was moved back to the top level of buildroot.
So the various default configurations should reflect this. Fix them.
Signed-off-by: Michael Roth <mroth@nessie.de>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
To reflect the new output directory hierachy rename the Makefile variable
TOOL_BUILD_DIR to TOOLCHAIN_DIR.
Signed-off-by: Michael Roth <mroth@nessie.de>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
Adjust default /etc/issue to print 'Welcome to Buildroot' like the
recently removed BR2_BANNER did, and adjust default hostname to be
'buildroot' instead of uclibc as we now support external glibc
toolchains as well.
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
The "project" feature was designed to allow to several projects to be
built inside the same Buildroot source tree and allowing the toolchain
and non-configurable packages to be shared between the different
projects on the same architecture. While being interesting in theory,
this feature adds a level of complexity to Buildroot, both from an
user perspective and from a developer perspective, while one of the
main Buildroot strengh is to be simple. Moreover, this feature is only
seldomly used by our users.
From a user-level perspective, this for example allows to remove the
project_build_ARCH directory, which was very confusing. The
autotools-stamps directory is also removed, since these stamps are
back at their normal location.
Description of the changes involved :
* project/, directory removed
* Makefile
- Don't include project/Makefile.in and project/project.mk anymore
- Grab a copy of the contents of project/Makefile.in at the
location it was imported, but remove the definition related to
PROJECT_BUILD_DIR. The TARGET_DIR is now in
$(BUILD_DIR)/target_dir
- Remove the creation/removal of the $(PROJECT_BUILD_DIR) and
$(PROJECT_BUILD_DIR)/autotools-stamps directories
- Don't make world depends on target-host-info. This target was
defined by project/project.mk to customize /etc/issue,
/etc/hostname and create /etc/br-version depending on the
project definitions. We can of course imagine re-adding such a
feature later.
- Replace PROJECT_BUILD_DIR by BUILD_DIR everywhere
- Remove the update, log and lognr.$(PROJECT) target, they were
specific to the project feature.
* package/Makefile.autotools.in
- Replace PROJECT_BUILD_DIR by BUILD_DIR for the location of the
configure cache
- Move the INSTALL_TARGET and HOOK_POST_INSTALL stamps to the same
directory as the other stamps (i.e, in the package directory).
* package/Makefile.in
- Replace PROJECT_BUILD_DIR by BUILD_DIR for the location of the
configure cache
* package/at/at.mk,
package/busybox/busybox.mk,
package/busybox/initramfs.mk,
package/customize/customize.mk,
package/linux-fusion/linux-fusion.mk,
package/ltp-testsuite/ltp-testsuite.mk,
package/nfs-utils/nfs-utils.mk,
target/cpio/cpioroot.mk,
target/cramfs/cramfs.mk,
target/device/Atmel/DataFlashBoot/DataflashBoot.mk,
target/device/Atmel/Makefile.in,
target/device/Atmel/at91bootstrap/at91bootstrap.mk,
target/device/KwikByte/Makefile.in,
target/ext2/ext2root.mk,
target/initramfs/initramfs.mk,
target/iso9660/iso9660.mk,
target/jffs2/jffs2root.mk,
target/linux/Makefile.in,
target/romfs/romfs.mk,
target/squashfs/squashfsroot.mk,
target/tar/tarroot.mk,
target/ubifs/ubifsroot.mk
- Replace PROJECT_BUILD_DIR by BUILD_DIR
* target/device/Config.in
- Do not include project/Config.in anymore
* target/linux/Makefile.in.advanced
- Replace PROJECT_BUILD_DIR by BUILD_DIR
- Store the stamps file in $(STAMP_DIR) instead of
$(PROJECT_BUILD_DIR)/autotools-stamps
* target/u-boot/Makefile.in
- Replace PROJECT_BUILD_DIR by BUILD_DIR
- Remove $(PROJECT) from the U-Boot target binary name
- Remove the insertion in the configuration of the project name as
the hostname
- The u-boot-autoscript target now generates
$(U_BOOT_AUTOSCRIPT).img instead of
$(U_BOOT_AUTOSCRIPT).$(PROJECT)
* toolchain/gcc/gcc-uclibc-3.x.mk
toolchain/gcc/gcc-uclibc-4.x.mk
- Move the stamps files to $(STAMP_DIR)
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
It hasn't been touched in years, and Config.in refers to non-existing
files (linux.mk), so there cannot be many users.
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
BR2_UCLIBC_PROGRAM_INVOCATION is a toolchain configuration option,
like BR2_INET_IPV6, BR2_INET_RPC, on which some packages
depend. Therefore, it should be handled like BR2_INET_IPV6 and
BR2_INET_RPC in order to work properly with external toolchains.
Since we move it out of toolchain/uClibc/Config.in into
toolchain/Config.in.2, we rename the option to BR2_PROGRAM_INVOCATION
(since BR2_INET_RPC and others don't have UCLIBC in their name).
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
The config help text says it all:
Specify a script to be run after the build has finished and before
the BR2 starts packing the files into selected packages.
This gives users the oportunity to do board-specific cleanups,
add-ons and the like, so the generated files can be used directly
without further processing.
The script is called with the target directory name as first and
only argument. Make sure the exit code of that script is 0,
otherwise make will stop after calling it.
Signed-off-by: Daniel Mack <daniel@caiaq.de>
Cc: Sven Neumann <s.neumann@raumfeld.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
Using TARGET_CFLAGS breaks the kernel build for the arm platform. The
result is a kernel that can not be booted. So simply do not fiddle with
the CFLAGS on a kernel build and the kernel build system will do the
right thing (TM).
[Peter: do the same thing for the standard kernel build]
Signed-off-by: Sven Neumann <s.neumann@raumfeld.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
u-boot 2009.06 changed the tools/ logic, and no longer adds symbolic
links to the needed library files in the tools directory.
Fix build by referencing the library files in their original location.
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
This patch makes ttymxc[012] an option to choose for
BR2_TARGET_GENERIC_GETTY.
It also adds these ports to the generic device table and to securetty.
Signed-off-by: Daniel Mack <daniel@caiaq.de>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
Closes#367.
arm926t was wrongly listed as armv4t, and not armv5te - leading to
the following error while compiling the kernel (2.6.28):
CC arch/arm/kernel/traps.o
{standard input}: Assembler messages:
{standard input}:1094: Error: selected processor does not support `pld [r6,#0]'
Signed-off-by: Alex Dobrynin <alex_dobrynin@hotmail.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
It should get fixed to use mkfs.ubifs from mtd-utils, but that's
probably unrealistic before the 2009.05 release, so mark as broken
for now.
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
Squashfs 4.0 is needed to create file systems for the mainline squashfs
version (mainline from 2.6.29). This is unfortunately not compatible with
the old 3.x version and the external kernel patches, so add a choice
between the 2 versions.
The host versions shouldn't be visible in Kconfig, so remove the
reference to BR2_PACKAGE_PKGCONFIG everywhere and prefix the host targets
with host-.
At the same time add pkgconfig for the target (E.G. for development) and
let BR2_PACKAGE_PKGCONFIG control that package.
Notice: all defconfigs in the tree have been updated, but make sure to
disable the pkgconfig package (unless you want it) if you use an external
config, otherwise you'll end up with pkgconfig and glib2 in the target.