Настройка ядра не для всех. Пожалуйста, обратите внимание, прежде чем попробовать что-либо из этого, что оно может сломать вашу систему.
Существует множество причин, по которым вы хотите настроить свое ядро. Возможно, вы захотите обрезать свое ядро только на необходимые службы, особенно если вы используете сервер или выделенное устройство, для которого требуется только необходимое. Возможно, вам также понадобится исправить ваше ядро для поддержки оборудования, которое в настоящее время не поддерживается ядром, на котором вы работаете.
В этой статье не будет объяснено, как исправлять ваше ядро, просто как настроить текущий. У меня будет другая последующая статья, в которой объясняется, как исправлять ваше ядро, и некоторые практические причины, по которым вы хотели бы это сделать.
Для начала нам нужно выяснить, какую версию ядра мы используем в настоящее время. Мы будем использовать команду uname для этого
$ uname -r
2.6.17-10-generic
Теперь нам нужно установить источник linux для вашего ядра, обратите внимание, что я запускаю ядро 2.6.17-10, поэтому строка установщика отражает это. Для целей этой статьи вы можете заменить номер ядра для того, что вы используете. Нам также необходимо установить библиотеку curses и некоторые другие инструменты, которые помогут нам скомпилировать.
sudo apt-get install linux-source-2.6.17 kernel-package libncurses5-dev fakeroot
Если вам интересно, где установлен источник linux, вы можете использовать команду dpkg, чтобы сообщить вам файлы в пакете. Вот результат в моей системе:
$ dpkg -L linux-source-2.6.17 /. /usr /usr/src /usr/src/linux-source-2.6.17.tar.bz2 /usr/share /usr/share/doc /usr/share/doc/linux-source-2.6.17 (trimmed)
Мы видим, что источник был установлен в каталог / usr / src в заархивированном файле.
Чтобы упростить задачу, мы поставим себя в корневом режиме, используя sudo, чтобы открыть новую оболочку. Есть и другие способы сделать это, но я предпочитаю этот путь.
sudo /bin/bash
Теперь измените каталог в исходное местоположение, чтобы мы могли установить его. Обратите внимание, что вам может понадобиться установить утилиту bunzip, если она не установлена. (это было на моем)
cd /usr/src
bunzip2 linux-source-2.6.17.tar.bz2
tar xvf linux-source-2.6.17.tar
ln -s linux-source-2.6.17 linux
Создайте копию существующей конфигурации ядра, которая будет использоваться для пользовательского процесса компиляции. Обратите внимание, что символ `тот, что ниже тильды ~
cp /boot/config-`uname -r` /usr/src/linux/.config
Теперь мы запустим утилиту, которая позволит нам настроить ядро:
cd /usr/src/linux
make menuconfig
Сначала перейдите в раздел «Загрузить альтернативный файл конфигурации» и загрузите файл.config. (просто нажмите enter)
Когда вы закончите делать все, что захотите, нажмите «Выход» и сохраните конфигурацию при появлении запроса.
Теперь у нас есть готовая конфигурация для компиляции. Сначала мы сделаем чистую, просто чтобы убедиться, что все готово для компиляции.
make-kpkg clean
Затем мы скомпилируем ядро. Это займет много времени, поэтому найдите что-нибудь интересное.
fakeroot make-kpkg –initrd –append-to-version=-custom kernel_image kernel_headers
Этот процесс создаст два файла.deb в / usr / src, которые содержат ядро. Файл linux-image **** является фактическим изображением ядра, а в другом файле вы можете установить оба с dpkg. Имена файлов, вероятно, будут отличаться в вашей системе.
Обратите внимание, что при запуске этих следующих команд это будет устанавливать новое ядро как новое ядро по умолчанию. Это может сломать вещи! Если ваш компьютер не загружается, вы можете нажать Esc в меню загрузки GRUB и выбрать свое старое ядро. Затем вы можете отключить ядро в /boot/grub/menu.lst или попытаться снова скомпилировать.
dpkg -i linux-image-2.6.17.14-ubuntu1-custom_2.6.17.14-ubuntu1-custom-10.00.Custom_i386.deb
dpkg -i linux-headers-2.6.17.14-ubuntu1-custom_2.6.17.14-ubuntu1-custom-10.00.Custom_i386.deb
Теперь перезагрузите компьютер. Если все работает, вы должны запустить свое новое настраиваемое ядро. Вы можете проверить это, используя uname. Обратите внимание, что точное число будет отличаться на вашем компьютере.
uname -r
2.6.17.14-ubuntu1-custom
Я планирую написать серию статей по настройке ядра, поэтому подписаться на RSS-канал для обновлений.
Кроме того, в интересах полного раскрытия я узнал, как это сделать из статьи в HowtoForge, которая является отличным веб-сайтом для некоторых очень продвинутых руководств по Linux. Вы заметите, что многие из этапов этой статьи похожи, хотя я попытался сделать эту статью более «Ubuntu».