Kernel kompilieren-was vergesse ich immer?

Welches Modul/Treiber für welche Hardware, Kernel compilieren...
Antworten
bernostern
Beiträge: 121
Registriert: 19.10.2003 13:21:12

Kernel kompilieren-was vergesse ich immer?

Beitrag von bernostern » 02.04.2006 13:00:39

Hallo,

Es ist jedesmal das gleiche: Wenn ich einen Kernel kompiliere, dann bootet das System nicht mehr. Da ich jetzt auf nem Laptop arbeite sehe ich nicht mal mehr die Fehlermeldung, aber ich denke es ist wie immer "Kernel panic , can't mount root fs".

Was vergesse ich immer bei der Kernel Konfiguration?

Ich fahre EXT3 und binde deshalb das EXT3 Filesystem immer direkt in den Kernel ein. Was brauch ich noch unbedingt damit er hochfährt?
Als Ausgangspunkt meiner .config nehme ich immer die .config, die nach einer frischen Sarge Installation da ist. Die sollte doch funtkionieren oder?

Ich erstelle dann immer ein Kernel Package wie auch in Tipps&Tricks.

Thanks,
Bern

Benutzeravatar
bse
Beiträge: 468
Registriert: 19.03.2006 19:58:00
Lizenz eigener Beiträge: MIT Lizenz

Beitrag von bse » 02.04.2006 13:06:28

Als Ausgangspunkt meiner .config nehme ich immer die .config, die nach einer frischen Sarge Installation da ist. Die sollte doch funtkionieren oder?
Bei dem Kernel sind alle IDE und SATA Treiber als Modul drin. Also entweder musst du die initrd verwenden oder die nötigen Module fest rein bauen.

blan
Beiträge: 242
Registriert: 20.01.2006 20:05:56

Beitrag von blan » 02.04.2006 13:57:02

die alte .config von sarge geht aber doch glaub nur wenn der kernel die gleiche version hat? und wieso siehst du die fehlermeldung nicht, weil du ein notebook hast?

mfg blan

bernostern
Beiträge: 121
Registriert: 19.10.2003 13:21:12

Beitrag von bernostern » 02.04.2006 15:36:24

Hi,

danke für eure Antworten!
Bei dem Kernel sind alle IDE und SATA Treiber als Modul drin
Ok. Was das für Module sind, kann man wahrscheinlich nicht so pauschal sagen oder? SATA hab ich nicht, es ist ein Intel GM855 Chipsatz. Wie kann man denn rausfinden, was man da genau für Treiber braucht?
und wieso siehst du die fehlermeldung nicht, weil du ein notebook hast?
Ich muss mit vga=771 starten, sonst sehe ich gar nichts. Und ich denke, dass die Fehlermeldung da steht bevor das vga=771 greift=> schwarzer Bildschirm, es tut sich nix mehr.

Danke und schönes RestWoE,
Bern

Benutzeravatar
oops
Beiträge: 19
Registriert: 26.08.2003 13:37:31

Beitrag von oops » 02.04.2006 15:57:36

Hallo bernostern,

angenommen Du kompilierst den Kernel nach Debian-Manier mit make-kpkg, dann solltest Du die Option --initrd nicht vergessen (wenn Du die .config der originalen Debian-Pakete verwendest).

Das hat den Vorteil, daß die benötigten Module geladen werden können auch ohne, daß Du sie fest in den Kernel einkompilierst (weil die Module dann in einer Initial RAM-Disk liegen).

Auf der Console würde das dann so aussehen:

Code: Alles auswählen

make-kpkg ... --initrd ...
Als Alternative könntest Du versuchen, in den Kernel-Optionen unter Device Drivers -> ATA/ATAPI/MFM/RLL support folgendes fest einzukompilieren:

Code: Alles auswählen

ATA/ATAPI/MFM/RLL support
Enhanced IDE/MFM/RLL disk/cdrom/tape/floppy support
Include IDE/ATA-2 DISK support
Generic PCI IDE Chipset Support
Wünsche viel Glück 8)
Nur tote Fische schwimmen mit dem Strom.

bernostern
Beiträge: 121
Registriert: 19.10.2003 13:21:12

Beitrag von bernostern » 02.04.2006 16:51:22

Hi,

er bootet jetzt. Ich habe noch folgende Treiber in den Kernel kompiliert(aus nem anderen Thread):

Code: Alles auswählen

CONFIG_IDE=y
CONFIG_BLK_DEV_IDE=y
CONFIG_BLK_DEV_IDEDISK=y
CONFIG_IDE_GENERIC=y 
@oops: Das sind Optionen die du meintest, gell?!

