Commit Graph

41 Commits

Author SHA1 Message Date
Yann E. MORIN"
1bf982dd68 arch/arm: add support for AArch64
AArch64 id the 64-bit variant for ARM.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: Zhenqiang Chen <zhenqiang.chen@linaro.org>
Cc: Michael Hope <michael.hope@linaro.org>
2013-12-30 23:28:18 +01:00
Yann E. MORIN"
9bda4536fe kernel/linux: prepare for arch whose kenel name is not the standard name
For some architectures, the kernel architecture name is not the common
name of the architecture for other tools.

For example: ARM 64-bit is commonly referenced as aarch64, but the kernel
calls it arm64.

Signed-off-by: Michael Hope <michael.hope@linaro.org>
Signed-off-by: Zhenqiang Chen <zhenqiang.chen@linaro.org>
[yann.morin.1998@free.fr: split out of the aarch64 patch]
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
2013-12-30 23:15:02 +01:00
Jerzy Grzegorek"
5458f566af kernel/linux: add xz-ed linux tarballs
Signed-off-by: Jerzy Grzegorek <jerzy.grzegorek@trzebnica.net>
Message-Id: <f249828223fc75313bee.1363860871@NX5000>
Patchwork-Id: 229618
2013-03-21 10:57:31 +01:00
Yann E. MORIN"
8a1008cf4f kernel/linux: fix missing 'then'
Reported-by: David Holsgrove <david.holsgrove@xilinx.com>
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
2012-10-17 21:21:44 +02:00
Yann E. MORIN"
e1806b1d22 kernel/linux: fix using custom location
Currently, extract and patch are skipped as thus:
  - using a custom directory of pre-installed headers
  - a correctly named directory already exists

Otherwise, extract and patch are done.

The current second condition is wrong, because it allows the following
sequence to happen:
  - a non-custom kernel is used
  - a previous build only partially extracted the non-custom sources
  - that p[revious build broke during extraction (eg. incomplete tarball...)
  - a subsequent build will find a properly named directory, and will
    thus skip extract and patch, which is wrong

Fix that by following the conditions in this table:

Type                  | Extract | Patch
----------------------+---------+-------
Pre-installed headers |    N    |   N
custom directory      |    N    |   N
custom tarball        |    Y    |   N
mainstream tarball    |    Y    |   Y

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: David Holsgrove <david.holsgrove@xilinx.com>
2012-10-16 20:57:44 +02:00
David Holsgrove
bdc4ed3df1 kernel/linux: use generic custom infrastructure
Config options remain the same as before, just generalised to be used by other
components also.

Signed-off-by: "David Holsgrove" <david.holsgrove@xilinx.com>
[yann.morin.1998@free.fr: fix indentation, fix comment]
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Message-Id: <50674fe47431174aab80.1349931193@localhost.localdomain>
PatchWork-Id: 190786
2012-10-11 14:39:40 +10:00
Esben Haabendal
651b79e7ce kernel/linux: change m68k/no-mmu linux arch tuple to use -uclinux
GCC requires m68k arch tuples to be *-*-uclinux-* to support Linux on
no-mmu m68k (ColdFire) cpus.

Blackfin arch tuple must be *-*-linux-uclibc for FD_PIC_ELF toolchains,
so we cannot just switch to uclinux for no-mmu Linux toolchains.

Signed-off-by: "Esben Haabendal" <esben@haabendal.dk>
Message-Id: <876271s1ee.fsf@arh128.prevas.dk>
PatchWork-Id: 186976
2012-09-26 09:09:23 +02:00
Jang, Bongseo
f1be07d210 kernel/linux: symlink custom kernel source dir with '-f'
build fails to symlink to custom kernel dir when the build is not the first time
because of 'ln -s' without '-f' option.

Signed-off-by: "Jang, Bongseo" <graycells@gmail.com>
Message-ID: <543e2981f2b723ecd850.1348370892@localhost.localdomain>
PatchWork-ID: 186178
2012-09-23 11:59:28 +09:00
Benoît Thébaudeau"
c6c56296dc kernel/linux: fix missing quote
Signed-off-by: "Benoît Thébaudeau" <benoit.thebaudeau@advansee.com>
2011-12-12 21:47:08 +01:00
Yann E. MORIN"
9b92f56f2f kernel/linux: add alternate download locations
Some longterm versions are not in the usual directory.
Account for these new locations.

Get rid of the mirror location, now that the main kernel site is
(almost) back to normal operations.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-12-12 00:01:54 +01:00
Yann E. MORIN"
52c5b06255 kernel/linux: prepare for 3.1 and above
The real upstream location is not in the '3.0' directory, but
in the '3.x' directory.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-09-26 22:59:14 +02:00
Yann E. MORIN"
bcb784e826 kernel/linux: use a custom kernel source directory
Allows using either a tarball or a directory as the custom kernel
source location.

Signed-off-by: Vincent BENOIT <sinseman44@gmail.com>
[yann.morin.1998@anciens.enib.fr: fix space damage, detailed commit message]
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-09-22 22:49:38 +02:00
Yann E. MORIN"
e8fc5b3407 kernel/linux: add alternate download locations
Since kernel.org is dead, and there is no announced or known estimated
time or return to normality, it is impossible to download any kernel at
this time.

Add a known-working mirror.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-09-21 22:42:35 +02:00
Yann E. MORIN"
340b25b7ad kernel/linux: fix using custom tarball
The custom-tarball symlink was created in CT_SRC_DIR, when it
should be created in CT_TARBALLS_DIR.

Reported-by: Guylhem Aznar <crossgcc@guylhem.net>
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-08-16 22:30:00 +02:00
Yann E. MORIN"
4144a003ab kernel/linux: remove check for lzma tarballs
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-08-14 16:07:03 +02:00
Yann E. MORIN"
59499a2cda kernel/linux: simplify custom tarball handling
Simplify the way the custom tarball is handled:
- fake version="custom"
- at download, simply link the custom tarball to:
    "linux-custom.${custom_extension}"
- at extract, the above allows to simply extract "linux-${LINUX_VERSION}"
  where LINUX_VERISON is set to the fake version="custom"

Not that much convoluted, in fact... :-/

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-08-14 19:59:02 +02:00
Yann E. MORIN"
c4d628f257 kernel/linux: prepare to handle 3.x
The place to get 3.x has changed; the version scheme has changed.

No need to be overkill, just support 3.x; 4.x is not even dreamt of.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-07-22 21:45:07 +02:00
Yann E. MORIN"
1ce0dba9d7 kernel/linux: simplify the download URL
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-01-14 18:36:07 +01:00
Yann E. MORIN"
3de7ced945 kernel/linux: longterm kernel location changed
The location of the longterm Linux kernels on FTP has changed.
Here is a simple (but not very versatile) fix.

Signed-off-by: "Björn A. Herwig" <herwig@gdsys.de>
[yann.morin.1998@anciens.enib.fr: make it generic/versatile]
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-01-14 18:32:38 +01:00
Yann E. MORIN"
908f4aeab9 kernel/linux: Cleanup unneeded files from 'headers_check' and 'headers_install'
headers_install makes  .install and ..install.cmd files.
headers_check makes    .check   and ..check.cmd   files.
Remove these files uncoditionaly after installing (and checking) header files
into the sys-root.

Signed-off-by: Bryan Hundven <bryanhundven@gmail.com>
[Yann E. MORIN: reformat the patch, move hunk out of headers_check conditional]
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2010-12-22 22:41:51 +01:00
Yann E. MORIN"
c4933a400c kernel/linux: allow headers from full custom source tree
Accept a local tarball name as the source of the Linux kernel headers,
rather than forcing the user to use either an upstream tarball, or a
local pre-installed headers tree.
2010-06-17 18:30:09 +02:00
Yann E. MORIN"
f99f3208af kernel/linux: reorder upstream/custom-tree handling 2010-06-15 20:04:01 +02:00
Thomas Petazzoni
24e4d092a5 Add basic support for the Blackfin architecture
For uClibc, the name of the Blackfin architecture is 'bfin'. Actually,
the naming of the architecture is quite messy: for toolchain tuples
and uClibc, it's bfin, but for the kernel, it's blackfin. We've
arbitraly choosen to name it "blackfin" in Crosstool-NG.

Add Blackfin-related uClibc patch to fix a build failure related to
fork() being used in unistd/daemon.c.

Yann E. MORIN:
Apply the patch to the kernel/linux build script to use 'linux'
in the noMMU tuples. See:
  http://sourceware.org/ml/crossgcc/2010-04/msg00010.html
2010-04-07 09:18:20 +02:00
Yann E. MORIN"
bf86627982 scripts/functions: make CT_Patch dumber
It is the responsibility of the caller to split the package name from
its version. It already knows that.
2010-04-11 23:18:10 +02:00
Yann E. MORIN"
8577bc52c1 kernel/linux: remove legacy check
Now, we only support building with Linux >=2.6.27.
Get rid of the code that depended on <2.6.18.
2010-01-29 22:55:35 +01:00
Yann E. MORIN"
6b73ea68c5 kernel/linux: use CT_ARCH, in place of CT_KERNEL_ARCH
Since we merged the 32/64-bit archs, and we explicitly used
the Linux kernel arch name, we can get rid of CT_KERNEL_ARCH.
2010-01-23 18:39:28 +01:00
Yann E. MORIN"
45747a6453 Merge the uClinux/noMMU stuff back to /trunk:
- merge Linux and uClinux back to a single kernel
- add ARCH_USE_MMU and acquainted config options that
  architectures can auto-select
- make binutils and elf2flt two "Binary utilities" that
  go in a single common sub-{menu,directory} structure

 -------- diffstat follows --------
 /trunk/scripts/build/kernel/uclinux.sh      |    2     0     2     0 -
 /trunk/scripts/build/kernel/linux.sh        |  206   204     2     0 +++++++++++++++++++++++++++++
 /trunk/scripts/build/kernel/linux-common.sh |  198     0   198     0 ----------------------------
 /trunk/scripts/build/binutils.sh            |  232     0   232     0 --------------------------------
 /trunk/scripts/build/elf2flt.sh             |  150     0   150     0 ---------------------
 /trunk/scripts/crosstool-NG.sh.in           |    6     4     2     0 +
 /trunk/config/kernel/linux.in               |  249   249     0     0 +++++++++++++++++++++++++++++++++++
 /trunk/config/kernel/linux.in-common        |  252     0   252     0 -----------------------------------
 /trunk/config/kernel/uclinux.in             |   21     0    21     0 ---
 /trunk/config/target.in                     |   23    22     1     0 +++
 /trunk/config/elf2flt.in                    |   49     0    49     0 -------
 /trunk/config/libc/glibc.in                 |    2     1     1     0
 /trunk/config/libc/eglibc.in                |    2     1     1     0
 /trunk/config/config.in                     |    1     0     1     0 -
 /trunk/config/arch/sh.in                    |    1     1     0     0 +
 /trunk/config/arch/arm.in                   |    2     1     1     0
 /trunk/config/arch/powerpc.in               |    1     1     0     0 +
 /trunk/config/arch/ia64.in                  |    1     1     0     0 +
 /trunk/config/arch/alpha.in                 |    1     1     0     0 +
 /trunk/config/arch/x86.in                   |    1     1     0     0 +
 /trunk/config/arch/mips.in                  |    1     1     0     0 +
 /trunk/config/arch/powerpc64.in             |    1     1     0     0 +
 22 files changed, 489 insertions(+), 913 deletions(-)
2009-05-20 20:13:13 +00:00
Yann E. MORIN"
df07dda46d Merge the /deve/uclinux branch back to /trunk:
- add support for uClinux, the MMU-less ports of Linux.

 -------- diffstat follows --------
 /trunk/scripts/build/kernel/linux.sh      |  100     1    99     0 ---------------
 /trunk/steps.mk                           |    1     1     0     0 +
 /trunk/config/kernel/linux.in             |  247     0   247     0 -------------------------------------
 /trunk/config/kernel.in                   |    2     1     1     0
 /trunk/config/libc/glibc.in               |    2     1     1     0
 /trunk/config/libc/eglibc.in              |    2     1     1     0
 /trunk/config/libc/glibc-eglibc.in-common |    5     5     0     0 +
 /trunk/config/config.in                   |    1     1     0     0 +
 8 files changed, 11 insertions(+), 349 deletions(-)
2009-05-13 20:55:15 +00:00
Yann E. MORIN"
1805f4e62d There's no longer any reason to require GNU awk:
- the only part that required it (socks proxy settings) is gone,
- all remaining awk scripts are POSIXly correct (or should be).

 -------- diffstat follows --------
 /trunk/configure                     |    5     2     3     0 ++---
 /trunk/Makefile.in                   |    2     0     2     0 --
 /trunk/scripts/build/kernel/linux.sh |    2     1     1     0 +-
 /trunk/scripts/build/internals.sh    |    1     0     1     0 -
 /trunk/scripts/build/mpfr.sh         |    2     1     1     0 +-
 /trunk/scripts/functions             |    4     2     2     0 ++--
 /trunk/scripts/saveSample.sh.in      |    4     2     2     0 ++--
 7 files changed, 8 insertions(+), 12 deletions(-)
2009-04-20 21:10:03 +00:00
Yann E. MORIN"
9be02f047e Use "${awk}", not gawk.
/trunk/scripts/build/kernel/linux.sh |    2     1     1     0 +-
 /trunk/scripts/build/mpfr.sh         |    2     1     1     0 +-
 /trunk/scripts/functions             |    4     2     2     0 ++--
 3 files changed, 4 insertions(+), 4 deletions(-)
2009-04-06 20:27:17 +00:00
Yann E. MORIN"
b6b7925fcb Rename the custom header option.
/trunk/scripts/build/kernel/linux.sh |   12     6     6     0 ++++++------
 /trunk/config/kernel/linux.in        |    4     2     2     0 ++--
 2 files changed, 8 insertions(+), 8 deletions(-)
2009-03-03 20:29:35 +00:00
Yann E. MORIN"
ea604716d9 When using custom Linux kernel headers, allow using a tarball.
/trunk/scripts/build/kernel/linux.sh |   19    16     3     0 ++++++++++++++++---
 /trunk/config/kernel/linux.in        |   35    26     9     0 ++++++++++++++++++++++++++---------
 2 files changed, 42 insertions(+), 12 deletions(-)
2009-03-03 18:43:38 +00:00
Yann E. MORIN"
ebf01acb41 Split CT_ExtractAndPatch in two: CT_Extract and CT_Patch:
- it is unworkable to have CT_ExtactAndPAtch cope with all those silly glibc addons:
  - they can have 'short' (as 'ports') or 'long' (as glibc-ports-2.7) names
  - patches are against eithe the short or long name, but non-uniformly use one or the other
  - it is the reposibility of the component (glibc in this case) to handle corner cases such as those
- update all components to use the new functions

 /trunk/scripts/build/tools/000-template.sh |    3     2     1     0 +-
 /trunk/scripts/build/tools/100-libelf.sh   |    3     2     1     0 +-
 /trunk/scripts/build/tools/200-sstrip.sh   |    3     2     1     0 +-
 /trunk/scripts/build/kernel/linux.sh       |    3     2     1     0 +-
 /trunk/scripts/build/binutils.sh           |    3     2     1     0 +-
 /trunk/scripts/build/cc/gcc.sh             |    3     2     1     0 +-
 /trunk/scripts/build/debug/000-template.sh |    3     2     1     0 +-
 /trunk/scripts/build/debug/100-dmalloc.sh  |    3     2     1     0 +-
 /trunk/scripts/build/debug/400-ltrace.sh   |    3     2     1     0 +-
 /trunk/scripts/build/debug/300-gdb.sh      |    9     6     3     0 +++--
 /trunk/scripts/build/debug/500-strace.sh   |    7     3     4     0 ++--
 /trunk/scripts/build/debug/200-duma.sh     |   19     8    11     0 ++++------
 /trunk/scripts/build/libc/glibc.sh         |   14    12     2     0 ++++++-
 /trunk/scripts/build/libc/uClibc.sh        |   13     9     4     0 +++++--
 /trunk/scripts/build/libc/eglibc.sh        |   14    12     2     0 ++++++-
 /trunk/scripts/build/gmp.sh                |    3     2     1     0 +-
 /trunk/scripts/build/mpfr.sh               |    3     2     1     0 +-
 /trunk/scripts/functions                   |   68    36    32     0 +++++++++++++++++++-----------------
 18 files changed, 108 insertions(+), 69 deletions(-)
2009-01-05 23:02:43 +00:00
Yann E. MORIN"
e44e1a82e4 A small layout enhancement in the Linux kernel build script.
/trunk/scripts/build/kernel/linux.sh |    3     2     1     0 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)
2009-01-04 14:25:24 +00:00
Yann E. MORIN"
26e96f3ec5 Get rid off CT_KERNEL_FILE.
/trunk/scripts/build/kernel/linux.sh |   30    15    15     0 +++++++++++++++---------------
 /trunk/scripts/crosstool.sh          |    1     0     1     0 -
 2 files changed, 15 insertions(+), 16 deletions(-)
