Я пытаюсь скомпилировать 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