Сборка ядра в Calculate Linux с помощью утилиты cl-kernel

Необходимость в собственном прежде всего оптимизированном под конкретную машину ядре операционной системы для каждого пользователя решается по-своему — кого-то вполне устраивает то что идет по умолчанию с системой так сказать «из коробки» а кто-то считает что ядро должно содержать только то что необходимо именно для его компьютера а не быть раздутым под любые нужды в которых никогда и потребность-то не возникнет… В числе последних и я :)

В Calculate Linux имеется очень удобная утилита для самостоятельной сборки ядра Linux именуемая cl-kernel.

Cl-kernel дает возможность с минимальными знаниями и с максимальной автоматизацией произвести настройку и последующую сборку ядра в соответствие с пожеланиями пользователя тем более что выбор различных ядер в Calculate Linux имеется приличный.

Чтобы посмотреть какие исходники ядер Linux имеются в репозитории нужно в консоли от суперпользователя набрать:

eix -C sys-kernel

Список имеющихся ядер будет довольно объемным например:

  • calculate-sources — ядро от разработчиков Cаlculate linux
  • gentoo-sources — ядро от сообщества Gentoo
  • vanilla-sources — «чистое» ядро с kernel.org
  • vserver-sources xen-sources — ядра с поддержкой соответсвующих VM
  • pf-sources — ядро с патчами pf-kernel позволяющими значительно повысить производительность

Лично я для себя выбрал именно pf-kernel но это мой субъективный выбор объяснять который я не особо желаю да и не о том пишу в настоящий момент…

Итак чтобы узнать какое ядро установлено в настоящий момент набираем:

$ uname -r3.3.6-pf

Чтобы скачать и установить последнюю версию pf-sources вводим от суперпользователя:

USE="symlink" emerge pf-sources

Флаг USE="symlink" создаст символическую ссылку /usr/src/linux на директорию с исходным кодом ядра...

После этого необходимо выполнить сборку ядра командой:

cl-kernel --menuconfig --extraversion mykernel --kerneldir /usr/src/linux/pf-sources-3.3.6

Опция --menuconfig позволит выполнить предварительную настройку ядра под свои нужды --extraversion xxx позволит присвоить название своему ядру а --kerneldir /path-to-dir даст возможность изменить символическую ссылку на директорию с исходниками собираемого ядра (все параметры cl-kernel можно узнать запустив скрипт с ключем --help).

Программа выполнит следующие действия:

  • выберет необходимую конфигурацию ядра (в зависимости от версии и архитектуры)
  • скомпилирует ядро с модулями
  • сформирует initramfs
  • произведет установку ядра в директорию /boot

При выполнении команды cl-kernel перед сборкой производится действие make clean при этом ядро вместе с модулями собирается с нуля. Бывают случаи когда в этом нет необходимости (например нужно докомпилировать один или несколько модулей) — тогда для сборки можно использовать опцию --no-clean.

cl-kernel --menuconfig --no-clean

После сборки ядра в обязательном порядке необходимо пересобрать пакеты модулей которые напрямую связаны с ядром (такие как например ati-driver madwifi-ng и тп):

module-rebuild -X rebuild

После перезагрузки в меню grub появится Ваше свежесобранное ядрышко :)

PS: Ядра предыдущих версий не удаляются. Это предусмотрено для того чтобы в случае каких-либо неполадок была возможность загрузиться в систему со старым ядром. Если все работает с новым ядром так как положено то можно полностью удалить старые ядра можно отдельно удалив папки с исходниками ядра в /usr/src/ модули в /lib/modules/ и само ядро в /boot/:

emerge -C =sys-kernel/calculate-sources-3.3.3rm -rf /usr/src/linux-3.3.3*rm -rf /lib/modules/*3.3.3*rm -rf /boot/*3.3.3*rm -rf /boot/*old

Вместо «3.3.3» естественно должна быть версия удаляемого ядра.


Оригинал статьи http://pingvinoff.net/2012/05/28/sborka-yadra-calculatelinux-pri-pomoshhi-cl-kernel/

0 комментариев

Оставить комментарий