Назад | Перейти на главную страницу

Компиляция ядра реального времени из исходников RHEL 6 MRG на CentOS 6

Я пытаюсь скомпилировать kernel-rt-2.6.33.9-rt31.75.el6rt.src.rpm из RPM источника RHEL6 MRG в системе Centos 6 x86_64.

Я делаю это впервые, поэтому я исследовал, как это сделать правильно. Из того, что я нашел, я сделал:

rpm -ihv kernel-rt-2.6.33.9-rt31.75.el6rt.src.rpm 
cd ~/rpmbuild/SPECS
nano kernel-rt.spec 
rpmbuild -bb kernel-rt.spec 2> build-err.log | tee build-out.log

в kernel-rt.spec я отключил компиляцию вариантов, которые мне не нужны, т.е. компилировать только rt и прошивку. Также определено, что не нужно создавать debuginfo.

После завершения компиляции я получил ~/rpmbuild/RPMS/x86_64/ два файла:

kernel-rt-2.6.33.9-rt31.75.el6rt.x86_64.rpm
kernel-rt-devel-2.6.33.9-rt31.75.el6rt.x86_64.rpm

но когда я попытался установить ядро, я получил сообщение об ошибке: $ sudo rpm -ihv kernel-rt-2.6.33.9-rt31.75.el6rt.x86_64.rpm error: Failed dependencies: kernel-rt-firmware> = 2.6.33.9 -rt31.75.el6rt требуется для ядра-rt-2.6.33.9-rt31.75.el6rt.x86_64

Не было папки ~ / rpmbuild / RPMS / noarch - там, где я ожидал бы, что она появится.

Также я пробовал rpmbuild --rebuild kernel-rt-2.6.33.9-rt31.75.el6rt.src.rpm, но получил те же результаты ...

Что я делаю не так? я видел этот вопрос, но он предлагает то, что я уже пробовал, и я хочу собрать ядро ​​самостоятельно, а не использовать предварительно созданное из SLC.

Я все равно рекомендую использовать предварительно скомпилированные ядра реального времени если вы не вносите каких-либо радикальных изменений в драйверы или других оптимизаций, но если вам нужно создать свой собственный, выполните следующие действия для создания подходящих пакетов.

rpmbuild -ba --without debug kernel.spec

Это построит ваше ядро.

rpmbuild -ba --target noarch --with firmware --without debug --without doc --without perftool --without perf kernel.spec 

Это создает пакет kernel-rt-firmware.

Сам я не пробовал, но в репозитории, на который ссылается вопрос, есть SRPM для rt-прошивки. Построение, которое могло бы обеспечить зависимость.

cd ~/rpmbuild/SPECS
rpmbuild -bb --without debug kernel-rt.spec --clean

cd ~/rpmbuild/SPECS
rpmbuild -bb --target noarch --with firmware --without debug --without doc --without perftool --without perf kernel-rt.spec --clean