Сборка нового ядра

Дистрибутивы > Debian

Зачем пересобирать ядро? Обычно этого делать не нужно, так как ядро, устанавливаемое по умолчанию в Debian, подходит для многих конфигураций. Кроме этого, в Debian есть ещё несколько сборок ядра.

Поэтому, сначала проверьте, может другой пакет с ядром лучше подходит для вашего компьютера. Однако, полезно пересобрать ядро в следующих случаях:

  • если установлено специфичное оборудование или возникает конфликт аппаратного обеспечения со стандартным ядром

  • чтобы задействовать свойства, которых нет в поставляемых сборках ядра (например, поддержка high memory)

  • для оптимизации ядра, удаляя ненужные драйверы для уменьшения времени загрузки

  • создания монолитного ядра, без модулей

  • для установки обновлённого или разрабатываемого ядра

  • чтобы больше узнать о ядрах linux

Управление образами ядра

Не бойтесь пересобирать ядро. Это забавно и полезно.

Чтобы собрать ядро по технологии Debian, вам потребуются некоторые пакеты: fakeroot, kernel-package, linux-source-2.6 и некоторые другие, которые, вероятно, уже установлены (в /usr/share/doc/kernel-package/README.gz есть полный список).

С помощью этого метода создаётся .deb файл из исходных текстов ядра, а также, если у вас имеются нестандартные модули, делается .deb файл с синхронизированными зависимостями. Это наилучший способ управления образами ядра; в /boot лежит ядро, System.map и журнальный конфигурационный файл от сборки.

Заметим, что вам не обязательно собирать ядро «по технологии Debian»; но мы пришли к выводу, что управлять ядрами с помощью системы управления пакетами на самом деле безопаснее и легче. Фактически, вы можете получить исходные тексты ядра прямо у Линуса, а не в виде linux-source-2.6, и собрать ядро с помощью kernel-package.

Заметим, что полную документацию по использованию kernel-package можно найти в /usr/share/doc/kernel-package. Этот раздел содержит лишь краткое руководство.

Далее мы предполагаем, что вы можете делать на своей машине что угодно и распаковываете исходные тексты ядра в домашний каталог. Также мы предполагаем, что у вас ядро версии 2.6.32. Проверьте, что вы находитесь в каталоге куда хотите распаковать исходные тексты ядра, распакуйте их с помощью команды 

tar xjf /usr/src/linux-source-2.6.32.tar.bz2

и перейдите в только что появившийся каталог linux-source-2.6.32.

Теперь вы можете выполнить настройку ядра. Если установлены, настроены и запущены X11, то запустите make xconfig, иначе make menuconfig (вам потребуется установить пакет libncurses5-dev). Внимательно прочитайте интерактивную документацию и внимательно выберите нужные параметры. Если что-то непонятно, обычно лучше включить драйвер устройства (программное обеспечение, которое управляет установленным оборудованием, например, картами Ethernet, SCSI-контроллерами и так далее). Будьте осторожны: для других параметров, не относящихся к определённому аппаратному обеспечению, нужно оставить значения по умолчанию, если вы не понимаете, что они делают. Не забудьте выбрать «Kernel module loader» в «Loadable module support» (не включён по умолчанию). Если его не включить, возникнут проблемы с установкой Debian.

Очистите дерево исходных текстов и сбросьте параметры kernel-package. Для этого выполните make-kpkg clean.

Теперь соберите ядро: 

fakeroot make-kpkg --initrd --revision=my.1.0 kernel_image kernel_headers

Если у Вас многоядерный процессор, то команда принимает вид:
CONCURRENCY_LEVEL=N fakeroot make-kpkg --initrd --revision=my.1.0 kernel_image kernel_headers
где N - число потоков компилирования (расчет N см. выше )

Номер версии «1.0» можно изменить; этот номер версии нужен только для отслеживания ваших сборок. Более того, вы можете добавить любое слово вместо «my» (например, имя машины). Сборка ядра может занять некоторое время в зависимости от мощности машины.

После завершения сборки вы можете установить собранное ядро как обычный пакет. От суперпользователя выполните 

dpkg -i ../linux-image-2.6.32-субархитектура_my.1.0_i386.deb
dpkg -i ../linux-headers-2.6.32-субархитектура_my.1.0_i386.deb 

Часть субархитектура — это необязательная субархитектура, например, «686», зависящая от установленных параметров ядра. dpkg -i установит ядро вместе с некоторыми полезными файлами поддержки. Например, будет правильно установлен System.map (полезен при отладке проблем с ядром), а также /boot/config-2.6.32, содержащий параметры сборки ядра. Также, пакет способен автоматически использовать системный загрузчик платформы для обновления загрузки. Если вы создали пакет с модулями, то вам нужно установить и его.

Настало время перезагрузить систему: внимательно прочитайте все предупреждения, которые могут появиться, затем наберите shutdown -r now.

Подробней о ядрах Debian и сборке ядра смотрите в Debian Linux Kernel Handbook. Полная информация о kernel-package лежит в каталоге /usr/share/doc/kernel-package

Источники: 
http://www.debian.org/releases/stable/i386/ch08s06.html.ru
http://sogiuu.oskoluno.ru/area/forum/viewtopic.php?f=4&t=20

 

Комментарии
]]> ipv6 ready Kiev LUGLinux4MeНостальгияЛичный сайт skeletora ]]>