Сборка ядер с kernel.org в CentOS 5.6 (Может кому пригодится)

Cent OS, Scientific Linux

Модератор: Модераторы разделов

Tokra
Сообщения: 399

Сборка ядер с kernel.org в CentOS 5.6

Сообщение Tokra »

На работе стала задача собрать ванильное ядро для CentOS 5.6. Решил поделиться, может, кому-то, пригодится.

Ставим зависимости:

yum install -y ncurses-devel gcc make rpm-build redhat-rpm-config

cd /usr/src

wget http://www.kernel.org/pub/linux/kernel/v2.....6.38.2.tar.bz2

tar -xf linux-2.6.38.2.tar.bz2

cd linux-2.6.38.2


Копируем конфиг от активного ядра и если нужно вносим коррективы:

cp /boot/config-`uname -r` .config

Запускаем конфигуратор:

make menuconfig

Выбираем там следующую опцию (иначе не загрузится он на CentOS):

General setup ---> enable deprecated sysfs features which may confuse old userspace

Создаем папки для сохранения результирующего rpm файла:

mkdir -p /usr/src/redhat/SRPMS

mkdir -p /usr/src/redhat/RPMS/{i386,x86_64}


Стандартный make rpm не собирает initrd автоматически и не добавляет ядро в grub.conf, поэтому надо наложить патчик

nano scripts/package/mkspec

И в самый низ добавляем следующее:

echo "%post"
echo "if [ \`uname -i\` == \"x86_64\" -o \`uname -i\` == \"i386\" ]; then"
echo " if [ -f /etc/sysconfig/kernel ]; then"
echo " /bin/sed -i -e 's/^DEFAULTKERNEL=kernel-smp$/DEFAULTKERNEL=kernel/' /etc/sysconfig/kernel || exit \$?"
echo " fi"
echo "fi"
echo "/sbin/new-kernel-pkg --package kernel --mkinitrd --depmod --install "$KERNELRELEASE" || exit \$?"
echo ""

echo "%preun"
echo "/sbin/new-kernel-pkg --rminitrd --rmmoddep --remove "$KERNELRELEASE" || exit \$?"
echo ""


Собираем ядро

make -j4 binrpm-pkg #-j4 - количество потоков

И ставим:

rpm -ihv /usr/src/redhat/RPMS/i386/kernel-2.6.38.2.i386.rpm

Почему-то initrd не собрался. Пере собираем initrd в ручную

/sbin/mkinitrd /boot/initrd-2.6.38.2 2.6.38.2

Правим menu.lst, reboot с новым ядром.
После перезагрузки
uname -r
2.6.38.2


Вот и все :)

В сборке ванильного ядра помогла вот эта статья.
Спасибо сказали:
vaxer
Сообщения: 5

Re: Сборка ядер с kernel.org в CentOS 5.6

Сообщение vaxer »

Tokra писал(а):
14.04.2011 17:07
Выбираем там следующую опцию (иначе не загрузится он на CentOS):

General setup ---> enable deprecated sysfs features which may confuse old userspace

нету там такой опции - все менюшки прочитал - нету!
и ещё - nano scripts/package/mkspec а как выглядит полный путь (от /) ???
хотелось уточнить эти непонятные моменты
рпм естессно не собирается (папка пуста)

CentOS 6 uname -a
Linux localhost.localdomain 2.6.32-71.el6.i686 #1 SMP Fri Nov 12 04:17:17 GMT 2010 i686 i686 i386 GNU/Linux
Спасибо сказали:
Аватара пользователя
Vascom
Сообщения: 1699
ОС: Fedora 32

Re: Сборка ядер с kernel.org в CentOS 5.6

Сообщение Vascom »

Ещё есть вот такая инструкция для сборки rpm-пакета с ядром.
Спасибо сказали: