Компіляція ядра: як це зробити на дистрибутиві на основі Debian?
У нашому попередній записдзвінок «Ядро Linux: Основи ядра» ми звертаємося до деяких істотні теоретичні основи о Ядра операційної системи, зазвичай; і Ядро Linux, специфічний.
І як ми висловили в ньому, у цьому ми будемо завершувати сказане істотні теоретичні основи з іншими важливі поняття та інформація, окрім показу поточної процедури, яку потрібно досягти "компілювати ядро Linux" з нуля, на а Дистрибутив Debian GNU/Linux 11 (Bullseye). або на його основі.
Ядро Linux: основи ядра
І перш ніж почати читати цю публікацію про "компілювати ядро" Linux Загалом, ми залишимо деякі посилання на попередні відповідні публікації для подальшого читання:

Компіляція ядра: посібник із компіляції
Що означає скомпілювати програму?
В основному це технічний процес (також називається упаковкою) полягає в досягненні перетворення вихідного коду програми або частина програмного забезпечення, від його джерела (мова програмування, яка використовується для написання самого програмного забезпечення) до a читабельний продукт (інтерпретована мовою програмування високого рівня) комп’ютером.
Тобто досягти свого перетворення з вашого вихідного коду поки не стане a виконувана і функціональна програма, за допомогою a процесор (програмний компілятор) для перетворення використовуваної мови програмування в код двійкового та асемблерного типу.
І коли справа доходить до розробляти та компілювати будь-який вид пакет, додаток і програма, основний і рідний, на кшталт Ядра на Debian GNU / Linux, наступні пакети підходять і необхідні для отримання товару база підтримки розвитку, а це:
apt install autoconf automake autotools-dev build-essential dh-make debhelper debmake devscripts dpkg fakeroot file gfortran git gnupg fp-compiler lintian patch pbuilder perl python quilt xutils-dev
Переваги та недоліки компіляції ядра Linux з нуля
Коли ми спеціально компілюємо та налаштовуємо з нуля певне ядро для певного комп’ютера, ми можемо отримати такі переваги:
- Досягніть кращої продуктивності та меншого споживання ЦП.
- Отримайте кращу оптимізацію та менше споживання оперативної пам’яті.
- Покращення адаптивності та сумісності операційної системи.
- Підвищення ефективності та продуктивності операційної системи.
Хоча, навпаки, ми могли б створити наступні недоліки:
- Збої в роботі та доступності бажаних ресурсів і служб на використовуваному комп’ютері через погану конфігурацію та проблеми, спричинені під час компіляції.
- Постійна, довга і виснажлива робота спочатку по її створенню, а потім на пізніше, щоб оновлювати його вручну. Це може тривати від хвилин до годин, залежно від використовуваного обладнання.
- Довгі години навчання та тести, оскільки потрібен високий рівень знань як про параметри конфігурації, доступні в ядрі, так і про комп’ютер (кінцеве апаратне забезпечення), на якому воно буде виконуватися.

Доступні категорії ядра
в скомпілювати ядроПерше, що ми повинні знати, це яке ядро вибрати. Для цього ми повинні піти в офіційний сайт ядер, і виберіть одну з наявних категорій. Які є наступні:
- Основний напрямок розвитку (Mainline): Ця категорія включає ті ядра, які знаходяться на стадії розробки, отже, вони містять нові можливості та функції, які необхідно перевірити, перш ніж їх можна буде помістити в стабільну версію. Вони підтримуються та випускаються безпосередньо Лінусом Торвальдсом і випускаються в середньому кожні 2-3 місяці.
- Стабільний: Ця категорія включає ті ядра, які після проходження тестів тривалого процесу розробки стають стабільними, тому вони підлягають лише виправленню через призначеного офіційного супроводжуючого. Крім того, у них є лише кілька випусків виправлень помилок, доки не буде доступна наступна основна лінія.
- Довготривалий: Ця категорія включає ті ядра, які після проходження випробувань тривалого процесу розробки стають стабільними, але підтримуються виправленням помилок і обслуговуванням протягом надзвичайно тривалого часу (роки). Причина — застосовані важливі виправлення помилок, які можуть стати дуже частими.

