This is the mail archive of the crossgcc@sourceware.org mailing list for the crossgcc project.

See crosstool-NG for lots more information.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Changing the destination Linux Kernel version


On Mon, Mar 11, 2013 at 03:17:12PM +0100, Clément VERMOT-DESROCHES wrote:
> I'm currently trying to create a cross toolchain using crosstool-ng.
> I have 3 machines :
> -my build machine : i386 with Linux Kernel 3.5.0
> -my host machine : i386 with Linux Kernel 2.6.18
> -my target machine : ARM with Linux Kernel 3.6.11
> 
> I manage to generate a valid toolchain. I compile with success a
> binary for the target from my build machine. But I have to use the
> host machine to produce my target binary. If I try to compile on my
> host machine with the toolchain produced on my build machine, I get
> the message :
> "FATAL : kernel too old
> segmentation fault"
> 
> If I do a "file linux-gnueabi-gcc", I get "ELF 32-bit LSB executable,
> Intel 80386, version 1 (SYSV), for GNU/Linux 2.6.24, statically
> linked, for GNU/Linux 2.6.24, stripped", so, it's explain the kernel
> too old error.
> 
> So, my question is : how can I produce a 2.6.18 (or less) compliant
> toolchain from my build machine ? I have checked and tryed a lot of
> parameters but I didn't manage to get a binary which run happily on my
> host machine.

The "for GNU/Linux 2.6.24" is determined by the glibc of your
build machine, you cannot change it by any compile
or link options.

> I can not run crosstool-ng on my host machine because I haven't the
> right to update tools and the installed versions are too old to
> successfully using crosstool-ng on this computer.

You can build and install updated tools in a local environment
(e.g. in your home directory) on your host machine and then build
the toolchain on the host.

The only other choice would be to build a toolchain on
your build machine with a glibc with lower minimum kernel
version (CT_LIBC_GLIBC_MIN_KERNEL in ct-ng or --enable-kernel=<version>
in glibc configure), and then use that to compile the cross toolchain.


HTH
Johannes

--
For unsubscribe information see http://sourceware.org/lists.html#faq


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]