Commit Graph

44 Commits

Author SHA1 Message Date
Bernhard Reutner-Fischer
473a91dbe6 *-menuconfig needs dirs to exist
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>
2009-10-09 14:31:21 +02:00
Bernhard Reutner-Fischer
10eaccc233 allow menuconfig without a LINUX26_KCONFIG file
Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2009-10-07 22:13:06 +02:00
Thomas Petazzoni
397fe5cc0b Remove the "project" feature
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>
2009-09-16 20:28:25 +02:00
Thomas Petazzoni
79c213fbe5 target: use qstrip
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2009-09-05 14:43:17 +02:00
Sven Neumann
7bb5ce002c linux26: do not set CFLAGS_KERNEL to TARGET_CFLAGS
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>
2009-07-22 22:43:51 +02:00
Peter Korsgaard
aae3f1b6b3 linux: always apply platform patches if available
Get rid of BR2_KERNEL_HEADERS_PATCH_DIR config, and simply always apply
platform patches if available.
2009-02-25 14:28:35 +00:00
Peter Korsgaard
8259f1529a kernel-headers: remove 2.6.20-22 variants and outdated impi/lzma patches 2009-02-25 14:26:03 +00:00
Thiago A. Corrêa
d16f8bf2cd Simplify kernel naming scheme. Only use kernel name plus the rootfs suffix if one is provided 2009-02-06 17:38:05 +00:00
Peter Korsgaard
3ff43a6838 buildroot: convert remaining WGET users to DOWNLOAD helper 2009-01-16 12:07:53 +00:00
Peter Korsgaard
b2c5b9109e toolchain: fix cris build with 2.6.28 kernel headers
Patch by Hinko Kocevar <hinko.kocevar@cetrtapot.si>
2009-01-12 20:16:16 +00:00
Peter Korsgaard
6dbe1188de taget/linux: handle non-modular kernels
Based on b151271 in Bernhard's tree.
2008-12-07 06:55:36 +00:00
Peter Korsgaard
02a623ddf9 buildroot: remove trailing spaces
for i in `find -name 'Config*' -o -name 'Makefile*' -o -name '*.mk'`;
do
	sed -i 's/ \+$//' $i;
done
2008-08-04 19:07:05 +00:00
Peter Korsgaard
6b539be71b linux: add knob to force a rebuild of the kernel
Makes development easier. Thanks to Brian Beattie for this handy idea.

1df013316b in Bernhards tree.
2008-07-09 11:43:57 +00:00
Nigel Kukard
0bda43bec9 Feeding the kernel zero optimization -O0 breaks the kernel build at least on x86 with asm errors, remove -O0 when building the kernel 2008-03-29 17:47:36 +00:00
John Voltz
c2fe2a53dd kernel 2.6.24 creates a symlink to bzImage, which is copied inplace, symlink and all, this gives an incorrect symlink deref in binaries/uclibc/ and points to ../../x86/bzImage. Do not copy symlink in place, follow it. Patch by Nigel Kukard. 2008-03-21 17:57:02 +00:00
Ivan Kuten
cb815ae003 Add support for GNU and kernel.org mirrors 2007-12-17 12:29:06 +00:00
Bernhard Reutner-Fischer
98175bd43d - revert part of 20119 (renaming BR2_ARM_.ABI to BR2_.ABI) 2007-09-29 21:22:23 +00:00
Bernhard Reutner-Fischer
3de7a21bc7 - add mips/mipsel target architecture selection
- rename BR2_ARM_[EO]ABI to the commonly used BR2_[EO]ABI
2007-09-29 19:17:39 +00:00
Ulf Samuelsson
5459a9c5e0 Cleanup cross toolchain admin, split uclibc-menuconfig into same + uclibc-update to avoid overwriting board support file 2007-09-28 19:43:26 +00:00
Ulf Samuelsson
b8f28d656b Add administration for linux,uclibc and main 2007-09-28 16:18:16 +00:00
Ulf Samuelsson
43760e1943 Allow easy update of target linux config 2007-09-26 23:21:43 +00:00
Ulf Samuelsson
6acce2cf1f Add more management to linux and buysbox packages 2007-09-26 22:12:51 +00:00
Ulf Samuelsson
7c012c0775 Use correct path to vmlinux, Fix bad SED of config 2007-09-23 09:58:47 +00:00
Bernhard Reutner-Fischer
ea8b1fa6a6 - put LZMA into generic flags
- some additional cleanups while at it
2007-09-22 17:30:38 +00:00
Bernhard Reutner-Fischer
1f45a7ccf4 - patch the correct dir 2007-09-18 17:10:56 +00:00
Ulf Samuelsson
157d8decab Unbreak multiple boards, add Ingo's rt patch 2007-09-12 04:06:54 +00:00
Ulf Samuelsson
e99f084b2c Add unpacking + patching of linux source tree to simplify creating a new patch 2007-09-05 06:48:38 +00:00
Bernhard Reutner-Fischer
9538749582 - remove initramfs related config settings and configure them back if needed 2007-09-04 21:24:46 +00:00
Bernhard Reutner-Fischer
42450b1941 - build and use the list of the small initramfs
Overriding the use of the whole system (as does the initramfs target) is done
  on purpose.
2007-09-02 21:50:37 +00:00
Ulf Samuelsson
60eb97a42f This patch allows each project to have a private linux build.
Split build of kernel headers and kernel image into two source trees.
Kernel headers are built in $(TOOL_BUILD_DIR)
Kernel build is in $(PROJECT_BUILD_DIR)

Make sure that kernel patches are applied to the kernel tree in
$(PROJECT_BUILD_DIR)
Add board specific patches, if available.
2007-08-24 05:36:46 +00:00
Bernhard Reutner-Fischer
6547bced93 - global whitespace trimming 2007-08-22 12:35:41 +00:00
Bernhard Reutner-Fischer
3471ebe0a3 - random whitespace cleanup 2007-08-22 11:47:22 +00:00
Bernhard Reutner-Fischer
aa81a06508 - improve the way host prerequisites for "dependencies" are established 2007-08-22 09:22:07 +00:00
Bernhard Reutner-Fischer
e99518277a - add handling of lzma for the host (unconditionally for now)
- remove non-working attempt to install an lzma to the host via sudo
2007-08-21 15:33:33 +00:00
Bernhard Reutner-Fischer
d1ffa06a09 - propagate IPv6 setting down to the kernel 2007-08-21 13:21:44 +00:00
Ulf Samuelsson
979718c8d9 Fix bad parameter list for patching linux kernel 2007-08-19 22:28:51 +00:00
Ulf Samuelsson
0a9af49e0b Ensure lzma is built *before* linux, allow system installation in /usr/local/bin 2007-08-16 18:17:39 +00:00
Ulf Samuelsson
3fdcb01579 Allow user configurable kernel name 2007-08-01 11:52:15 +00:00
Bernhard Reutner-Fischer
170300e045 - revert a part that was introduced with the PROJECT changes.
fixes unability to build a kernel (failed to find rule .patched)
2007-07-23 14:43:40 +00:00
"Steven J. Hill"
62b5ae4b66 Fix INITRAMFS target that was broken. Get rid of config stuff out of the top-level directory. Finally fix Linux kernel module building such that modules are built and installed first followed by rest of packages. This allows for packages to build external Linux kernel modules. 2007-07-18 18:07:19 +00:00
"Steven J. Hill"
1bb1d9f396 Add 'linux26-modules' target to allow external drivers to be built with the kernel. Also, remove 'boot' directory before creating INITRAMFS. 2007-07-17 13:28:31 +00:00
"Steven J. Hill"
c5180589da A number of fixes including placing of the final image into the 'binaries' directory. Moved INITRAMFS_TARGET to the correct location as modules from the built kernel were not being installed until after the INITRAMFS had been built. Fixed config options for INITRAMFS to be correct and cleaned up whitespace/tab issues. 2007-07-17 00:20:32 +00:00
Ulf Samuelsson
412ca2a4d4 BSP Patch:
=========================================================
	The purpose of the BSP patch is to allow building
	several boards inside the same buildroot tree.
	For this to work, each board has to have its
	own "$(TARGET_DIR)" and all *configurable* packages
	must be rebuilt for each board.
	They are now built in the "$(PROJECT_BUILD_DIR)"
	All non configurable packages can and should still
	be built in the "$(BUILD_DIR)".
	If a package is built for one board, then when
	you build for a second board of the same architecture
	the build becomes a simple copy of the resulting
	binaries.

	-----
	Define BR2_PROJECT which will be used as the selector
	between different boards. Note that BR2_PROJECT allow
	you to build multiple root file systems for a single 
	board, and should not be confused with BR2_BOARD_NAME
	which relates to the H/W.

	-----
	Define PROJECT_BUILD_DIR as 	"PROJECT_BUILD_DIR/$(PROJECT)"
	Define BINARIES_DIR as 		"binaries/$(PROJECT)"
	Define TARGET_DIR as		"$(PROJECT_BUILD_DIR)/root"
	(some prefix/postfix may apply)

	Resulting images are stored in	"$(BINARIES_DIR)"

	-----
	Define a few new environment variables in Makefile

	PROJECT:	Stripped BR2_PROJECT
	DATE:		Date of build in YYYY-MM-DD format
	HOSTNAME:	Stripped BR2_HOSTNAME	=> /etc/hostname
	BANNER:		Stripped BR2_BANNER	=> /etc/issue

	Linux and Busybox will be built in $(PROJECT_BUILD_DIR)
	More patches will be needed later to ensure all
	configurable packages are built in this directory.
2007-07-12 13:11:03 +00:00
Ulf Samuelsson
0e5715a9d7 Build linux within target/linux/Makefile.in instead of within target/linux26.mk 2007-07-11 14:34:55 +00:00