Ошибки при компиляции нового ядра

Ответить
Аватара пользователя
Guest

Ошибки при компиляции нового ядра

Сообщение Guest »

Я уже несколько дней пытаюсь собрать новое ядро 2.5.40. Сейчас стоит Suse 7.3 c ядром 2.4.10.

Нашел мануал по установке ядра. Там советуют распаковать в /usr/src. *Удалить старые симлинки на linux asm scsi и создать новые на исходники. Все так и сделал, но *после make dep получил вот такую ошибку:

* /

> make[1]: Entering directory `/usr/src/linux/scripts'

> gcc -Wall -Wstrict-prototypes -O2 -fomit-frame-pointer -o split-include

split-include.c

> In file included from /usr/include/linux/errno.h:4,

> from /usr/include/bits/errno.h:25,

> from /usr/include/errno.h:36,

> from split-include.c:26:

> /usr/include/asm/errno.h:4:31: asm-generic/errno.h: No such file or directory

> make[1]: *** [split-include] Error 1

> make[1]: Leaving directory `/usr/src/linux/scripts'

> make: *** [scripts/mkdep] Error 2

В одном форуме прочитал, что нужно fix your setup to not use symlinks, or, at least, put an older kernel

back into /usr/src/linux and compile the new kernels elsewhere. *Говорят что сейчас не рекомендуется компилировать ядра в /usr/src. *Но поскольку собираю новое ядро впервые в /usr/src *у меня ничего никогда не было и старые исходники положить я туда не могу. *

Просто распаковал тарбол в другой каталог и попробовал make config с нижеследующим результатом:

linux:~/Downloads/kernel/linux-2.5.40 # make xconfig

make[1]: Entering directory `/root/Downloads/kernel/linux-2.5.40/scripts'

*gcc -Wp,-MD,./.fixdep.d -Wall -Wstrict-prototypes -O2 -fomit-frame-pointer * -o fixdep fixdep.c

In file included from /usr/include/bits/posix1_lim.h:126,

* * * * * * * * from /usr/include/limits.h:144,

* * * * * * * * from /usr/lib/gcc-lib/i486-suse-linux/2.95.3/include/limits.h:117,

* * * * * * * * from /usr/lib/gcc-lib/i486-suse-linux/2.95.3/include/syslimits.h:7,

* * * * * * * * from /usr/lib/gcc-lib/i486-suse-linux/2.95.3/include/limits.h:11,

* * * * * * * * from fixdep.c:105:

/usr/include/bits/local_lim.h:36: linux/limits.h: No such file or directory

In file included from /usr/include/netinet/in.h:212,

* * * * * * * * from fixdep.c:107:

/usr/include/bits/socket.h:304: asm/socket.h: No such file or directory

fixdep: ./.fixdep.d: No such file or directory

make[1]: *** [fixdep] Error 2

make[1]: Leaving directory `/root/Downloads/kernel/linux-2.5.40/scripts'

make: *** [xconfig] Error 2

Напишите. пожалуйста, что я делаю неправильно и как мне решить эту проблему. Если можно поподробнее поскольку в Линуксе я новичок.
Аватара пользователя
Barracuda

Re: Ошибки при компиляции нового ядра

Сообщение Barracuda »

Guest


Цитата:



Но поскольку собираю новое ядро впервые



Такой тривиальный вопрос: а нафига вам development-ядро? Есть туча стабильных ядер, вроде 2.4.19, 2.2.22 и т.п.

Если вы сами являетесь разработчиком под Linux - другое дело. Но если обычный юзер - не поинмаю.


Цитата:



В одном форуме прочитал, что нужно fix your setup to not use symlinks, or, at least, put an older kernel



Ага, именно так. Для начала. Я, конечно, понимаю, что это может привнести в систему некоторый конфуз, зато не будет никаких траблов с возвратом к предыдушему состоянию.


Цитата:



и старые исходники положить я туда не могу.



От чего же? Разве на диске с дистрибутивом их нет? Если так, то тупо скачивайте с
сайта координации разработки ядра
ядро
версии 2.4.10
и выкладывайте его туда (в /usr/src). Хотя, для сборки нового ядра, оно не нужно, но можно восстановить потерянные инклюдники (см. в /include/linux, /include/i386/asm и /include/scsi соответственно).
Аватара пользователя
Dmitrich

Re: Ошибки при компиляции нового ядра

Сообщение Dmitrich »

Barracuda



Это опять я, только зарегистрировался.




Цитата:



а нафига вам development-ядро?



Эти исходники были на cd-romе, прилагаемом к какому-то журналу - вот и решил попробовать. Качать-то 30 с лишним мег через dial-up,  да еще с нашей связью - то еще удовольствие.






Цитата:



fix your setup to not use symlinks



Не могли бы вы объяснить как это сделать?
Аватара пользователя
Dmitrich

Re: Ошибки при компиляции нового ядра

Сообщение Dmitrich »

 Как вариант, можно ещё попробовать перед процессом конфигурации и компиляцией сделать make clean
Аватара пользователя
Dmitrich

Re: Ошибки при компиляции нового ядра

Сообщение Dmitrich »

Dmitrich

Не можно, а нужно.

Начнём с того, что после распаковки ядра, нужно зайти в его каталог и выполнить make mrproper. Затем make config (варианты - oldconfig, xconfig, menuconfig). Затем, после окончания конфигурации make dep && make clean. И уж опосля всего выполняется компиляция и установка: make bzImage && make modules && make modules_install.

Я иногда на крайности пускаюсь, что после конфигурации копирую файл .config куда нить, потом делаю make mrproper. После этого возвращаем .config назад и выполняем make oldconfig. После этого - как обычно.
Аватара пользователя
Deonis

Re: Ошибки при компиляции нового ядра

Сообщение Deonis »

Я ставил это-же ядро, из этого же журнала, "Хакер 10.02(46)"



Раньше я считал, что нестабильное ядро собирается в любом

случае, но не всегда работает верно.

    Обваливалась компиляция с похожей ошибкой, только если

включал некоторые опции, причем не обязательно NEW

   

  Ядро никак предварительно не проверяют на предмет разных вариантов компиляции, прежде, чем выкладывать ?

 
Аватара пользователя
Barracuda

Re: Ошибки при компиляции нового ядра

Сообщение Barracuda »

Deonis


Цитата:



Ядро никак предварительно не проверяют на предмет разных вариантов



Имхо - нет. Я как-то тоже решил такое собрать. Собрать получилось, но пришлось кой-чего повыкашивать. Однако оно таки всё равно не запустилось (конфликты были).

По сему - если вы не девелопер, оставьте эти ядрышки в покое.
Аватара пользователя
Deonis

Re: Ошибки при компиляции нового ядра

Сообщение Deonis »

Цитата:



По сему - если вы не девелопер, оставьте эти ядрышки в покое.



Ну, девелоперы тоже с малого начинают Изображение
Ответить

Вернуться в «Общий по Linux»