Стоит CenOS 6.4 с ядром 2.6.32
Никогда раньше ядро самостоятельно не собирал - решил изучить этот вопрос блого есть время свободное.
Скачал с http://www.kernel.org вот такие ядра:
Таким образом пробовал собирать, но где-то что-то у меня не пошло, да и показалось, что слишком много действий (по сравнению например со сборкой в Ubuntu), причём действий для меня несколько непонятных.
Ошибки были вот такие (где-то могут быть неточности, так как пользовался файнридером и скриншотами):
CC [Ml drivers/scsi/pmcraid.о
CC [Ml drivers/scsi/virtio_scsi.o
CC [M] drivers/scsi/vmw_pvscsi.o
CC [Ml drivers/scsi/st.o
CC [M] drivers/scsi/osst.o
LD [Ml drivers/scsi/qla2xxx/qla2xxx.o
LD [M] drivers/scsi/sd_mod.o
LD [Ml drivers/scsi/sr_mod.o
CC [Ml drivers/scsi/sg.o
CC [Ml drivers/scsi/ch.o
CC [Ml drivers/scsi/ses.o
CC [M] drivers/scsi/scsi_debug.o
LD drivers/scsi/scsi_mod.о
LD [Ml drivers/scsi/scsi_tgt.o
LD drivers/scsi/built-in.о
LD drivers/built-in.o
ошибка: Неверный код возврата из /var/tmp/rpm-tmp.xpor9S (%build)
Ошибки сборки пакетов:
Неверный код возврата из /var/tmp/rpm-tmp.xpor9S (%build)
make[1]: *** [rpm] Ошибка 1
make: *** [rpm] Ошибка 2
ядро 3.12.3
text
CC [Ml drivers/scsi/st.о
CC [M] drivers/scsi/osst.o
LD [Ml drivers/scsi/sd_mod.o
LD [Ml drivers/scsi/sr_mod.о
CC [Ml drivers/scsi/sg.o
CC [Ml drivers/scsi/ch.o
CC [Ml drivers/scsi/ses.o
CC [M] drivers/scsi/scsi_debug.o
LD drivers/scsi/scsi_mod.о
LD [M] drivers/scsi/scsi_tgt.o
LD drivers/scsi/built-in.о
drivers/scsi/scsi_debug.с: In function 'dif_verify':
drivers/scsi/scsi_debug.c:1736: warning: 'csum' may be used uninitialized in this function
drivers/scsi/scsi_debug.c:1736: note: 'csum' was declared here
LD drivers/built-in.о
ошибка: Неверный код возврата из /var/tmp/rpm-tmp.UF8mWH (%build)
Ошибки сборки пакетов:
Неверный код возврата из /var/tmp/rpm-tmp.UF8mWH (%build)
make[1]: *** [rpml Ошибка 1
make: *** [rpm] Ошибка 2
ядро 3.13
text
CC [M] drivers/scsi/virtio_scsi.o
CC [M] drivers/scsi/vmw_pvscsi.o
CC [M] drivers/scsi/st.o
CC [M] drivers/scsi/osst.o
LD [M] drivers/scsi/sd_mod.о
LD [M] drivers/scsi/sr_mod.о
CC [M] drivers/scsi/sg.o
CC [M] drivers/scsi/ch.o
CC [M] drivers/scsi/ses.o
CC [M] drivers/scsi/scsi_debug.o
LD drivers/scsi/scsi_mod.о
LD [M] drivers/scsi/scsi_tgt.o
LD drivers/scsi/built-in.о
LD drivers/built-in.о
ошибка: Неверный код возврата из /var/tmp/rpm-tmp.оIfRhl (%build)
Ошибки сборки пакетов:
Неверный код возврата из /var/tmp/rpm-tmp.о IfRhl (%build)
make[1]: *** [rpm] Ошибка 1
make: *** [rpm] Ошибка 2
А не проще установить новое ядро kernel-ml из elrepo-kernel? Последняя версия там: kernel-ml-3.12.3-1.
У меня нет задачи установить последнюю версию ядра - я хочу просто понять как собирается ядро любой версии.
Vascom написал:
А в чём смысл всего этого?
Лучше уж разберись в нормальной инструкции. Поймёшь что и как делать, зачем тебе всё это нужно.
Я в той инструкции завис в самом начале, на пункте:
text
yumdownloader --source kernel
На эту команду у меня был такой ответ:
text
No source RPM found for kernel-2.6.32-431.el6.x86_64
То есть качать нечего. Но даже если б было что качать - как я понимаю, мне бы закачались исходников ядра 2.6.32.
А что делать если я хочу собрать старое ядро, 2.5.8? (я не знаю какие могут быть на это причины, но тем не менее)
Ну а дальше разбираться в мануале уже не было смысла, ибо не было исходников. Поэтому я стал искать другой вариант, в котором исходники качались бы с сайта http://www.kernel.org
И у каждой версии ядра могут быть свои проблемы, настройки и нюансы сборки. Универсальности тут нет.
Вполне возможно, что требуются патчи для сборки старых ядер новым GCC или новых ядер старым GCC.