Я уже несколько дней пытаюсь собрать новое ядро 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: Ошибки при компиляции нового ядра
Guest
Цитата:
Но поскольку собираю новое ядро впервые
Такой тривиальный вопрос: а нафига вам development-ядро? Есть туча стабильных ядер, вроде 2.4.19, 2.2.22 и т.п.
Если вы сами являетесь разработчиком под Linux - другое дело. Но если обычный юзер - не поинмаю.
Цитата:
В одном форуме прочитал, что нужно fix your setup to not use symlinks, or, at least, put an older kernel
Ага, именно так. Для начала. Я, конечно, понимаю, что это может привнести в систему некоторый конфуз, зато не будет никаких траблов с возвратом к предыдушему состоянию.
Цитата:
и старые исходники положить я туда не могу.
От чего же? Разве на диске с дистрибутивом их нет? Если так, то тупо скачивайте с
Цитата:
Но поскольку собираю новое ядро впервые
Такой тривиальный вопрос: а нафига вам 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: Ошибки при компиляции нового ядра
Barracuda
Это опять я, только зарегистрировался.
Цитата:
а нафига вам development-ядро?
Эти исходники были на cd-romе, прилагаемом к какому-то журналу - вот и решил попробовать. Качать-то 30 с лишним мег через dial-up, да еще с нашей связью - то еще удовольствие.
Цитата:
fix your setup to not use symlinks
Не могли бы вы объяснить как это сделать?
Это опять я, только зарегистрировался.
Цитата:
а нафига вам development-ядро?
Эти исходники были на cd-romе, прилагаемом к какому-то журналу - вот и решил попробовать. Качать-то 30 с лишним мег через dial-up, да еще с нашей связью - то еще удовольствие.
Цитата:
fix your setup to not use symlinks
Не могли бы вы объяснить как это сделать?
-
Dmitrich
Re: Ошибки при компиляции нового ядра
Как вариант, можно ещё попробовать перед процессом конфигурации и компиляцией сделать make clean
-
Dmitrich
Re: Ошибки при компиляции нового ядра
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. После этого - как обычно.
Не можно, а нужно.
Начнём с того, что после распаковки ядра, нужно зайти в его каталог и выполнить 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: Ошибки при компиляции нового ядра
Я ставил это-же ядро, из этого же журнала, "Хакер 10.02(46)"
Раньше я считал, что нестабильное ядро собирается в любом
случае, но не всегда работает верно.
Обваливалась компиляция с похожей ошибкой, только если
включал некоторые опции, причем не обязательно NEW
Ядро никак предварительно не проверяют на предмет разных вариантов компиляции, прежде, чем выкладывать ?
Раньше я считал, что нестабильное ядро собирается в любом
случае, но не всегда работает верно.
Обваливалась компиляция с похожей ошибкой, только если
включал некоторые опции, причем не обязательно NEW
Ядро никак предварительно не проверяют на предмет разных вариантов компиляции, прежде, чем выкладывать ?
-
Barracuda
Re: Ошибки при компиляции нового ядра
Deonis
Цитата:
Ядро никак предварительно не проверяют на предмет разных вариантов
Имхо - нет. Я как-то тоже решил такое собрать. Собрать получилось, но пришлось кой-чего повыкашивать. Однако оно таки всё равно не запустилось (конфликты были).
По сему - если вы не девелопер, оставьте эти ядрышки в покое.
Цитата:
Ядро никак предварительно не проверяют на предмет разных вариантов
Имхо - нет. Я как-то тоже решил такое собрать. Собрать получилось, но пришлось кой-чего повыкашивать. Однако оно таки всё равно не запустилось (конфликты были).
По сему - если вы не девелопер, оставьте эти ядрышки в покое.
-
Deonis
Re: Ошибки при компиляции нового ядра
Цитата:
По сему - если вы не девелопер, оставьте эти ядрышки в покое.
Ну, девелоперы тоже с малого начинают
По сему - если вы не девелопер, оставьте эти ядрышки в покое.
Ну, девелоперы тоже с малого начинают
