Kernel-Odysee. Ich bin angekommen, habe aber viele Fragen.

Welches Modul/Treiber für welche Hardware, Kernel compilieren...
Antworten
Benutzeravatar
Lohengrin
Beiträge: 3227
Registriert: 29.08.2004 00:01:05
Wohnort: Montsalvat

Kernel-Odysee. Ich bin angekommen, habe aber viele Fragen.

Beitrag von Lohengrin » 12.09.2005 17:29:12

Ich habe auf meinem Acer Travelmate 508T Etch installiert. Nun wollte ich noch einen passenden Kernel bauen. Installiert ist 2.6.11-1-686. Also habe ich die kernel-source-2.6.11 (die es nur bei sid gibt) installiert und mit make menuconfig ein paar Dinge geändert, sowie im Makefile die Extraversion verändert. Danach habe ich das Ding mit make-kpkg --initrd kernel_image versucht zu kompilieren. Nach langem Getue brach es mit Fehlermeldung ab.
Dann habe ich .config aus /boot/config-2.6.11-1-686 übernommen. Auch da gab es diese Fehlermeldung.

Dann habe ich mir von http://www.kernel.org den 2.6.13.1 gesaugt. Das Verändern war etwas mühselig, da ich nicht weiß, was mein Gerät so für Sachen braucht. Interessant ist zB, dass vesafb nicht mehr Modul ist, und daher erst einmal gar nicht drin ist.
Wenn ich nun mit dem Kernel starte, habe ich kein Bild. Es funktioniert aber im Blindflug.
Dann habe ich in /etc/mkinitrd/modules alles eingetragen, was beim 2.6.11-1-686 laut lsmod geladen ist (in umgekehrter Reihenfolge wie es lsmod anzeigt, sonst ist dma nicht aktiv). Mit dieser initrd habe ich Bild, aber es kam beim Herstellen der initrd der Hinweis, dass die Module cfbcopyarea cfbimgblt cfbfillrect nicht gefunden worden sind. Was sind das für Module? Laut lsmod werden die von vesafb verwendet. Sind die jetzt auch im Kernel eingebunden? Wo hätte ich die in 2.6.11 (ab,aus)wählen können?
Durch TryAndError habe ich herausgefunden, das es hinreichend ist, in /etc/mkinitrd/modules nur fbcon anzugeben. Was ist denn jetzt mit dem vesafb? Der sollte doch im Kernel fest eingebaut sein. Warum wird der nicht benutzt?

Zu guter letzt habe ich mir den 2.6.8-2-686 und die kernel-source-2.6.8 installiert, um damit herumzuspielen. Leider bricht sowohl make menuconfig als auch make-kpkg mit Fehlermeldung ab.

Muss ich den 2.6.13.1 von Grundauf konfigurieren, dh mir selbst überlegen, welche Module ich brauche?
Oder kann ich eine Haufen Module erzeugen, wovon ich das meiste nie brauche, aber wo das, was ich brauche, dabei ist, wobei der Haufen so klein ist, dass das Kompilieren nicht mit Fehlern abbricht?

Dann ist da noch die FATALe Meldung im Boot, dass rtc nicht eigebunden werden könne, weil Ich keine Hardwareclock hätte. Was soll das?


Bin verwirrt...

Benutzeravatar
herrchen
Beiträge: 3257
Registriert: 15.08.2005 20:45:28
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Berlin

Re: Kernel-Odysee. Ich bin angekommen, habe aber viele Frage

Beitrag von herrchen » 12.09.2005 18:05:24

Lohengrin hat geschrieben:Nach langem Getue brach es mit Fehlermeldung ab.
[...]
Auch da gab es diese Fehlermeldung.
hmm. hast du die aus religiösen gründen nicht gepostet?
Dann ist da noch die FATALe Meldung im Boot, dass rtc nicht eigebunden werden könne, weil Ich keine Hardwareclock hätte. Was soll das?
device drivers --> character devices --> <*> enhanced real time clock support

herrchen

Benutzeravatar
Lohengrin
Beiträge: 3227
Registriert: 29.08.2004 00:01:05
Wohnort: Montsalvat

Re: Kernel-Odysee. Ich bin angekommen, habe aber viele Frage

Beitrag von Lohengrin » 12.09.2005 19:12:18

herrchen hat geschrieben:
Lohengrin hat geschrieben:Nach langem Getue brach es mit Fehlermeldung ab.
[...]
Auch da gab es diese Fehlermeldung.
hmm. hast du die aus religiösen gründen nicht gepostet?
<edit20050913>Ich wusste nicht, wie man die Standardfehlerausgabe in eine Datei umleitet. Jetzt weiß ich es.
Beim make-kpkg des 2.6.11 kommt

Code: Alles auswählen

drivers/char/generic_serial.c:870: warning: 'restore_flags' is deprecated (declared at include/linux/interrupt.h:78)
drivers/char/generic_serial.c:876: warning: 'cli' is deprecated (declared at include/linux/interrupt.h:65)
drivers/char/generic_serial.c:888: warning: 'restore_flags' is deprecated (declared at include/linux/interrupt.h:78)
make[3]: *** [drivers/char/generic_serial.o] Fehler 1
make[2]: *** [drivers/char] Fehler 2
make[1]: *** [drivers] Fehler 2
make[1]: Verlasse Verzeichnis »/usr/src/kernel-source-2.6.11-herbert«
make: *** [stamp-build] Fehler 2
Nach make menuconfig und auch nach make-kpkg beim 2.6.8 kommt

Code: Alles auswählen

  HOSTCC  scripts/kconfig/mconf.o
scripts/kconfig/mconf.c:91: error: static declaration of 'current_menu' follows non-static declaration
scripts/kconfig/lkc.h:63: error: previous declaration of 'current_menu' was here
make[1]: *** [scripts/kconfig/mconf.o] Fehler 1
make: *** [menuconfig] Fehler 2
</edit>
herrchen hat geschrieben:
Dann ist da noch die FATALe Meldung im Boot, dass rtc nicht eigebunden werden könne, weil Ich keine Hardwareclock hätte. Was soll das?
device drivers --> character devices --> <*> enhanced real time clock support
Ok. Dann sagt er mir nicht mehr, dass ich keine Hardwareclock habe. Er lädt das Modul nicht, und merkt gar nicht, dass ich keine Hardwareclock habe. :twisted:
Bisher habe ich mich nicht daran gestört, aber vielleicht hat es etwas damit zu tun, dass sich meine Uhr massiv verstellt, nämlich manchmal um mehrere Minuten innerhalb von Stunden.


<edit20050913>Seit heute sieht die Welt völlig anders aus. Der 2.6.12-1-686 ist in etch. Ich werde an dem herumbasteln.</edit>

Antworten