Сборка ядра
От: Mazay Россия  
Дата: 11.07.12 04:58
Оценка:
Пытаюсь пересобрать ядро следуя вот этой инструкции: http://fedoraproject.org/wiki/Building_a_custom_kernel
При запуске
rpmbuild -bb --target=`uname -m` kernel.spec

получаю следующий лог
...................много лога.....................
+ mv kernel-3.1.0-i686-PAE.config .config
++ head -1 .config
++ cut -b 3-
+ Arch=i386
+ make ARCH=i386 listnewconfig
+ grep -E '^CONFIG_'
.config:4658:warning: override: reassigning to symbol DEBUG_BLK_CGROUP
+ '[' -s .newoptions ']'
+ cat .newoptions
CONFIG_NUMA
CONFIG_NUMA_EMU
CONFIG_NODES_SHIFT
+ exit 1
error: Bad exit status from /var/tmp/rpm-tmp.8v0xxB (%prep)


RPM build errors:
    Bad exit status from /var/tmp/rpm-tmp.8v0xxB (%prep)

Полный лог здесь: http://pastebin.com/aqWs8ghF
Компилирую ядро на свежеустановленной 32-битной Fedore Core 16.

Подскажите, куда копать? Здесь даже сообщения об ошибке нормального нет. Как я понял, "exit 1" получается из-за того, что в файл ".newoptions" попали три строчки CONFIG_N*. Но какого чёрта они туда попали? От какого конфига это зависит?
Главное гармония ...
Re: Сборка ядра
От: Doom100500 Израиль  
Дата: 11.07.12 06:35
Оценка: -1
Здравствуйте, Mazay, Вы писали:

M>Пытаюсь пересобрать ядро следуя вот этой инструкции: http://fedoraproject.org/wiki/Building_a_custom_kernel

M>При запуске
M>[code]
M>rpmbuild -bb --target=`uname -m` kernel.spec

Какой-то странный способ.

ядро, насколько знаю собирается так:

в директории с исходниками ядра (обычно /usr/src/linux).

make menuconfig — выбираем нужные опции,
make
make modules-install.

перед make menuconfig полезно скопировать текущий конфиг откуда-то из /proc ( гугли ) в /usr/src/linux/.con... имя файла точно не помню, и запустить make oldconfig.
Спасибо за внимание
Re[2]: Сборка ядра
От: Mazay Россия  
Дата: 11.07.12 06:53
Оценка:
Здравствуйте, Doom100500, Вы писали:


M>>Пытаюсь пересобрать ядро следуя вот этой инструкции: http://fedoraproject.org/wiki/Building_a_custom_kernel

M>>При запуске
M>>[code]
M>>rpmbuild -bb --target=`uname -m` kernel.spec

D>Какой-то странный способ.


Видимо создание rmp-ки нужно чтобы можно было потом установить новое ядро без пересборки.

D>ядро, насколько знаю собирается так:


D>в директории с исходниками ядра (обычно /usr/src/linux).


D>make menuconfig — выбираем нужные опции,

D>make
D>make modules-install.

D>перед make menuconfig полезно скопировать текущий конфиг откуда-то из /proc ( гугли ) в /usr/src/linux/.con... имя файла точно не помню, и запустить make oldconfig.


Я делал и oldconfig, и menuconfig , только старый конфиг брал не из /proc, а из пакета с исходниками, но это наверняка одно и тоже, поскольку исходники и инсталляционный DVD с одного официального сервера Федоры.

А куда нужно положить .config, чтобы make его подхватил? А то в инструкции, по которой я делаю, предлагается класть в папку ~/rpmbuild/SOURCES/, причём с именем config-x86-32-generic. Учитывая, что в папке ~/rpmbuild/SOURCES/ и так лежит куча конфигов с разными именами, то не понятно, как make должен понять, какой именно конфиг мне нужен.
Главное гармония ...
Re[3]: Сборка ядра
От: Doom100500 Израиль  
Дата: 11.07.12 07:30
Оценка:
Здравствуйте, Mazay, Вы писали:

M>Здравствуйте, Doom100500, Вы писали:



M>Я делал и oldconfig, и menuconfig , только старый конфиг брал не из /proc, а из пакета с исходниками, но это наверняка одно и тоже, поскольку исходники и инсталляционный DVD с одного официального сервера Федоры.


Я не знаю насколько конфиг в пакете с исходниками соответствует работающему ядру. Это дистро-специфик. Тот, который в /proc — 100% соответствует.

M>А куда нужно положить .config, чтобы make его подхватил? А то в инструкции, по которой я делаю, предлагается класть в папку ~/rpmbuild/SOURCES/, причём с именем config-x86-32-generic. Учитывая, что в папке ~/rpmbuild/SOURCES/ и так лежит куча конфигов с разными именами, то не понятно, как make должен понять, какой именно конфиг мне нужен.


make должен подхватывать /usr/src/.config по умолчанию, опять — же, если дистрострители ничего не поменяли ( по идее не должны ) извини, федору не знаю.
Спасибо за внимание
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.