Вообше есть два способа устанвки ядра под Debian: стандартный и deb-специфичный.
Debian-метод предусматривает для пересборки ядра специальный пакет - kernel-package, каковой и надлежит установить с помощью зазубренных ранее волшебных заклинаний:
Debian-метод предусматривает для пересборки ядра специальный пакет - kernel-package, каковой и надлежит установить с помощью зазубренных ранее волшебных заклинаний:
| S apt-get install kernel-package |
Заодно следует обзавестись и сопутствующими пакетами - debhelper, modutils и libncurses5-dev (последний нужен для генерации меню по команде make menuconfig). И еще - пакетом fakeroot, который отвечает за запуск команд в имитируемом root-окружении.Далее, естественно, требуются исходники ядра. В качестве таковых можно взять последнюю версию ядра канонического, с http://www.kernel.org, можно - дополнить их патчами других разработчиков. А можно - просто пересобрать штатное ядро дистрибутива. В последнем случае нужно установить соответствующий пакет с исходниками, например:
| S apt-get install kernel-source-2.6.12 |
Обращаю внимание, что имя пакета, содержащее исходники ядра, указывается с номером версии последнего. Кроме исходников, этот пакет содержит Debian-специфичные патчи, правда, нужные, насколько я понял, только для создания initrd.
Результатом выполнения последней команды будет появление в каталоге /usr/src тарбалла исходников. Переходим туда и распаковываем тарбалл обычным образом:
Результатом выполнения последней команды будет появление в каталоге /usr/src тарбалла исходников. Переходим туда и распаковываем тарбалл обычным образом:
| S tar xjvf kernel-source-2.6.12.tar.bz2 |
Да, в промежутке можно отредактировать файл /etc/kernel-pkg.conf - правда, кроме собственного имени и электронного адреса, вписывать в него вроде нечего.
Следующий этап Debian-метода построения ядра выполняется, "как всегда". То есть -
переходом в соответствующий каталог
| S cd /usr/src/linux-source-2.6.12/ |
копированием в него нашего рабочего конфига ядра:
| S cp /boot/config.config |
(дабы не начинать конфигурирование с нуля) и запуском команды
| S make menuconfig |
Процедуру конфигурирования описывать не буду - это а) делалось многократно, и б) вполне может составить отдельную тему. В контексте же нынешней скажу только, что, в целях избавления от initrd, необходимо жестко встроить в ядро поддержку всего, имеющего отношение к старту системы. То есть - контроллера "несущего" диска и типа файловой системы, содержащей корень файлового древа . Неплохо также избавиться от поддержки "лишних" чипсетов и прочего не имеющего быть оборудования.
Далее руководство в приказном порядке рекомендует выполнить очистку дерева исходников:
| $ make-kpkg clean |
Насколько я понял, это требуется для уничтожения следов от номеров предыдущих ревизий ядра - следующей командой мы определим свою их нумерацию. А командой этой будет
| $ fakeroot make-kpkg --append_to_version \ -intel --revision=rev.01 kernel_image |
Здесь fakeroot создает "правильное" root-окружение (то есть команда может быть запущена от имени пользователя), make-kpkg - собственно программа для построения бинарного "ядерного" пакета, ее опции предписывают добавлять к имени пакета номер версии ядра, архитектуру, под которую оно собиралось, и номер ревизии, то есть нашей собственной сборки, а kernel_image - имя целевого пакета.
В результате указанной директивы сначала происходит компиляция ядра, а потом из него собирается самый обычный deb-пакет вида kernel-image-2.6.12-intel_rev.01.deb, помещаемый в каталог /usr/src. Так что дело остается за малым - установить его обычным же образом:
| $ cd .. |
| $ dpkg -i kernel-image-2.6.12-intel_rev.01.deb |
При этом файл образа ядра и соответствующий ему System.map будут не только скопированы куда следует (то есть в каталог /boot - если он составляет отдельную ветвь файлового древа, не забыть его примонтировать!), но и внесены изменения в файл конфигурации загрузчика (в моем случае - в /boot/grub/menu.lst): новое ядро займет умолчальную позицию в его меню, старое же сохранится в качестве резервного.
Вроде все. У меня все работает а ядро пересобиралось уже 4 раза. Только один совет надо иметь всега свой рабочий конфиг сохраненный в бекапе.
| < Предыдущая | Следующая > |
|---|