2009-01-04 14:18:20 +00:00
Yann E. MORIN"
b8b7843bea Get rid of all stuff related to building a /delivery' traball:
- building a delivery tarball has long been broken (since crostool-Ng is installable)
- get rid of implied do_print_filename, that can be mis-leading now tarballs can not be built

 /trunk/scripts/build/kernel/bare-metal.sh  |    4     0     4     0 ----
 /trunk/scripts/build/kernel/linux.sh       |    4     0     4     0 ----
 /trunk/scripts/build/tools/000-template.sh |   11     0    11     0 -----------
 /trunk/scripts/build/tools/100-libelf.sh   |    4     0     4     0 ----
 /trunk/scripts/build/tools/200-sstrip.sh   |   11     1    10     0 +----------
 /trunk/scripts/build/binutils.sh           |    4     0     4     0 ----
 /trunk/scripts/build/cc/gcc.sh             |    5     0     5     0 -----
 /trunk/scripts/build/debug/000-template.sh |   11     0    11     0 -----------
 /trunk/scripts/build/debug/100-dmalloc.sh  |    4     0     4     0 ----
 /trunk/scripts/build/debug/400-ltrace.sh   |    4     0     4     0 ----
 /trunk/scripts/build/debug/300-gdb.sh      |    7     0     7     0 -------
 /trunk/scripts/build/debug/500-strace.sh   |    4     0     4     0 ----
 /trunk/scripts/build/debug/200-duma.sh     |    4     0     4     0 ----
 /trunk/scripts/build/libc/none.sh          |    5     0     5     0 -----
 /trunk/scripts/build/libc/glibc.sh         |   10     0    10     0 ----------
 /trunk/scripts/build/libc/uClibc.sh        |    6     0     6     0 ------
 /trunk/scripts/build/libc/eglibc.sh        |   10     0    10     0 ----------
 /trunk/scripts/build/gmp.sh                |    6     0     6     0 ------
 /trunk/scripts/build/mpfr.sh               |    6     0     6     0 ------
 /trunk/docs/overview.txt                   |    9     0     9     0 ---------
 20 files changed, 1 insertion(+), 128 deletions(-)
