Benötige ich einen Framebuffer-Treiber für ein minimales CLI-System ohne X?

Benötige ich einen Framebuffer-Treiber für ein minimales CLI-System ohne X?

Ich habe vor Kurzem auf meinem Apple Macbook-Laptop ein Linux-System von Grund auf neu erstellt. Allerdings hatte ich Schwierigkeiten, die Grafikhardware zu verstehen und herauszufinden, welche Kerneltreiberoptionen ich aktivieren muss.

Das LFS-System ist (derzeit) ein ziemlich minimales System, das in Bash bootet, aber weder das X Window-System noch eine DE hat. Der Laptop ist ein Macbook 2,1, das einen Intel GMA 950-Grafikchip enthält. Ich habe den meiner Meinung nach geeigneten Treiber im Kernel für diese GPU aktiviert, nämlich den i915-Treiber. Wenn ich jedoch nicht auch einige andere Optionen in Bezug auf „Framebuffer-Geräte“ aktiviere (die genauen Konfigurationsoptionen muss ich noch ermitteln), wird während des Bootens nichts auf dem Bildschirm gedruckt (obwohl der Bildschirm ein paar Mal einen anderen Schwarzton annimmt).

Kann mir jemand erklären, was hier vor sich geht? Wenn dieser i915-Treiber der richtige für die GPU ist, sollte das dann nicht ausreichen, damit das System die Terminalausgabe auf dem Bildschirm ausdrucken kann? Wenn nicht, was brauche ich dann außer dem i915-Treiber noch?

Auf demselben Laptop habe ich auch Trisquel installiert. Der Start in die LXDE-Umgebung funktioniert problemlos. Laut lsmodist der i915-Treiber der richtige und der Kernel scheint keine Framebuffer-bezogenen Treiber zu laden.

Ich bin verwirrt!

Antwort1

Ich habe selbst einige Nachforschungen dazu angestellt und die kurze Antwort scheint zu sein: Ja – ich brauche einen Framebuffer, um die Konsole zu aktivieren.

Laut dem Wikipedia-Artikel über dieLinux-KonsoleDie Konsole verfügt über zwei Modi: Textmodus und Framebuffer. Aus der Beschreibung geht hervor, dass der Textmodus recht einfach ist und möglicherweise nicht mit jeder Grafikhardware funktioniert. Bleibt also noch die Framebuffer-Konsole, die offensichtlich einen Framebuffer benötigt, um zu funktionieren.

Ich habe die Ausgabe lsmodfür die Kernelkonfiguration, in der es bei mir funktioniert hat, in eine Datei kopiert. Beim Weiterleiten an wird Folgendes angezeigt grep fb:

$ less lsmod_LFS | grep fb
fbcon                  49152  70
bitblit                16384  1 fbcon
fbcon_rotate           16384  1 bitblit
fbcon_ccw              16384  1 fbcon_rotate
fbcon_ud               20480  1 fbcon_rotate
fbcon_cw               16384  1 fbcon_rotate
softcursor             16384  4 fbcon_ud,fbcon_cw,fbcon_ccw,bitblit
cfbfillrect            16384  1 drm_kms_helper
cfbimgblt              16384  1 drm_kms_helper
fb_sys_fops            16384  1 drm_kms_helper
cfbcopyarea            16384  1 drm_kms_helper
fb                     65536  8 fbcon_ud,fbcon_cw,fbcon_ccw,bitblit,softcursor,i915,fbcon,drm_kms_helper
fbdev                  16384  2 fb,fbcon

Es wurde also die Framebuffer-Konsole (fbcon) verwendet.

Die nächste Frage ist jedoch, warum ich das fbcon-Modul nicht mehr laden kann (was der Grund dafür zu sein scheint, dass nichts auf meinem Bildschirm gedruckt wird).

verwandte Informationen