Як скомпілювати ядро в GNU/Linux Debian Bullseye Distro?
Вибравши a конкретна версія ядра, на офіційному веб-сайті та вже знаючи (копіюючи) ваші шлях завантаження через кнопка архіву того ж, залишається лише виконати наступну процедуру, яку ми покажемо на прикладі Стабільна версія ядра Linux 6.0.8:
Крок 1
cd /usr/src
wget -c https://mirrors.edge.kernel.org/pub/linux/kernel/v6.x/linux-6.0.8.tar.xz
sudo unxz linux-6.0.8.tar.xz
sudo tar xvf linux-6.0.8.tar
sudo ln -s linux-6.0.8 linux
cd /usr/src/linux
sudo make clean && make mrproper
sudo cp /boot/config-`uname -r`* .config
make menuconfig
Виконання цієї останньої команди запускає «Меню конфігурації ядра», де можна налаштувати (налаштувати) параметри ваші переваги чи потреби. Крім того, тут важливо не забувати, що це необхідно установіть або зніміть прапорець біля опції 64-розрядного ядра, залежно від того, що бажано чи потрібно. А також після внесення всіх внесених змін ви повинні натисніть кнопку Зберегти і тоді Кнопка виходу.

Крок 2
На даний момент є 2 можливі шляхи брати:
Лише встановлення ядра
sudo make
sudo make modules_install
sudo make install
sudo update-grub; sudo update-grub2; sudo update-initramfs -u
sudo apt clean; sudo apt autoclean; sudo apt autoremove; sudo apt remove; sudo apt purge

Встановлення ядра та створення файлів .deb
Щоб виконати цей крок, потрібно викликати інсталяцію пакета пакет ядра. Отже, процедура виглядає так і починається так:
sudo wget -c http://ftp.us.debian.org/debian/pool/main/k/kernel-package/kernel-package_13.018+nmu1~bpo9+1_all.deb
sudo apt install ./kernel-package_13.018+nmu1~bpo9+1_all.deb
fakeroot make-kpkg --initrd --append-to-version=-custom kernel_image kernel_headers
cd /usr/src
sudo dpkg -i *.deb
У випадку, якщо під час процесу компіляції ви отримаєте a помилка, пов'язана з сертифікатами ядра, як варіант залишається можливість виконати наступне команда для автоматичного виправлення:
sed -i '/CONFIG_SYSTEM_TRUSTED_KEYS/s/^/#/g' .config
Так, все закінчилося добре, залишилося тільки перезавантажити наш комп'ютер і перевірити, як працює наша операційна система з новим ядром. Як він показаний до і після, на наступних скріншотах:
Перед встановленням ядра

Після встановлення ядра


Резюме
Таким чином, ми сподіваємося, що цей посібник буде дуже корисним як для Досвідчені користувачі як Розробники дистрибутивів або Respins. які зазвичай вимагають "компілювати ядро" специфічні для поточної встановленої операційної системи GNU/Linux або такої, яка створюється з нуля, щоб включити краща продуктивність і оптимізація на конкретному обладнанні. Переважно з метою досягнення a менше споживання процесора та оперативної пам'яті.
Хоча, якщо хто знає інший корисний спосіб виконання зазначеної процедури або знати будь-яку пропозиція, рекомендація чи виправлення до того, що надається тут, ви можете зробити це через коментарі. І так, вам просто сподобалася ця публікація, не припиняйте коментувати її та ділитися з іншими. Також не забудьте відвідати наш «домашня сторінка» вивчати більше новин, а також приєднуватися до нашого офіційного каналу Телеграма від DesdeLinux, Захід група щоб дізнатися більше про сьогоднішню тему.