User Tools

Site Tools


компиляция_ядра_linux

This is an old revision of the document!


Компиляция ядра Linux

Обычная компиляция

Скачать исходники ядра нужной версии

wget https://mirrors.edge.kernel.org/pub/linux/kernel/v5.x/linux-5.8.18.tar.xz

Установить необходимые для сборки пакеты (ALT Linux)

sudo apt-get install libssl-devel libelf-devel /usr/bin/x86_64-alt-linux-gcc ncurses-devel /usr/bin/flex /usr/bin/bison /usr/bin/pahole

Скопировать конфигурационный файл от текущего ядра в каталог с распакованными исходниками

sudo cp /boot/config-5.8.14-un-def-alt1 .config

Выполнить конфигурирование при необходимости

make menuconfig

На этом этапе можно выбрать, какие модули ядра будут компилироваться и как: в виде отдельного файла *.ko или внутри самого ядра. В данном случае выделенный драйвер сетевой карты будет внутри ядра.

Драйвер RAM-диска будет в виде модуля, приведены его параметры по умолчанию

Компиляция

make -j`nproc`

Установка и проверка ее результатов

sudo make modules_install 
ls /lib/modules/5.8.18
sudo make install
sudo ls -l /boot/initrd.img /boot/vmlinuz

Оптимизированная компиляция

Можно собрать ядро под конкретный процессор, чтобы применялись наиболее оптимальные алгоритмы и машинные команды. Для этого откройте Makefile и допишите в переменную KBUILD_USERCFLAGS параметры

"-march=native -flto -O3"

При использовании последнего могут быть дефекты, лучше компилировать с O2.

компиляция_ядра_linux.1708098342.txt.gz · Last modified: 2024/02/16 15:45 by uf4n