[Edit:] Anzeigeprobleme haben sich erledigt, hatte Framebuffer auch noch vergessen


Jetzt rennt er der Acer...:-)

Grüße,
Bern

Benutzeravatar
oops
Beiträge: 19
Registriert: 26.08.2003 13:37:31

Beitrag von oops » 02.04.2006 17:52:49

Ja ich meinte Optionen. Ich habe die Bezeichnungen angegeben, wie man sie zum Beispiel bei make menuconfig lesen kann. Deine Bezeichnungen waren die Variablen, wie sie in der .config stehen. Letztendlich meinten wir beide das Gleiche :D

Wenn Dein Bildschirm schwarz bleibt, könntest Du versuchen, den Kernel mit Framebuffer Support zu kompilieren.

Device Drivers -> Graphics Support -> Support for frame buffer devices

... und dann einfach den passenden Chip wählen.


[edit]
Da war ich wohl zu langsam mit der Antwort :lol:
Nur tote Fische schwimmen mit dem Strom.

Benutzeravatar
bse
Beiträge: 468
Registriert: 19.03.2006 19:58:00
Lizenz eigener Beiträge: MIT Lizenz

Beitrag von bse » 02.04.2006 18:23:07

Wenn du nen Intel Chipsatz hast würd ich auch den PIIX IDE-Treiber reinmachen, nicht nur den generic.

rendegast
Beiträge: 15041
Registriert: 27.02.2006 16:50:33
Lizenz eigener Beiträge: MIT Lizenz

Beitrag von rendegast » 02.04.2006 18:51:44

Hallo,

@oops:
Debian hat den Kernel gepatcht sodass VESA als Modul gebaut wird, Wenn die debian-config uebernommen wird ist darauf zu achten, dass VESA dann nicht abgewaehlt wird.

Ganz allgemein:
Ausser VESA solltest Du keinen fb-Treiber bauen wenn Du nicht nur unter diesem Framebuffer arbeitest. Die X11-Treiber verweigern oft die Arbeit wenn sie das Vorhendensein eines fb-Treibers feststellen. (Meine Meinung, aber gesehen bei nvidiafb und savagefb)
Und wenn Du bisher nicht eine Kernel-command-line ala '......video=nfidiafb.......' hattest, hast Du es sowieso nicht verwendet.

Benutzeravatar
oops
Beiträge: 19
Registriert: 26.08.2003 13:37:31

Beitrag von oops » 02.04.2006 19:06:37

rendegast hat geschrieben:Debian hat den Kernel gepatcht sodass VESA als Modul gebaut wird, Wenn die debian-config uebernommen wird ist darauf zu achten, dass VESA dann nicht abgewaehlt wird.

Die X11-Treiber verweigern oft die Arbeit wenn sie das Vorhendensein eines fb-Treibers feststellen. (Meine Meinung, aber gesehen bei nvidiafb und savagefb)
Und wenn Du bisher nicht eine Kernel-command-line ala '......video=nfidiafb.......' hattest, hast Du es sowieso nicht verwendet.
Wie kommst Du darauf? Ich kann's jedenfalls nicht bestätigen. Ich habe Kernel 2.6.16 aus unstable installiert (linux-image-2.6.16-1-686). Und ein

Code: Alles auswählen

lsmod | grep radeon
liefert mir:

Code: Alles auswählen

radeon                 95904  1
drm                    61972  2 radeon
radeonfb               92032  1
i2c_algo_bit            8136  1 radeonfb
i2c_core               19312  2 radeonfb,i2c_algo_bit
Und X funktioniert bei mir trotzdem (xorg aus unstable).

Und dem Kernel brauche ich mit video=... auch keine Parameter übergeben. Das RadeonFB - Modul liegt in der InitRD und wird automatisch beim booten mit geladen.

Dadurch ändert sich die Auflösung in der Console natürlich erst nach dem Laden des Moduls und nicht sofort mit dem Laden des Kernels. Aber trozdem funktioniert es - hohe Auflösung auf der Console und keine Probs mit Xorg.
Nur tote Fische schwimmen mit dem Strom.

rendegast
Beiträge: 15041
Registriert: 27.02.2006 16:50:33
Lizenz eigener Beiträge: MIT Lizenz

Beitrag von rendegast » 02.04.2006 19:17:19

oops hat geschrieben:Und X funktioniert bei mir trotzdem (xorg aus unstable)
das freut mich fuer Dich!
und ups: im Standard-debian gibt es gar kein nvidiafb und savagefb, tschuldigung! Dann wird fb und X11 zusammen allgemein doch funktionieren, nochmal tschuldigung!
Das mit dem gepatchten Kernel-VESA-Modul von debian stimmt aber.

Antworten