Kernels/Arch Build System (Русский)
Arch Build System позволит вам собрать собственное ядро на основе официального пакета Linux. Этот метод предлагает автоматизировать весь процесс компиляции и основан на тщательно протестированном пакете. Вы можете отредактировать PKGBUILD для использования собственных настроек ядра или для добавления дополнительных патчей.
Contents
Получение необходимых пакетов
Установите пакет abs и группу пакетов base-devel из официальных репозиториев.
Во-первых, вам нужно иметь чистое ядро перед началом вашей настройки. Выберите файлы пакетов ядра с ABS:
$ ABSROOT=. abs core/linux
Если RSYNC порт блокируется сетевым экраном, вы можете попробовать запустить команду с параметром -t, чтобы использовать архив для синхронизации.
$ ABSROOT=. abs core/linux -t
Затем, получите все остальные файлы, которые вам потребуются (например, пользовательские файлы конфигурации, патчи и т.д.) из соответствующих источников.
Редактирование PKGBUILD
Отредактируйте PKGBUILD официального пакета linux.
Укажите имя вашего пакета в параметре pkgbase
, например :
pkgbase=linux-custom
Изменение build()
Если вам нужно изменить несколько опций можно использовать config
по умолчанию и добавить в него необходимые вам опции :
$ echo ' CONFIG_DEBUG_INFO=y CONFIG_FOO=n ' >> config.x86_64
Также вы можете использовать утилиту с графическим интерфейсом для настройки параметров. Для этого раскомментируйте одну из возможных, указанных в prepare() функций в PKGBUILD, например:
PKGBUILD
... # load configuration # Configure the kernel. Replace the line below with one of your choice. #make menuconfig # CLI menu for configuration make nconfig # new CLI menu for configuration #make xconfig # X-based configuration #make oldconfig # using old config from previous kernel version # ... or manually edit .config ...
Если у вас уже есть файл конфигурации ядра config
, раскомментируйте один из интерактивных инструментов конфигурации, например, nconfig
, и при необходимости загрузите ваш config
оттуда во избежании каких-либо проблем с именованием ядра, которые в противном случае могут возникнуть (за исключением make menuconfig - см. ниже).
Пересоздание контрольных сумм
Т.к. файл настройки был изменен, необходимо сгенерировать новые контрольные суммы, запустив:
$ updpkgsums
Компиляция
Теперь можно приступить к компиляции ядра обычной командой makepkg
. Если вы выбрали интерактивную программу для настройки параметров ядра (напр. menuconfig), вы должны присутствовать во время компиляции.
Установка
После makepkg, вы можете посмотреть файл linux.install. Можно заметить, что некоторые переменные изменились. Теперь пакет можно установить,как обычно, с помощью pacman (или эквивалентной программы):
# pacman -U <kernel-headers_package> # pacman -U <kernel_package>
Загрузчик
К этому времени файлы и каталоги для собранного вами ядра должны быть созданы, например, /boot/vmlinuz-linux-test
. Для проверки вашего ядра нужно обновить загрузчик (/boot/grub/menu.lst для GRUB), добавив новые записи ('default' and 'fallback') для вашего свежесозданного ядра. Таким образом, вы можете паралельно хранить и основное и собранное вами ядра.