Вот шаги. Эта процедура основана на nixCraft Как скомпилировать ядро Linux 2.6 - но значительно модернизировалось.
Загрузите и извлеките исходный код ядра, которое вы хотите создать.
Вы можете получить исходный исходный код ядра на kernel.org . Версия 3.16.1 (последнее стабильное ядро на момент написания этой статьи) будет использоваться здесь. Поэтому вам может потребоваться изменить эти команды, если вы используете другую версию.
В настоящее время предоставляется исходный код ядра. tar . xz , поэтому нажмите ссылку" tar.xz "по любой желаемой версии:
После cd
ing в каталог, в который вы загрузили архив, вы можете извлечь его с помощью < a href="http://manpages.ubuntu.com/manpages/man1/tar.1.html"> tar
:
tar xf linux-3.16.1.tar.xz
Установите необходимые инструменты сборки и выполните конфигурацию ядра.
Чтобы получить toolbain Ubuntu ( gcc
, make
и т. д.), установите build -essential
метапакет:
sudo apt-get update
sudo apt-get install build-essential
Два разумно удобных способа настройки того, что входит в ваше ядро, предоставляются make
target xconfig
и menuconfig
.
xconfig
запускает графическую конфигурационную утилиту, а menuconfig
- на основе текста (т. е. ее интерфейс полностью отображается в вашем терминале). Для каждого из них требуется некоторое дополнительное программное обеспечение not , предоставленное build-essential
.
Чтобы настроить графически , установите libqt4-dev < img src="https://hostmar.co/software-small"> и pkg-config < img src="https://hostmar.co/software-small"> и запустите make xconfig
:
sudo apt-get install libqt4-dev pkg-config
make xconfig
Чтобы настроить в терминале , установите libncurses5-dev
(благодаря Hannu для этой информации) и запустите make menuconfig
:
sudo apt-get install libncurses5-dev
make menuconfig
Создайте сконфигурированное ядро.
Сначала запустите это, чтобы скомпилировать ядро и создать vmlinuz
:
make
vmlinuz
- это "ядро". В частности, это изображение ядра будет несжатым и загружено в память GRUB или любым другим , который вы используете.
Затем создайте загружаемые модули ядра :
make modules
Установите новое ядро.
Предполагая, что команды make
успешно завершены, пришло время установить новое ядро. Сначала установите модули:
sudo make modules_install
Затем установить ядро :
sudo make install
Это ставит vmlinuz-3.16.1
(копия vmlinuz
), config-3.16.1
(текстовый файл, сохраняющий параметры конфигурации ядра) и System.map-3.16.1
( таблица поиска символа ядра ) в /boot
. Для получения дополнительной информации см. это сообщение comp.os.linux.misc от Hadron и man installkernel
.
Окончательная настройка, поэтому ядро можно запустить и загрузить систему:
Этот раздел частично основан на информации в Kernel / Compile . р>
Теперь с ядром, где это необходимо, требуется:
Создайте свои initramfs с помощью mkinitramfs
:
cd /boot
sudo mkinitramfs -ko initrd.img-3.16.1 3.16.1
Когда вы обновляете конфигурацию загрузчика GRUB2, которая была по умолчанию в Ubuntu начиная с 9.10 - следует автоматически обнаруживать новое ядро и добавлять к нему возможность загрузки.
sudo update-grub
Попробуйте свое ядро.
Теперь вы можете перезагрузиться, чтобы протестировать новое ядро. Возможно, вам потребуется удерживать Shift во время загрузки, чтобы увидеть меню загрузки GRUB, где вы можете выбрать между различными установленными ядрами.
Чтобы ваше ядро (или другое) было по умолчанию, см. Как изменить порядок загрузки GRUB?