Пересборка ядра
Материал из NNLUG Wiki.
В Ubuntu работает один человек, зовут его Jeff Garzik, и он предложил использовать вместо более старого механизма initrd более новый initramfs, при котором загрузка могла бы быть произведена раньше, ядро имело бы меньший размер и другие вкусности. Поэтому в Ubuntu используется initramfs вместо initrd.
Кроме этого, стандартное ядро рассчитано на LILO, в то время как Ubuntu использует Grub. Для автоматической настройки grub в Ubuntu также используются свои средства.
И поэтому, если вы просто скачаете исходники ядра и выполните make, initrd изготовлен не будет. Для сборки "правильно" потребуется следующее:
- установить install kernel-package libncurses5-dev fakeroot
- установить исходники ядра - kernel-source-<версия>
- распаковать исходники ядра из /usr/src/linux-source-<версия>.tar.bz в /usr/src/linux-<версия>
Затем вам нужно решить - будете ли вы писать новыфй конфиг ядра на основе существующего - тогда скопируйте его из /boot/config-<версия> в /usr/src/linux-<версия> и назовите .config. Если же хочется все руками - пропустите этот пункт.
- выполните make menuconfig и отконфигурируйте ядро.
В вот простой make уже выполнять не надо. Вместо этого:
- выполните make-kpkg clean
- выполните fakeroot make-kpkg --initrd --append-to-version=-custom kernel_image kernel_headers
Здесь текст после параметра --append-to-version - это тот текст, который будет присоединён к названию версии ядра, например -custom или -vasya-the-hacker.
В результате вы получите в /usr/src два файла .deb, содержащие собственно ядро и заголовки к нему.
- установите оба файла.
- Проверьте /boot/grub/menu.lst
Перезагружайтесь в новое меню!

