Commit graph

921 commits

Author SHA1 Message Date
Mike Frysinger f80fdd2a33 linux: update paths to compiled cpio files
Linux has been using "usr/initramfs_data.cpio" for a few releases as the
generated cpio name, so the buildroot match of "...cpio.*" won't actually
clean out the previous result.

Signed-off-by: Mike Frysinger <vapier@gentoo.org>
Acked-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2010-11-17 17:22:51 +01:00
Peter Korsgaard f3da749856 linux: default to 2.6.36
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2010-10-23 14:53:08 +02:00
Peter Korsgaard d0c3d1cf43 sed: get rid of host-sed variant
And all the infrastructure surrounding it. A broken sed implementation
is quite rare nowadays, as seen by the fact that the current host-sed
support has been broken for a while, so just get rid of it.

Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2010-09-30 23:09:39 +02:00
Thomas Petazzoni 96652637cc linux: fix uImage location on AVR32
On most architectures, the kernel image can be found in
arch/<ARCH>/boot, but on AVR32, it's in arch/<ARCH>/boot/images.

Issue initially reported by Joachim Pihl
<joachim.pihl@sensordevelopments.com>.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2010-09-29 00:14:21 +02:00
Thomas Petazzoni b626dc0791 linux: restrict output image formats to the appropriate arches
Some Linux kernel output image formats are available on some archs,
some not. For example 'uImage' is not supported on MIPS, so let's
prevent the user from making this selection.

Issue initially reported by Choi, David <David.Choi@Micrel.Com>.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2010-09-29 00:14:21 +02:00
Peter Korsgaard 3e5e39a8a2 barebox/u-boot/linux: don't error out on missing config when make source
As it breaks 'make allyesconfig; make source', used for the source mirror.

Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2010-09-28 14:43:25 +02:00
Peter Korsgaard 7e7fce1b02 linux/kernel-headers: bump 2.6.32.x / 2.6.35.x stable versions
And add missing 2.6.35 patch.

Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2010-09-27 09:20:27 +02:00
Peter Korsgaard 4a7e9e8f2e linux: really bump default version to 2.6.35.5
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2010-09-21 16:54:55 +02:00
Peter Korsgaard 386c55dbba kernel-headers/linux: bump 2.6.35.x stable version
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2010-09-21 12:18:44 +02:00
Thomas Petazzoni ee3f319249 linux: don't force no initramfs
When initramfs was not selected as a root filesystem, we forcefully
disabled the initramfs in the kernel configuration.

However, it prevents an user from manually managing its initramfs, as
we override the option he has set in his kernel configuration
file. There's no real reason to do so: when initramfs is not selected
as the root filesystem, just don't touch initramfs related options in
the kernel configuration.

Problem reported by Sergey Naumov <sknaumov@gmail.com>.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2010-09-15 21:17:35 +02:00
Peter Korsgaard 113d5d1adb linux: default to 2.6.35.4
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2010-09-06 09:39:38 +02:00
Peter Korsgaard 074b6689e8 Merge branch 'fixes-20100729' of git://git.busybox.net/~tpetazzoni/git/buildroot 2010-07-30 10:21:40 +02:00
Peter Korsgaard 9d42e19476 linux: bump 2.6.34.x version
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2010-07-29 23:50:27 +02:00
Thomas Petazzoni af5dc83da4 linux: more mistake detection
Just as we do for U-Boot, error out in the Linux kernel makefile when
the defconfig name or the configuration file path are not
correct. What prompted me to implement this was a report on IRC from
an user using BR 2010.05 and not understand why the kernel build
process was failing. It was because he just forgot to set the path of
the configuration file.

Of course, it doesn't catch all mistakes (like pointing to a
non-existing defconfig or to a non-existing configuration file), but
it at least catches basic mistakes.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2010-07-29 22:18:57 +02:00
Peter Korsgaard c9ff3273eb linux: linux26-{menu,x,g}config needs host-sed
Similar to how it's done for uclibc-menuconfig.

