RSS
 

Kernel CentOS 5 Linux

14 Мар

 

Сегодня поговорим о сборке ядер с Kernel.Org в CentOS 5 Linux. Для чего это необходимо, и не обходимо ли вообще, на это вопрос педлагаю ответить самому читателю, я же опишу только момент сборки и установки ядна и включение на уровне ядра функционала Full NAT. И вот об этом читайте под катом.

С чего начнем? Начнем с того что установим все необходимые запвисимости:


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

Далее скачаем и распакуем свежее ядро (на момент написания статьи 2.6.39.1):

cd /usr/src
wget http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.39.1.tar.bz2
tar -xf linux-2.6.39.1.tar.bz2
cd linux-2.6.39.1

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


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

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


make menuconfig

В меняю конфигуратора выбираем

General setup ---> enable deprecated sysfs features which may confuse old userspace
Networking support --->
Networking options --->
Network packet filtering framework (Netfilter) --->
Core Netfilter Configuration --->
Netfilter connection tracking support ВКЛЮЧАЕМ

после этого в менюшке уровнем выше


IP: Netfilter Configuration --->

Появляется пункт Full NAT. Должно все заработать, хотя я для теста включил все, что было в разделах «Core Netfilter Configuration» и «IP: Netfilter Configuration»

Создаем папки для сохранения результирующего 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 "/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 ""

Собираем ядро (заодно контролируем время сборки):


time make rpm

И ставим:

Для i386:


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

Для x86_64:


rpm -ihv /usr/src/redhat/RPMS/x86_64/kernel-2.6.39.1.x86_64.rpm

После перезагружаем машину и радуемся новому ядру. Если что-то не взлетело — всегда есть возможность загрузиться со старым ядром.

 
Комментарии к записи Kernel CentOS 5 Linux отключены

Рубрика: Fedora, Fedora Core, Linux, Red Hat

 

Comments are closed.