2009-01-03 21:11:41 +00:00
Yann E. MORIN"
00326c96db Add a fast Linux kernel mirror.
/trunk/scripts/build/kernel/linux.sh |    2     1     1     0 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
2008-11-14 13:48:55 +00:00
Yann E. MORIN"
a5bbab574f Use 'gawk', not plain 'awk'.
We need GNU Awk? Then check for, and use 'gawk', not plain 'awk'.
Be a little mre verbose if a tool was not found.

 /trunk/configure                     |    7     4     3     0 ++++---
 /trunk/scripts/build/kernel/linux.sh |    2     1     1     0 +-
 /trunk/scripts/functions             |   16     8     8     0 ++++++++--------
 /trunk/scripts/saveSample.sh         |    4     2     2     0 ++--
 4 files changed, 15 insertions(+), 14 deletions(-)
2008-10-29 22:27:30 +00:00
Yann E. MORIN"
1c625d676c Push the calculation of the tuple's kernel part down to kernel's build scripts:
- update the kernel script's API with the function CT_DiKernelTupleValues
- update doc accordingly (also with the architecture change, missing in the previous commit)
- small clean-up in the main script, remove useless test

 /trunk/scripts/build/kernel/bare-metal.sh |    5     5     0     0 +++++
 /trunk/scripts/build/kernel/linux.sh      |    5     5     0     0 +++++
 /trunk/scripts/crosstool.sh               |   31    13    18     0 +++++++++++++------------------
 /trunk/scripts/functions                  |   15     8     7     0 ++++++++-------
 /trunk/docs/overview.txt                  |   13     9     4     0 +++++++++----
 5 files changed, 40 insertions(+), 29 deletions(-)