Reported-by: Paul Jones <paul@pauljones.id.au>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2010-07-20 08:45:45 +02:00
Peter Korsgaard 95a14f57bf linux: fix BR2_LINUX_KERNEL_DEFCONFIG help text
Trailing _defconfig, not leading.

Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2010-07-18 21:28:03 +02:00
Thomas Petazzoni f507921d39 linux: add support for initramfs
In Buildroot, the kernel is built and installed *before* the root
filesystems are built. This allows the root filesystem to correctly
contain the kernel modules that have been installed.

However, in the initramfs case, the root filesystem is part of the
kernel. Therefore, the kernel should be built *after* the root
filesystem (which, in the initramfs case simply builds a text file
listing all files/directories/devices/symlinks that should be part of
the initramfs). However, this isn't possible as the initramfs text
file would lack all kernel modules.

So, the solution choosen here is to keep the normal order: kernel is
built before the root filesystem is generated, and to add a little
quirk to retrigger a kernel compilation after the root filesystem
generation.

To do so, we add a ROOTFS_$(FSTYPE)_POST_TARGETS variable to the
fs/common.mk infrastructure. This allows individual filesystems to set
a target name that we should depend on *after* generating the root
filesystem itself (contrary to normal ROOTFS_$(FSTYPE)_DEPENDENCIES,
on which we depend *before* generating the root filesystem).

The initramfs code in fs/initramfs/initramfs.mk uses this to add a
dependency on 'linux26-rebuild-with-initramfs'.

In linux/linux.mk, we do various things :

 * If BR2_TARGET_ROOTFS_INITRAMFS is enabled (i.e if initramfs is
   enabled as a root filesystem type), then we create an empty
   rootfs.initramfs file (remember that at this point, the root
   filesystem hasn't been generated) and we adjust the kernel
   configuration to include an initramfs. Of course, in the initial
   kernel build, this initramfs will be empty.

 * In the linux26-rebuild-with-initramfs target, we retrigger a
   compilation of the kernel image, after removing the initramfs in
   the kernel sources to make sure it gets properly rebuilt (we've
   experienced cases were modifying the rootfs.initramfs file wouldn't
   retrigger the generation of the initramfs at the kernel level).

This is fairly quirky, but initramfs really is a special case, so in
one way or another, we need a little quirk to solve its specialness.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2010-06-22 21:20:28 +02:00
Thomas Petazzoni 4944e8c883 linux: add support for linux26-{menuconfig,xconfig,gconfig} targets
These targets allow the user to customize the configuration of the
Linux kernel. After changing the kernel configuration, the next time
the user runs "make", the kernel is rebuilt to take into account the
new configuration (not rebuilt from scratch).

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2010-06-22 21:20:27 +02:00
Thomas Petazzoni 100c09a53b linux: adjust kernel config according to the Buildroot configuration
We only adjust the configuration or ARM EABI and IPv6. The (more
complicated) initramfs case is handled in a separate commit. The user
is expected to take care of all other configuration details (like
having Netfilter enabled to make iptables work, etc.)

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2010-06-22 21:20:27 +02:00
Thomas Petazzoni dc4d5647a5 linux: Add dependency on host-module-init-tools
In order to not depend on module init tools being installed on the
development environment of the Buildroot user, let's build module init
tools for the host.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2010-06-22 21:20:27 +02:00
Thomas Petazzoni 487e21cff6 New, simpler, infrastructure for building the Linux kernel
This patch introduces a single, simple, infrastructure to build the
Linux kernel. The configuration is limited to :

 * Kernel version: a fixed recent stable version, same as kernel
   headers version (for internal toolchains only), custom stable
   version, or custom tarball URL

 * Kernel patch: either a local file, directory or an URL

 * Kernel configuration: either the name of a defconfig or the
   location of a custom configuration file

 * Kernel image: either uImage, bzImage, zImage or vmlinux.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2010-06-22 21:20:25 +02:00