Сборка ядер с kernel.org в CentOS 5
Сегодня поговорим о сборке ядер с Kernel.Org в CentOS 5 Linux. Для чего это необходимо, и не обходимо ли вообще, на это вопрос педлагаю ответить самому читателю, я же опишу только момент сборки и установки ядна и включение на уровне ядра функционала Full NAT. И вот об этом читайте под катом.
С чего начнем? Начнем с того что установим все необходимые запвисимости:
1 | yum install -y ncurses-devel gcc make rpm-build redhat-rpm-config |
Далее скачаем и распакуем свежее ядро (на момент написания статьи 2.6.39.1):
1 2 3 4 | 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 |
Косле копируем конфиг активного ядра:
1 | cp /boot/config-`uname -r` .config |
И запускаем конфигуратор:
1 | make menuconfig |
В меняю конфигуратора выбираем
1 2 3 4 5 6 | 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 ВКЛЮЧАЕМ |
после этого в менюшке уровнем выше
1 | IP: Netfilter Configuration ---> |
Появляется пункт Full NAT. Должно все заработать, хотя я для теста включил все, что было в разделах «Core Netfilter Configuration» и «IP: Netfilter Configuration»
Создаем папки для сохранения результирующего rpm файла:
1 2 | mkdir -p /usr/src/redhat/SRPMS mkdir -p /usr/src/redhat/RPMS/{i386,x86_64} |
Стандартный make rpm не собирает initrd автоматически и не добавляет ядро в grub.conf, поэтому надо наложить патчик
1 | nano scripts/package/mkspec |
И в самый низ добавляем следующее:
1 2 3 4 5 6 7 | 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 "" |
Собираем ядро (заодно контролируем время сборки):
1 | time make rpm |
И ставим:
Для i386:
1 | rpm -ihv /usr/src/redhat/RPMS/i386/kernel-2.6.39.1.i386.rpm |
Для x86_64:
1 | rpm -ihv /usr/src/redhat/RPMS/x86_64/kernel-2.6.39.1.x86_64.rpm |
После перезагружаем машину и радуемся новому ядру. Если что-то не взлетело — всегда есть возможность загрузиться со старым ядром.
Popularity: 12% [?]
Похожие записи:
- Настройка Proftpd + MySQL + Fedora (CentOS, RHEL, etc)
- CentOS 5.6 NetInstall
- Настраиваем корпоративный PROXY сервер на базе CentOS5+Squid + SAMS + NCSA Auth
- Боремся с почтовым спамом. Установка и настройка PostGrey к Postfix на CentOS
- Виртуализация Linux средствами OpenVZ. Настраиваем собственный сервер виртуализации.









Pingback: Technical Laboratory – Сборка ядер с kernel.org в CentOS 5 | Блогеры о юниксах
Pingback: Немного про NAT в CentOS | Technical Laboratory