Linux-Tablet: Der eigene Linux-Kernel

October 31, 2018 05:22

Linux - die Kernel-Küche?

Einen eigenen Kernel kompilieren und installieren… Das ist eigentlich ein Thema für sich - deshalb hier die Kurzversion: Entweder ihr werdet anstelle der folgenden Schritte diese Dateien verwenden oder euch einen eigenen Kernel zusammenbauen müssen.

  1. linux-headers-4.19.0-rc5+pwm-fix_4.19.0-rc5+pwm-fix-1_amd64.deb
  2. linux-image-4.19.0-rc5+pwm-fix_4.19.0-rc5+pwm-fix-1_amd64.deb

Letzteres erfordert Zeit, Geduld, Festplattenplatz und man hat am Ende wahrscheinlich nur einen neueren Kernel (Der dann aber wahrscheinlich schnelleres WLAN beinhaltet. Zum jetzigen Zeitpunkt wird noch am Treiber und entsprechenden Kernelmodul gearbeitet).

Linux - backe, backe Kernel…

Okay, du willst den Kernel also doch selbst kompilieren? Du brauchst zunächst Linux (evtl. in einer VirtualBox-Umgebung) und viel Festplattenplatz: ca. 40GB - 60GB, die während dem Erstellen gefüllt werden können. Bevor es losgeht musst du die folgenden Pakete mit diesem Befehl installieren:

sudo apt install linux-source build-essential kernel-package libssl-dev

Danach muss man den Kernel Quellcode von kernel.org in der gewünschten Version herunterladen. Dabei ist eine spätere Version (4.19+) zu bevorzugen, da ansonsten die Patches für den WiFi/Bluetooth Chip fehlen.

Anschließend ist alles zu entpacken und die .config Datei zu erstellen. Hierfür kopiert man einfach den Inhalt einer der “config-*” unter /boot in eine neue Datei mit dem Namen “.config”. Damit der neue Kernel nun mit dieser Konfiguration klarkommt muss noch dieser Befehl ausgeführt werden (Weite Tipps gibts hier):

yes "" | make oldconfig

Nun ist die .config Datei wie folgt zu modifizieren (mehr Informationen hier):

CONFIG_LOCALVERSION="+pwm-fix"
CONFIG_BT_RTL=m
CONFIG_PWM_LPSS=y
CONFIG_PWM_LPSS_PCI=y
CONFIG_PWM_LPSS_PLATFORM=y
CONFIG_RTL8723BS=m

Anschließend alles mit…

make -j[Anzahl deiner CPUs] deb-pkg

kompilieren. Auf meinem 12 Kerner hat dies ca. 30 Minuten gedauert. Bei einem 4 Kerner dauert es dementsprechend 3x so lange.

Linux- den eigenen Kernel installieren

Nachdem der Kernel kompiliert oder heruntergeladen wurde kann es jetzt losgehen mit der Einrichtung des Systems. Bitte überprüfe, dass du noch ausreichend viel Akku-Kapazität zum ersten Start und kopieren der Dateien hast! Ansonsten kann es passieren, dass das frisch Installierte System zerschossen wird! Um das System nun zu starten kann man normal den Power Button drücken - wenn man allerdings wieder in der Grub Übersicht ist, muss man auch hier wieder den ersten Eintrag bearbeiten und zu der Stelle wo quiet splash steht navigieren. Diese gilt es nun wieder durch nomodeset xforcevega zu ersetzen. Ggf muss man dies wieder öfters machen (…). Das Menü schaut jetzt ungefähr so aus (ich hatte bereits einen eigenen Hintergrund eingebaut…):

Installed-GRUB

Wenn Linux nun das erste mal gestartet ist und ihr den Kernel (die .deb Dateien vom Download oder die vom Kompilieren) irgendwie aufs Tablet bekommen habt (USB-Stick, Dateifreigabe, (S-)FTP(-S) oder was anderes Exotisches), müsst ihr diese nun installieren. Dazu öffnet ihr das Terminal und navigiert wieder mit ls und cd zu dem Ort, wo ihr die Dateien abgelegt hat. Zum Installieren verwendet ihr nun diese Befehle. Achtung! Nach ausführen des ersten Kommandos MÜSST ihr den Rest auch durchführen, da das System sonst nicht mehr in der Lage ist zu starten (…)!

  1. Verwende einfach die Taste TAB um das Kommando vervollständigen zu lassen:
  2. sudo apt remove linux-image-[TAB] Der erste Befehl sollte also irgendwie so aussehen: sudo apt remove linux-image-4.15.0-34-generic und mit Enter alles bestätigen.
  3. Verwende einfach die Taste TAB um das Kommando vervollständigen zu lassen: sudo apt remove linux-headers-[TAB] Der nächste Befehl sollte also irgendwie so aussehen: sudo apt remove linux-headers-4.15.0-34-generic und mit Enter alles bestätigen.
  4. Nun installiert ihr den neuen Kernel mit sudo apt install ./linux-headers-4.19.0-rc5+pwm-fix_4.19.0-rc5+pwm-fix-1_amd64.deb ./linux-image-4.19.0-rc5+pwm-fix_4.19.0-rc5+pwm-fix-1_amd64.deb

Vorsicht - jetzt wirds technisch! Mit den obrigen Kommandos habe ich…

  1. Den Standard-Kernel von Linux Mint mit dessen Header entfernt
  2. Indirekt alle Kernel Updates deaktiviert (das Paket linux-image-generic wird automatisch mit entfernt)
  3. Den eigenen Kernel mit Header installiert

Jetzt war / ist die neue Linux Installation fast fertig. Theoretisch könnt ihr jetzt das System neu starten und nutzen - jedoch wird zum Zeitpunkt des Schreibens dieses Artikels das Bluetooth noch nicht richtig funktionieren (ein entsprechendes Update ist bereits in Arbeit). Wie ihr das ans Laufen kriegt seht ihr im folgenden Artikel.