Selbst erstellter Linux-Kernel mit Clang

Erstellen Sie den Linux-Kernel selbst mit clang. Die Methode ist zuvor geschrieben. Sie entspricht fast der Erstellung mit gcc. clang verwendet die im vorherigen Beitrag Installierte.

Umgebung

Vorbereitung

Behalten Sie es in Ihrem PFAD, damit Sie den Befehl clang verwenden können.

% export PATH=(somewhere)/bin:$PATH

Holen Sie sich die Quelle, stellen Sie sie bereit und patchen Sie sie.

% wget https://kojipkgs.fedoraproject.org//packages/kernel/5.4.16/200.fc31/src/kernel-5.4.16-200
.fc31.src.rpm
% mkdir files
% cd files
% rpm2cpio ../kernel-5.4.16-200.fc31.src.rpm |cpio  -id
% tar Jxf  linux-5.4.tar.xz
% cd linux-5.4
% xz -dc ../patch-5.4.16.xz  | patch -p1
% for i in `ls ../*patch`;do;patch -p1 < $i;done

Bauen

Holen Sie sich die .config-Vorlage und erstellen Sie oldconfig.

% cp ../kernel-x86_64-fedora.config .config
% yes "" | make CC=clang oldconfig

Führen Sie nun menuconfig aus und erstellen Sie dann. Deaktivieren Sie "Kernel-Hacking-> Überprüfungen zur Kompilierungszeit und Compiler-Optionen-> Informationen zum BTF-Typ generieren".

% make CC=clang menuconfig
% make -j12 CC=clang deb-pkg LOCALVERSION=-my KDEB_PKGVERSION=1

Installation

% cd ..
% su
# dpkg -i linux-image-5.4.16-my_1_amd64.deb linux-headers-5.4.16-my_1_amd64.deb

Bonus

Nach dem Neustart und dem Booten mit dem neuen Kernel wird in /var/log/kern.log der folgende Wortlaut angezeigt:

Feb  1 19:08:49 localpc kernel: [    0.000000] Linux version 5.4.16-my (tekito2@my-desktop3) (clang version 9.0.0 (tags/RELEASE_900/final)) #1 SMP Sat Feb 1 18:20:36 JST 2020

Recommended Posts

Selbst erstellter Linux-Kernel mit Clang
Holen Sie sich die neueste Linux-Kernel-Version mit ArchLinux
Informationen zu Linux-Kernelparametern
Kernel-Methode mit Python
Linux (Lubuntu) mit OneMix3S
Überprüfen Sie die Linux-Kernelversion
Linux Kernel Release 5.x (3/4)
Linux Kernel Release 5.x (4/4)
Linux Kernel Release 5.x (1/4)
Kernel-Regression nur mit Numpy
Linux Kernel Build für DE10nano
Spielen Sie mit Linux-Partitionen herum
Deep Kernel Learning mit Pyro
Linux am schnellsten mit AWS lernen
Verwenden Sie WDC-433SU2M2 mit Manjaro Linux
[LINUX-Kernel neu erstellen] Upgrade (4.18.0 → 5.8.8)
Bereiten Sie die Pipenv-Umgebung mit Amazon Linux 2 vor
Dokumentation zum Linux-Kernel-Speichermodell
Linux-Kernel, sein 29-jähriger Verlaufsbericht
[Linux] Betriebssystemwiederherstellung mit Wiederherstellungsbefehl
Probieren Sie den Linux-Kernel-Sperrmechanismus aus
[Linux] [Kernelmodul] Erstellen Sie kthread im Kernelmodul
Spielen Sie mit Linux-Partitionen herum ~ Fortsetzung ~
Quellanalyse von Linux (Kernel): Systemaufruf
Verwenden Sie einen benutzerdefinierten Kernel mit WSL2
Betreiben Sie den Linux-Netzwerk-Namespace mit Go