1

Всем привет.

Стоит CenOS 6.4 с ядром 2.6.32
Никогда раньше ядро самостоятельно не собирал - решил изучить этот вопрос блого есть время свободное.
Скачал с http://www.kernel.org вот такие ядра:

2.5.8
2.6.32.10
2.6.32.61
2.6.34.14
3.2.53
3.4.72
3.10.22
3.12.3
3.13


Делал вкратце вот так:

cp /boot/confug-2.6.32-358.el6.x86_64 ./.config
make menuconfig
make rpm

Собрались не все версии ядер:

2.5.8           - НЕ собралось
2.6.32.10    - собралось
2.6.32.61    - НЕ собралось
2.6.34.14    - собралось
3.2.53         - собралось
3.4.72         - собралось
3.10.22       - НЕ собралось
3.12.3         - НЕ собралось
3.13            - НЕ собралось

(сборка всех что не собрались прерывалась с ошибкой)


Может кто пояснить:
С чем это связано?
На любом дистрибутиве можно собрать любое ядро или есть ограничения?

Благодарю.

2

а писалось то что?

ПатреГ не любит Gnome...

3

а по какому ману делалась сборка ? (сылочку в студию)

Спросить - стыд минуты, не узнать - стыд всей жизни

nikproh, как верно сказал товарищь Termo, протоколы заседаний где?

5

Ядро для центос надо собирать вот так http://wiki.russianfedora.pro/index.php … дра_Fedora

6 (09.12.2013 15:15:08 отредактировано nikproh)

Собирал вот по этому мануалу.

Ядро для центос надо собирать вот так http://wiki.russianfedora.pro/index.php … дра_Fedora

Таким образом пробовал собирать, но где-то что-то у меня не пошло, да и показалось, что слишком много действий (по сравнению например со сборкой в Ubuntu), причём действий для меня несколько непонятных.



Ошибки были вот такие (где-то могут быть неточности, так как пользовался файнридером и скриншотами):

ядро 2.5.8

kernel-2.5.8/./drivers/hotplug/ibmphp.h 
kernel-2.5.8/./drivers/hotplug/Conf ig.in 
kernel-2.5.8/./drivers/hotplug/ibmphp_ebda.с 
kernel-2.5.8/./drivers/hotplug/pc i_hotplug_ut i1.с 
kernel-2.5.8/./drivers/hotplug/pcihp_skeleton.c 
kernel-2.5.8/./drivers/hotplug/cpqphp.h 
kernel-2.5.8/./drivers/hotplug/ibmphp_hpc.с 
kernel-2.5.8/./drivers/hotplug/cpqphp_pci.с 
kernel-2.5.8/./drivers/hotplug/Conf ig.help 
kernel-2.5.8/./drivers/hotplug/pc i_hotplug.h 
kernel-2.5.8/./drivers/hotplug/pc i_hotplug_core.с 
kernel-2.5.8/./drivers/hotplug/cpqphp_nvram.h 
kernel-2.5.8/./drivers/nubus/ 
kernel-2.5.8/./drivers/nubus/nubus.c 
kernel-2.5.8/./drivers/nubus/Makefile 
kernel-2.5.8/./drivers/nubus/proc.c 
kernel-2.5.8/./drivers/nubus/nubus_syms.с 
kernel-2.5.8/./drivers/dio/ 
kernel-2.5.8/./drivers/dio/diо.с 
kernel-2.5.8/./drivers/dio/Makefile 
-ta: неизвестный параметр 
mаке: *** [rpm] Ошибка 1 

ядро 2.6.32.61

CHECK      include/linux/netfilter_ipv6 (11 files)
CHECK      include/linux/raid (2 files)
CHECK      include/linux/spi  (1 files)
CHECK      include/linux/sunrpc (1 files)
CHECK      include/linux/tc_ematch (4 files)
CHECK      include/linux/usb (8 files)
CHECK      include/linux/uimax (1 files)
CHECK      include/linux/tc_act (6 files)
CHECK      include/linux (356 files)
CHECK      include/asm (54 files) 
/root/rpmbuild/BUILD/kerne1-2.6.32.61/usr/include/asm/ptrace.h:5:  included file 'linux/linkage.h'   is not exported
make[4]: *** [/root/rpmbuild/BUILD/kerne1-2.6.32.61/usr/include/asm/.check] Error 123
mаке[З]: *** [headers_check] Error 2 
make[2]: *** [vmlinuxl Error 2
ошибка: Неверный код возврата из /var/tmp/rpm-tmp.6wRDLm (%build)
Ошибки сборки пакетов:
         Неверный код возврата из /var/tmp/rpm-tmp.6uRDLm (%build)
make[1]: *** [rpm] Ошибка 1 
make: *** [rpm] Ошибка 2

ядро 3.10.22

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

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

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

7

А в чём смысл всего этого?
Лучше уж разберись в нормальной инструкции. Поймёшь что и как делать, зачем тебе всё это нужно.

8

А не проще установить новое ядро kernel-ml из elrepo-kernel? Последняя версия там: kernel-ml-3.12.3-1.

In Tux We Trust     Centos 6.5
Самурай без меча подобен самураю с мечом, но только без меча, однако как-будто с мечом, которого у него нет, но и без него он как с ним...

9

redix пишет:

А не проще установить новое ядро kernel-ml из elrepo-kernel? Последняя версия там: kernel-ml-3.12.3-1.

У меня нет задачи установить последнюю версию ядра - я хочу просто понять как собирается ядро любой версии.


Vascom пишет:

А в чём смысл всего этого?
Лучше уж разберись в нормальной инструкции. Поймёшь что и как делать, зачем тебе всё это нужно.

Я в той инструкции завис в самом начале, на пункте:

yumdownloader --source kernel

На эту команду у меня был такой ответ:

No source RPM found for kernel-2.6.32-431.el6.x86_64

То есть качать нечего. Но даже если б было что качать - как я понимаю, мне бы закачались исходников ядра 2.6.32.
А что делать если я хочу собрать старое ядро, 2.5.8? (я не знаю какие могут быть на это причины, но тем не менее)
Ну а дальше разбираться в мануале уже не было смысла, ибо не было исходников. Поэтому я стал искать другой вариант, в котором исходники качались бы с сайта http://www.kernel.org

10

Ну может к центосу именно эта команда плохо применима, но это странно.
Тогда вручную скачай src.rpm пакет с исходниками.

Желания собрать и поставить старое ядро не должно возникать в принципе.

11

nikproh пишет:

У меня нет задачи установить последнюю версию ядра - я хочу просто понять как собирается ядро любой версии.

совершенно бесперспективное занятие
ответ почему не собираются ядра не даст никто
даже сам создатель ядра

ПатреГ не любит Gnome...

12

И у каждой версии ядра могут быть свои проблемы, настройки и нюансы сборки. Универсальности тут нет.
Вполне возможно, что требуются патчи для сборки старых ядер новым GCC или новых ядер старым GCC.

13

Всем спосибо!
То что хотел понять - понял.