Using ancient linux versions with crosstools-NG

Will Wagner will_wagner@carallon.com
Fri May 3 15:35:00 GMT 2013


Hi Yann.

On 03/05/2013 16:17, Yann E. MORIN wrote:
>>
>> The main problem I hit is that the kernel source doesn't support the make
>> kernel_headers rule. Older crosstools-ng (~1.2) supported kernels this old
>> so maybe it's possible to add back in support?
>
> No, we're not adding back support for so old kernels in crosstool-NG.

Sorry, wasn't clear. Didn't want to add it back upstream. Was wondering 
if I could patch it locally and was wondering what is involved.

>
> You can still use a version of crosstool-NG that supported that feature,
> though.
>
>> Can anyone give any advice on how to tackle this issue? Would it be possible
>> to build my user space against a 2.6.19 kernel (first version that has
>> make_headers) and then expect that to run against an older kernel.
>
> If you're using (e)glibc, then you can use a recent kernel to build the
> toolchain, and run an older kernel, provided you configure (e)glibc with
> suport for the older kernel with:
>      C-library  --->
>          Minimum supported kernel version  -->  Specific kernel version
>          (X.Y.Z) Minimum kernel version to support
>
>> What are
>> the rules on what kernel versions a C library will work on?
>
> Baically, with the above settings, any combination. But be aware that
> running a newer toolchain on an ancient kernel will maybe cause less
> than optinal runtime, as the libc will have to provide its own
> implementations of somne kernel features (in userland instead of kernel
> land), which might be slower.
>
> The sane rules are:
>    - build the toolchain with the kernel you expect to run on;
>    - run the same generation of kernel as the one o built the
>      toolchain with.
>
> Also, keep in mind that you should use tools of the same era. For
> example, using a gcc, binutils and C library that were current at the
> time the kernel you're using was released. Ie. mixing old tools with
> newer ones is probably not a good idea...

Thanks. that's really helpful. To get round the problem with 2.6.14 not 
having make kernel_headers I'll try to use 2.6.19 and toolchain of that 
era but set the minimum supported kernel version to 2.6.14 and hopefully 
that won't be too bad for performance.

Given this I assume I'm better off using an older version for 
crosstool-ng rather than trying to patch the current version with older 
version of linux, binutils, gcc etc.

Regards
Will

-- 
------------------------------------------------------------------------
Will Wagner                                     will_wagner@carallon.com
Development Manager                      Office Tel: +44 (0)20 7471 9224
Carallon Ltd, Studio G20, Shepherds Building, Rockley Rd, London W14 0DA
------------------------------------------------------------------------


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



More information about the crossgcc mailing list