2008-10-23 13:45:48 +00:00
Yann E. MORIN"
b6a8c7318d Move all the Linux kernel config options to a single file (to ease supporting more than one kernel).
Rename some Linux kernel config options (ditto).
Update the addToolsVersion.sh script.

 /trunk/scripts/build/kernel/linux.sh |   13     6     7     0 +--
 /trunk/tools/addToolVersion.sh       |  105    37    68     0 +++++++--------------
 /trunk/config/kernel/linux.in        |  211   189    22     0 ++++++++++++++++++++++++++++++++++++++----
 3 files changed, 232 insertions(+), 97 deletions(-)
2008-09-15 14:52:29 +00:00
Yann E. MORIN"
7a0e770be1 Remove the now really obsolete Linux kernel headers copy and sanitised.
Remove orphanned Linux kernel patchsets.
Initiate a kernel build scripts directory. Move the Linux kernel build script there.

 /trunk/scripts/build/kernel/linux.sh |  146    11   135     0 +++---------------------------------------
 /trunk/scripts/crosstool.sh          |    2     1     1     0
 /trunk/steps.mk                      |    1     0     1     0 -
 /trunk/config/kernel/linux.in        |   49     0    49     0 --------------
 /trunk/config/kernel.in              |    4     4     0     0 +
 5 files changed, 16 insertions(+), 186 deletions(-)
2008-09-10 21:40:23 +00:00