сборка ядра 2.4.X в среде Linux 2.6.X ?
Пытаюсь разобраться как это делается
хочется собрать ядро, модули ядра, ветка 2.4.X
на дистрибутиве с компилятором: gcc version 4.1.X
смотрел LFS,
Помогите разобраться.
1.1. достаточно ли :
статическая сборка binutils host-компилятором
+ статическая сборка gcc - нужной версии,
используя собранный binutils
+ указать путь к CROSS_COMPILE ?
1.2. или нужно ёщё собирать :
glibc + пересборка целевых binutils целевым компилятором
пересборка компилятора под установленный glibc
как правильно ?
как по минимому ?
сделал как в 1.1 с использованием
binutils-2.20 и gcc-3.3.4
не работает
1.3 не совсем понимаю
сборка инструментов binutils, gcc должны быть cтатическими
или для ядра не обязательно ?
мне казалось что ядро самодостаточный код
----
2.1. gcc какой версии можно использовать
в README ядра указано: gcc-2.95.3
можно старше и как старше ?
можно использовать gcc-3.3.4 для сборки ядра 2.4.X ?
2.2. не получилось собрать gcc-2.95.3, для него нужен патч ?
не смог его найти.
2.3. не получилось собрать gcc-3.2.3, gcc-3.0
для них нужны патчи, не смог их найти
где искать или как поступить ?
какой версией gcc можно собирать ветку 2.4.X
2.4. нашёл патчи для gcc-3.3.4:
gcc-3.3.4-no_fixincludes-1.patch
gcc-3.3.4-linkonce-1.patch
с ними gcc-3.3.4 собирается как в пункте: 1.1,
но ядро не собирается :(
3.1. под определённый gcc нужны определённые binutils ?
посмотрел LFS - там определенные номера, но мне удалось
собрать только binutils-2.20
собирал их gcc-4.1.2 - на hoste
3.2. сборка binutils-X.XX зависит от того
каким компилятором собираем ?
4. установил binutils-2.20 сборка: static
установил gcc-3.3.4 сборка вроде: static
с учётом путей к установленным binutils
пробовал собирать ядро 2.4.X указав
$ export CROSS_COMPILE=/opt/tools/bin
директория куда установились : ar, as, cpp, gcc, ld, nm, ...
Ядро не собирается :(
....
In file included from
/bb/vv/linux-2.4.26/include/linux/unistd.h:9,
from init/main.c:17:
/bb/vv/linux-2.4.26/include/asm/unistd.h:375: warning: conflicting types for built-in function ‘_exit’
make: *** [init/main.o] Error 1
$
Не подскажите что неправильно делаю
в чём ошибка, как правильно нужно делать ?