Компиляция ядра реального времени из источников MRH RHEL 6 в 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: Сбой зависимостей: kernel-rt-firmware >= 2.6.33.9-rt31.75.el6rt требуется для kernel-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.
3 ответа
Я по-прежнему рекомендую использовать скомпилированные ядра реального времени, если вы не вносите какие-либо радикальные изменения драйверов или другие оптимизации, но если вам нужно собрать свои собственные, сделайте следующее, чтобы сгенерировать правильные пакеты.
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.
Я сам не пробовал, но в репозитории, на который есть ссылка в вопросе, есть SRTM 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