GNU/Linux >> Znalost Linux >  >> Linux

Linux – kompilace a instalace jádra Kernel.org do vlastního svazku na disku?

Chci zkompilovat a nainstalovat jádro kernel.org na vlastní pevný disk, řekněme /dev/sda5 , namísto sloučení s mými aktuálními adresáři Ubuntu.

Mohu najít informace o konfiguraci a procesu kompilace na celém webu, ale neexistuje žádný způsob, jak umístit jádro na vlastní svazek (jiný než zavedené distro, které používáte v okamžiku kompilace). Žádám o to, jak můžeme nainstalovat 2 různé distribuce na 2 různé svazky na 1 HDD, nyní si představte mé vlastní jádro jako další distribuci.

Přijatá odpověď:

Jádro můžete zkompilovat kdekoli, včetně vašeho domovského adresáře. Jediný čas, kdy se změní adresáře mimo sestavení stromu, je, když provedete jeden z install* cíle. Chcete-li tedy nainstalovat jádro, postupujte takto:

cd $SOME_DIRECTORY
tar -xjvf linux-$VERSION.tar.bz2
cd linux-$VERSION
make mrproper menuconfig
# Configure the kernel here.
# Now build it using all your CPU threads in parallel.
make -j$(grep -c processor /proc/cpuinfo) bzImage modules

Poté, co nakonfigurujete jádro, bude sestaveno. V tomto okamžiku budete mít binární jádro (vmlinux) a zaváděcí obraz jádra pod arch/$YOUR_ARCHITECTURE/boot/bzImage.

Pokud vytváříte monolitické jádro, máte hotovo. Zkopírujte nekomprimovaný soubor (vmlinux ) nebo komprimovaný soubor (bzImage ) na zamýšlený svazek, v případě potřeby nakonfigurujte správce spouštění a můžete začít.

Pokud potřebujete nainstalovat moduly a za předpokladu, že jste připojili svůj cílový svazek na /mnt, můžete říci:

INSTALL_MOD_PATH=/mnt \
INSTALL_PATH=/mnt/boot \
make modules_install

Tím se zkopíruje obraz jádra do /mnt/boot a moduly do /mnt/lib/modules/$VERSION .

Upozorňujeme, že to příliš zjednodušuji. Pokud potřebujete pomoc se sestavením jádra ručně, měli byste si přečíst některé dokumenty ve zdrojovém stromu jádra Documentation/ podadresář. Soubor README soubor vám také podrobně řekne, jak jej sestavit a nainstalovat.

Zavedení jádra je však jiný příběh. Většina moderních distribucí používá počáteční obraz RAMdisku, který obsahuje spoustu ovladačů pro hardware potřebný pro spuštění zbytku jádra (blokování zařízení, souborové systémy, sítě atd.). Tento proces tento obrázek nevytvoří. V závislosti na tom, co musíte udělat (co dělat musíte udělat?), můžete použít stávající nebo vytvořit nový pomocí svého distribučního toolchainu. Měli byste zkontrolovat dokumentaci na update-initramfs .

Existují však i jiné problémy. Pomocí standardního toolchainu nemůžete zkompilovat jádro pro jinou architekturu nebo podarchitekturu. Všimněte si, že v některých případech ani jádra zkompilovaná na konkrétním typu x86 boxu nebudou fungovat na určitých jiných typech x86 boxů. Vše závisí na kombinaci dílčích architektur a konfiguraci jádra. Kompilace napříč architekturami (např. sestavení jádra ARM na počítači x86) je zcela vyloučena, pokud nenainstalujete vhodný křížový kompilační toolchain.

Související:Linux – ztratím soubory, když vyprázdním mezipaměť (echo 3> /proc/sys/vm/drop_caches)?

Pokud se však pokoušíte zachránit jinou instalaci nebo počítač, může být záchranný disk užitečnější než vytvoření takového vlastního jádra.

Ještě jedna věc:pokud se pokoušíte vytvořit jádro pro jiný počítač, který se spouští, má stejnou architekturu jako ten, na kterém kompilujete, a běží na něm Debian nebo OS podobný Debianu (Ubuntu se počítá), můžete nainstalovat kernel-package balíček (sudo aptitude install kernel-package ). Poté rozbalte jádro cd do kořene zdrojového stromu a řekněte:

CONCURRENCY_LEVEL=$(grep -c processor /proc/cpuinfo) \
sudo make-kpkg --initrd binary-arch

Tím se aplikují potřebné záplaty, nakonfiguruje se jádro, sestaví se a zabalí se jako balíček .deb (ve skutečnosti několik balíčků). Vše, co musíte udělat, je nainstalovat do cílového systému a je hotovo.


Linux
  1. Jak nainstalovat a používat Flatpak v Linuxu

  2. Instalace a nastavení Grafana v linuxu

  3. Co dělat po instalaci Arch Linuxu?

  1. Jak nainstalovat a otestovat Ansible na Linuxu

  2. Jak nainstalovat a používat Traceroute v Linuxu

  3. Jak velká velikost je potřeba při kompilaci linuxového jádra?

  1. Jak nainstalovat Elasticsearch a Kibana na Linux

  2. Linux – konfigurace, kompilace a instalace vlastního linuxového jádra?

  3. Ukuu Kernel Manager – Instalace a upgrade linuxových jader v Ubuntu