Сборка ядра не только ответственное но и весьма занятное дело. Опишу только процесс «в командах». Настраивать (включать/выключать модули будете сами, тут советчики врядли найдутся.
Для использования menuconfig необходимо установить ncurses:
sudo dnf install ncurses ncurses-devel
Теперь скачаем исходные коды ядра с сайта kernel.org. Я скачал последние на момент написания статьи — 3,0,0rc1 [давно дело то было ;)]. Распакуйте скачанный архив и войдите в папку из терминала.
Теперь запускаем конфигуратор:
make menuconfig
Перед вами появится вот такое меню:
Воспользовавшись этим меню установите требуемые значения и сохраните результат (Save an Alternate Configuration File) после чего выйдите из конфигуратора.
Если не знаете что конфигурировать или боитесь или ещё чего, можете скопировать конфиг от старого ядра из папки /boot/ переименовав его в .config
Теперь можно собирать:
make rpm
Процесс довольно длительный, но на прямую зависит от количества включенных модулей (можно заварить и попить чайку). После окончания процесса будут сгенерированы 2 файла.
Перейдите в папку с ними:
cd /root/rpmbuild/RPMS/x86_64/
И установите пакет kernel-3.0.0_rc1-2.x86_64.rpm:
rpm -ivh kernel-3.0.0_rc1-2.x86_64.rpm
Теперь необходимо сгенерировать initramfs:
mkinitrd /boot/initramfs-3.0.0.rc1.fc15.x86_64.img 3.0.0-rc1
и отредактировать настройки загрузчика (просто копируем готовую запись и меняем путь на vmlinuz-3.0.0-rc1 и initramfs-3.0.0.rc1.fc15.x86_64.img)
Я создал такую запись в /boot/grub/menu.lst:
title Fedora (3.0.0_rc1) root (hd0,1) kernel /boot/vmlinuz-3.0.0-rc1 ro root=UUID=586872cc-5fde-439e-9f92-a2de46c7837c rd_NO_LUKS rd_NO_LVM rd_NO_MD rd_NO_DM LANG=en_US.UTF-8 SYSFONT=latarcyrheb-sun16 KEYTABLE=ru rhgb quiet initrd /boot/initramfs-3.0.0.rc1.fc15.x86_64.img
Запись у меня не первая, поєтому необходимо жать Ctrl во время загрузки, чтобы увидеть меню grub и выбрать, что грузить.