Вот шаги. Эта процедура основана на nixCraft «S Как: Compile Linux ядра 2.6 --but значительно модернизирован.
Скачайте и распакуйте исходный код ядра, которое вы хотите собрать.
Вы можете получить на входе ядра исходный код на kernel.org . Версия 3.16.1 (последнее стабильное ядро на момент написания статьи) будет использоваться здесь. Поэтому вам может потребоваться изменить эти команды, если вы используете другую версию.
Исходный код ядра в настоящее время предоставляется в. деготь . архивы xz , поэтому нажмите ссылку «tar.xz» для любой версии:
После того, как cd
ING в каталог , куда вы скачали архив, вы можете извлечь его tar
:
tar xf linux-3.16.1.tar.xz
Установите необходимые инструменты сборки и выполните настройку ядра.
Для того, чтобы получить в Ubuntu набор инструментов ( gcc
, make
и так далее) установить встраиваемый существенно метапакет:
sudo apt-get update
sudo apt-get install build-essential
Два разумных и удобных способа настройки того, что входит в ваше ядро, обеспечиваются make
целевыми объектами xconfig
и menuconfig
.
xconfig
запускает утилиту графической конфигурации, в то время как menuconfig
работает на основе текста (т. е. ее интерфейс полностью отображается в вашем терминале) Каждому требуется дополнительное программное обеспечение, не предоставляемое build-essential .
Для графической настройки установите libqt4-dev и pkg-config и выполните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или нажатьEsc во время загрузки, чтобы увидеть меню загрузки GRUB, где вы можете выбирать между различными установленными ядрами.
Чтобы сделать ядро (или другое) по умолчанию, см. Раздел Как изменить порядок загрузки GRUB?