GNU/Linux >> Znalost Linux >  >> Linux

Jak sestavit linuxové jádro od nuly {průvodce krok za krokem}

Úvod

Linuxové jádro je základem operačních systémů podobných Unixu. Jádro je zodpovědné za komunikaci mezi hardwarem a softwarem a alokaci dostupných zdrojů.

Všechny distribuce Linuxu jsou založeny na předdefinovaném jádře. Pokud však chcete zakázat několik možností a ovladačů nebo vyzkoušet experimentální opravy, musíte sestavit linuxové jádro.

V tomto podrobném průvodci se naučíte, jak sestavit a zkompilovat linuxové jádro od začátku.

Předpoklady

  • Systém se systémem Linux
  • Přístup k terminálu/příkazovému řádku
  • Uživatelský účet s sudo/root privilegia
  • 12 GB volného místa na pevném disku

Vytváření linuxového jádra

Proces sestavení linuxového jádra vyžaduje sedm snadných kroků. Dokončení však vyžaduje značné množství času v závislosti na rychlosti systému.

Při sestavování nejnovějšího linuxového jádra v době psaní tohoto článku postupujte podle níže uvedených kroků.

Poznámka: Pokud verze na webu jádra neodpovídá verzi z níže uvedených kroků, použijte tyto příkazy a nahraďte číslo verze jádra.

Krok 1:Stáhněte si zdrojový kód

1. Navštivte oficiální webové stránky jádra a stáhněte si nejnovější verzi jádra. Stažený soubor obsahuje komprimovaný zdrojový kód.

2. Otevřete terminál a pomocí příkazu wget stáhněte zdrojový kód linuxového jádra:

wget https://cdn.kernel.org/pub/linux/kernel/v5.x/linux-5.9.6.tar.xz

Po dokončení stahování se na výstupu zobrazí zpráva „uloženo“.

Krok 2:Extrahujte zdrojový kód

Když je soubor připraven, spusťte příkaz tar a extrahujte zdrojový kód:

tar xvf linux-5.9.6.tar.xz

Výstup zobrazuje zdrojový kód extrahovaného jádra:

Krok 3:Nainstalujte požadované balíčky

Před sestavením jádra nainstalujte další balíčky. Chcete-li tak učinit, spusťte tento příkaz:

sudo apt-get install git fakeroot build-essential ncurses-dev xz-utils libssl-dev bc flex libelf-dev bison

Příkaz, který jsme použili výše, nainstaluje následující balíčky:

Balík Popis balíčku
git Sleduje a zaznamenává všechny změny během vývoje ve zdrojovém kódu. Umožňuje také vrátit změny.
fakeroot Nástroj pro balení, který vytváří falešné kořenové prostředí.
build-essential Instaluje vývojové nástroje jako C, C++, gcc a g++.
ncurses-dev Knihovna programování, která poskytuje rozhraní API pro textové terminály.
xz-utils Poskytuje rychlou kompresi a dekompresi souborů.
libssl-dev Podporuje SSL a TSL, které šifrují data a zajišťují bezpečné připojení k internetu.
bc (Základní kalkulačka) Matematický skriptovací jazyk, který podporuje interaktivní provádění příkazů.
flex (Generátor rychlého lexikálního analyzátoru) Generuje lexikální analyzátory, které převádějí znaky na tokeny.
libelf-dev Vydává sdílenou knihovnu pro správu souborů ELF (spustitelné soubory, výpisy jádra a objektový kód)
bison GNU analyzátor generátoru, který převádí popis gramatiky do programu C.

Krok 4:Konfigurace jádra

Zdrojový kód linuxového jádra je dodáván s výchozí konfigurací. Můžete si jej však upravit podle svých potřeb. Chcete-li tak učinit, postupujte podle následujících kroků:

1. Přejděte na linux-5.9.6. adresář pomocí cd příkaz:

cd linux-5.9.6

2. Zkopírujte stávající konfigurační soubor pomocí cp příkaz:

cp -v /boot/config-$(uname -r) .config

3. Chcete-li provést změny v konfiguračním souboru, spusťte make příkaz:

make menuconfig

Příkaz spustí několik skriptů, které poté otevřou konfigurační nabídku:

4. Nabídka konfigurace obsahuje možnosti, jako je firmware, souborový systém, síť a nastavení paměti. Pomocí šipek proveďte výběr nebo zvolte NÁPOVĚDA se dozvíte více o možnostech. Po dokončení změn vyberte ULOŽIT a poté opusťte nabídku.

Poznámka: Změna nastavení některých voleb může vést k nefunkčnímu jádru. Pokud si nejste jisti, co změnit, ponechte výchozí nastavení.

Krok 5:Sestavení jádra

1. Začněte sestavovat jádro spuštěním následujícího příkazu:

make

Proces sestavení a kompilace linuxového jádra nějakou dobu trvá.

Terminál uvádí všechny součásti linuxového jádra:správu paměti, ovladače hardwarových zařízení, ovladače souborového systému, síťové ovladače a správu procesů.

2. Nainstalujte požadované moduly pomocí tohoto příkazu:

sudo make modules_install

3. Nakonec nainstalujte jádro zadáním:

sudo make install 

Výstup ukazuje hotovo po dokončení:

Krok 6:Aktualizujte bootloader (volitelné)

Zavaděč GRUB je první program, který se spustí při zapnutí systému.

Možnost make install příkaz provede tento proces automaticky, ale můžete to udělat i ručně.

1. Aktualizujte initramfs na nainstalovanou verzi jádra:

sudo update-initramfs -c -k 5.9.6

2. Aktualizujte zavaděč GRUB pomocí tohoto příkazu:

sudo update-grub

Terminál vytiskne zprávu o procesu a potvrzení:

Krok 7:Restartujte a ověřte verzi jádra

Po dokončení výše uvedených kroků restartujte počítač.

Po spuštění systému ověřte verzi jádra pomocí uname příkaz:

uname -mrs

Terminál vytiskne aktuální verzi linuxového jádra.


Linux
  1. Jak upgradovat jádro na ploše Linuxu

  2. Jak zkontrolovat verzi jádra v Linuxu

  3. Linux – Jak spustit bootloader z Linuxu?

  1. Jak interně funguje copy_from_user z jádra Linuxu?

  2. Jak sestavit modul jádra Linuxu tak, aby byl kompatibilní se všemi verzemi jádra?

  3. Jak mohu rezervovat blok paměti z jádra Linuxu?

  1. Jak sestavit rpm balíčky

  2. Jak na SSH na Linuxu z Androidu

  3. Jak načíst moduly jádra Linuxu z kódu C?