@Seboreia

Сборка ванильного ядра в пакет rpm для centos 6.6?

Всем привет!

Особо не приходилось собирать rpm-ки, но возникла необходимость использовать grsecurity, а для этого нужно пропатчить ядро. Патч накладывается на ванильное ядро определенной версии. Собственно, в инете собирают пакет либо родного ядра centos (используя src.rpm), либо через make rpm. Пробую второй вариант:
1. качаю исходники и распаковываю в rpmbuild/BUILD
2. патчу их patch -p1 < grsecurity.patch
3. конфигурирую ядро make menuconfig (как минимум, нужно включить grsecurity)
4. запускаю сборку make -j 4 rpm:
5. после часа-полутора сборки получаю ошибку:
Processing files: kernel-3.14.49_grsec-1.x86_64
ошибка: Файл не найден: /home/sebor/rpmbuild/BUILDROOT/kernel-3.14.49_grsec-1.x86_64/lib/modules/3.14.49-grsec/build
ошибка: Файл не найден: /home/sebor/rpmbuild/BUILDROOT/kernel-3.14.49_grsec-1.x86_64/lib/modules/3.14.49-grsec/source

Ошибки сборки пакетов:
Файл не найден: /home/sebor/rpmbuild/BUILDROOT/kernel-3.14.49_grsec-1.x86_64/lib/modules/3.14.49-grsec/build
Файл не найден: /home/sebor/rpmbuild/BUILDROOT/kernel-3.14.49_grsec-1.x86_64/lib/modules/3.14.49-grsec/source
make[1]: *** [rpm] Ошибка 1
make: *** [rpm] Ошибка 2

В чем может быть загвоздка?
  • Вопрос задан
  • 582 просмотра
Решения вопроса 1
@Seboreia Автор вопроса
В общем, пришлось перед сборкой в файле scripts/package/mkspec закомментить строчки:
echo "%post devel"
echo "ln -s /usr/src/kernels/$KERNELRELEASE /lib/modules/$KERNELRELEASE/build"
echo "ln -s /usr/src/kernels/$KERNELRELEASE /lib/modules/$KERNELRELEASE/source"

echo "%exclude /lib/modules/$KERNELRELEASE/build"
echo "%exclude /lib/modules/$KERNELRELEASE/source"

После чего пакет собрался.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы