devops

kernel

#kernel #debian #source #build

Одно из главных особеностей Debian это очень долгое время обновления. Весь мир уже перешел на Python 3.10, а в официальных репо Debian до сих пор 3.7. И это касается всех частей системы.

И вот появился клиент, который очень давно не обновлялся и даже не планирует этого делать. И он использует очень старое ядро (по современным меркам). Поэтому для того чтобы дать полную поддержку этому клиенту необходимо полностью симулировать его конфигурацию.

Процесс довольно простой, но очень нудный и долгий.

1. Установка зависимостей

apt-get install gpg gcc make git exuberant-ctags bc libssl-dev libelf-dev elfutils fakeroot build-essential zlib1g-dev libncurses5-dev bison flex

2. Добавляем подпись

gpg --locate-keys torvalds@kernel.org gregkh@kernel.org

3. Скачиваем исходники

wget https://cdn.kernel.org/pub/linux/kernel/v5.x/linux-5.4.143.tar.gz
wget https://cdn.kernel.org/pub/linux/kernel/v5.x/linux-5.4.143.tar.sign
wget https://cdn.kernel.org/pub/linux/kernel/v5.x/linux-5.4.143.tar.xz

4. Распаковываем

tar xzf linux-5.4.143.tar.gz
mv linux-5.4.143 /usr/src/
mv /usr/src/linux-5.4.143 /usr/src/linux-source-5.4.143-amd64

5. Копируем конфиг

cp /boot/config-$(uname -r) /usr/src/linux-source-5.4.143-amd64/.config

6. Изменяем конфигурацию

make menuconfig

не забудем сохранить нужно еще изменить /usr/src/linux-source-5.4.143-amd64/Makefile

EXTRAVERSION = -amd64

7. Стартуем

make deb-pkg 

После завершения получим 4 файла: – linux-headers-5.4.143-amd645.4.143-amd64-1amd64.deb – linux-image-5.4.143-amd645.4.143-amd64-1amd64.deb – linux-image-5.4.143-amd64-dbg5.4.143-amd64-1amd64.deb – linux-libc-dev5.4.143-amd64-1amd64.deb

тут есть в картинках