Ich gebs auf---Kernel 2.6 kompilieren

Welches Modul/Treiber für welche Hardware, Kernel compilieren...
Antworten
Boardercrime (BC)
Beiträge: 17
Registriert: 07.10.2004 09:25:31

Ich gebs auf---Kernel 2.6 kompilieren

Beitrag von Boardercrime (BC) » 09.10.2004 00:46:56

Hallo
Versuche seit geraumer Zeit den Kernel 2.6.7 zu kompilieren, aber was ich auch tue es kommt immer eine Fehlermeldung.
Den 2.6.8 kann ich zwar kompilieren aber bei einem Start kommt immer ein Kernel Panic...Arghhhhh !!!!
Ich benutze diese Anleitung:
http://www.desktop-linux.net/debkernel.htm

Okay der Kernel 2.6.7 lauft mit einem apt-get install kernel-image-2.6.7 aber da ich eine versch****e ATI Karte habe und ich gerne 3D Beschleunigung geniessen moechte muss ich ja den Kernel zuerst kompilieren.
Hat sonst noch jemand Probleme mit dem kompilieren ? Verwende uebrigens Debian Sarge....
:x

Benutzeravatar
Incom
Beiträge: 417
Registriert: 09.11.2003 13:35:27
Lizenz eigener Beiträge: GNU General Public License
Wohnort: Paderborn
Kontaktdaten:

Beitrag von Incom » 09.10.2004 22:33:11

Probiers doch mal mit: http://www.debianforum.de/wiki/?page=Ke ... stem+bauen

Was für Fehlermeldungen bekommst du denn?

Mit der ATI-Karte solltest du dir keine großen Hoffnungen machen, ich habe meine ATI Radeon 9200SE nie zur 3d unterstützung überreden können

Gruß,
Incom
Du suchst eine Schritt-für-Schritt Anleitung? Dann schau im Wiki nach!

Benutzeravatar
KBDCALLS
Moderator
Beiträge: 22455
Registriert: 24.12.2003 21:26:55
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Dortmund
Kontaktdaten:

Beitrag von KBDCALLS » 09.10.2004 23:27:10

Eigentlich ist ein Kernel 2.6 leichter zu konfigurieren als 2.4

Hast du denn irgenwas besonders in deinem System ?

Grundsätzlich kann man sagen wenn ich mit

Code: Alles auswählen

make defconfig
und mit

Code: Alles auswählen

make-kpkg kernel-image
kompiliere erhalte ich erst einmal ein Kernelimage als DebianPaket welches ohne Initrd auskommt.

Oder wenn der Kernel so konfiguriert wird das eine Initrd gebraucht wird dann muß der make-kpkg Aufruf anders ausehen.

Code: Alles auswählen

 make-kpkg --initrd kernel-image

Code: Alles auswählen

make help
gibt eine Hilfe des Kernel Makefiles aus

Benutzeravatar
Homeless1
Beiträge: 414
Registriert: 02.10.2003 19:34:20
Wohnort: /proc/net/

Beitrag von Homeless1 » 10.10.2004 00:09:14

nicht verzweifeln ich hatte es auch erst beim 7 mal zum laufen gebracht. Mein Tipp lies die tipps genau durch dann funktioniert es hab den 2.6.9-rc1 laufen ohne probleme.
Use Linux

Benutzeravatar
jack herer
Beiträge: 94
Registriert: 28.07.2003 19:48:17

Beitrag von jack herer » 10.10.2004 13:58:47

Bei mir funktioniert die 3D-Unterstützung für die ATI Karte ohne Probleme mit dem 2.6.8er Kernel aus unstable.
Das Modul heißt radeon. Zusätzlich mußt Du dann noch das AGP-Modul für dein Board laden, bei mir ist das sis_agp. Ausserdem muß das Modul agpgart geladen sein, das sollte aber automatisch passieren wenn Du das AGP-Modul für dein Board lädst...

Anschliessend musst Du nur noch den richtigen Treiber in Deine XF86Config-4 oder xorg.conf eintragen

Code: Alles auswählen

Section "Device"
	Identifier  "Card0"
	Driver      "radeon"
	VendorName  "All"
	BoardName   "All"
	Option 	    "AGPMode" "4"
	Option 	    "AGPFastWrite" "false"
	Option      "EnablePageFlip" "true"
        Option     "sw_cursor" "false"
        Option     "NoAccel" "false"
EndSection
und dann sollte Dir glxinfo:

Code: Alles auswählen

direct rendering: Yes
ausgeben.

Wenn Du Probleme beim Konfigurieren des Kernels hast, dann kopiere Dir doch die Konfiguration von einem 2.6er Debian Kernel, die liegt in /boot, nach /usr/src/linux/.config. Dann lass am besten einmal make oldconfig laufen und bau den Kernel. Wenn der Kernel dann bootet, kannst Du die Konfiguration nochmal anpassen...

Hamstaman
Beiträge: 77
Registriert: 21.09.2004 19:50:25

Beitrag von Hamstaman » 10.10.2004 18:59:24

HiHo,

Du musst normalerweise keinen eigenen Kernel kompilieren.
Alles was du brauchst ist im normalen Kernel-Image von Debian drin.
jedenfalls für die rudimentäre 3D-Unterstützung von Xfree oder Xorg.

Nimm besser gleich die ATI-Treiber, die sind garnicht mehr soooo schlecht.
Du brauchst dann aber Kernel-Sourcen, -Header, -Tree und -Package

Der Einfachheit wegen kompiliere ich aber auch immer den Kernel.
Eine geniale Anleitung und ein Installer findest du Da:

http://xoomer.virgilio.it/flavio.stanch ... aller.html

Also mit dieser Anleitung habe sogar ich es auf Anhieb geschafft.
Was da fehlt, ist die Anweisung wie man den KDM (XDM,GDM) beendet:
Stoppen geht so.

Code: Alles auswählen

 /etc/init.d/kdm stop
kdm gegebenfalls durch xdm,gdm ersetzen. (für mich als Neuling war das ein echtes Problem ;) )

Ich hab dann noch bissel mit Xorg rumexperimentiert. Mit Xorg 6.7 ging es genauso wie bei Xfree 4.3.
Mit Xorg 6.8. bin ich aber kläglich gescheitert.
2D ging (ein wenig :D ) 3D sofort Rechner Absturz. ;( (jedenfalls mit mandrake 10.1- Kernel 2.6.8.1 - Xorg 6.8.1). Bei Debian warte ich mit den Xorg-experimenten noch was.
Also muss die echte Transparenz noch was warten. *grummel*

Hamstaman[/code]

Boardercrime (BC)
Beiträge: 17
Registriert: 07.10.2004 09:25:31

Beitrag von Boardercrime (BC) » 11.10.2004 11:33:15

Hmm,wahrscheinlich stimmt etwas mit meinen Memorybänken nicht, auf einer anderen Maschine klappt das kompilieren Problemlos.
Werde den Trick mit dem Radeon-Modul ausprobieren...Möchte wiedermal Enemy Territory zocken...

Boardercrime (BC)
Beiträge: 17
Registriert: 07.10.2004 09:25:31

Beitrag von Boardercrime (BC) » 11.10.2004 12:29:50

Leider klappt der Trick mit dem Radeon Modul nicht. Bei einem fglrxinfo kommt folgendes:

Xlib: extension "XFree86-DRI" missing on display ":0.0".
display: :0.0 screen: 0
OpenGL vendor string: Mesa project: http://www.mesa3d.org
OpenGL renderer string: Mesa GLX Indirect
OpenGL version string: 1.3 Mesa 4.0.4

Was läuft hier schief ?

Boardercrime (BC)
Beiträge: 17
Registriert: 07.10.2004 09:25:31

Beitrag von Boardercrime (BC) » 12.10.2004 09:28:22

Okay, hab irgenwo gelesen dass das Kernel-Modul Radeon nur 3d unterstützung für Ati-Karten bis Typ 9000 unterstützt, und da ich eine 9700 habe geht das nicht.
Hab schon etliche male mit Kernel 2.4.27 probiert die ati-treiber zu installieren, das .deb file das ich mittels alien konvertiert habe installiert ohne zu motzen, aber wenn ich dann den make.sh ausführe bringt er einen haufen Fehlermeldungen. Wenn ich danach das make_install.sh ausführe bringt er den Fehler "insmod flgrx.o not possible" oder so ähnlich...wieso muss das immer so verdammt umständlich sein, nvidia bringts doch auch auf die Reihe ?

Hamstaman
Beiträge: 77
Registriert: 21.09.2004 19:50:25

Beitrag von Hamstaman » 13.10.2004 04:45:47

HiHo,

Irgendeiner muss mal ne Lanze für ATI brechen!
Das bei NVIDIA alles besser wäre ist so nicht wahr.
Lies Dir mal die entsprechenden NVIDIA-Threads hier durch.

Zu Deinem Problem:
Das Deine selbstkompilierten Kernel nicht gehen ist wohl nicht ATIs Schuld.
Was hast du eigentlich für einen Chipsatz? Bei SIS gibt es Probleme mit Kerneln älter 2.6.5.
Hast Du Dir den Link in meinem oberen Post mal angeschaut?

http://xoomer.virgilio.it/flavio.stanch ... aller.html

Ich kopier mal die relevanten Teile hier rein und versuch zu erklären wie ich es bei mir dann anders gemacht habe.
apt-get install kernel-source-2.x.y
cd /usr/src
tar xjvf kernel-source-2.x.y.tar.bz2
cd kernel-source-2.x.y
cp /boot/config-2.x.y-flavour .config
make-kpkg --append-to-version "-flavour" --revision 2.x.y-z --config old configure
Ich mach das anders:
Ich installier mit synaptik oder aptitude die Kernelsourcen und alle Kernel-Sachen mit der gleichen Nummer. (also header, tree ... etc)
Dazu noch Kernel-Packages und Kernel-Builds (da aufpassen, aktuelle Version ist komisch bezeichnet! 2.6.3 unterversion steht dann irgendwo 2.6.8.1) Dann noch libqt3-mt-dev und xlibs-dev(oder so ähnlich eine lib mehr macht den Kohl auch nicht mehr fett) damit ich xconfig machen kann.
Dann mache ich konsole auf und mit "su" mich zum root.

Code: Alles auswählen

cd /usr/src
tar xjvf kernel-source-2.6.8.tar.bz2
ln -s kernel-source-2.6.8 linux
Der Link muss sein weil auch der ATI-Kram darauf zugreift

Code: Alles auswählen

cd linux
make mrproper
make-kpkg clean
Bestimmt zu sauber, aber ich hatte schon probs wenn ich es nicht so gemacht habe

Code: Alles auswählen

cp /boot/config-2.6.8-1-k7 .config # Nr. durch Deine erstzen
kwrite makefile  # oder Editor Deiner Wahl
Da gibt es eine Zeile: EXTRAVERSION=
da trägst du was ein. Bei mir steht da jetzt:
EXTRAVERSION=-20.hamsta
Den Namen des Kernelerstellers kannst Du auch noch anpassen (gehört sich so ;) )
speichern und weiter gehts

Code: Alles auswählen

make xconfig
Hier schmeiss ich nur Sachen raus wo ich mir absolut sicher bin. Also zB. Soundkarten und Netzwerkkarten die ich nicht habe. Und die grauenvollen OSS-Treiber die mein Soundsystem stören. Den Rest lasse ich, bis ich mehr weiss.
speichern und weiter. :D

Code: Alles auswählen

make-kpkg --initrd kernel_image modules_image
Da ich keine RevisionsNummer oder append-to-version mache musst Du bei jedem Mal das Makefile anpassen und da die VersionsNr. setzen. Sonst gibs Probleme. initrd ist wichtig weil sonst in dem kaum veränderten Kernel von Debian nix klappt. Vor allem weil ich mich nicht an das Filesystem traue.
Und der Kernel das alles in modulen hat.
Jetzt kannst du Kaffee kochen und trinken..... :D

Code: Alles auswählen

cd ..
dpkg -i kernel-image-2.6.8-20hamsta.deb #oder wie es bei dir heisst, tab taste hilft
für später noch die folgenden 2 files runterladen
http://xoomer.virgilio.it/flavio.stanch ... 14.1-2.dsc
http://xoomer.virgilio.it/flavio.stanch ... 1-2.tar.gz
aktuelle Version gibts bei stanchina s.O.
Diese nach /usr/src kopieren
dann noch die aktuelle Version der /etc/X11/config86-4 sichern.

jetzt kannst Du den neuen Kernel booten. dpkg sollte alles an die richtigen Stellen kopiert haben und den Bootloader angepasst haben.
Klappt bei mir problemlos
Nach dem reboot als root anmelden.
den eventuell automatisch startenden X beenden.

Code: Alles auswählen

/etc/init.d/kdm stop
oder gdm, xdm. je nachdem was du hast. ich hab inzwischen gar kein mehr.
Ich geh davon aus, daß du auch ohne X Internet hast.
(wenn nicht kann man das bestimmt auch unter X downloaden)
Als Editor nehm ich auf der Textkonsole den mc. Der ist für mich (als Linuxneuling) am einfachsten zu durchschauen.

Code: Alles auswählen

apt-get install mc
damit das script alles downloaden und umpacken kann brauchst du noch:

Code: Alles auswählen

apt-get install debhelper fakeroot rpm wget
jetzt direkt von stanchina kopiert:
dpkg-source -x fglrx-installer_3.14.1-2.dsc

Then cd into the newly created fglrx-installer-3.14.1 directory and run

fakeroot debian/rules binary

The build script will download the driver and the readme from the ATI site, then it will build the following packages in the parent directory:
fglrx-xxx-driver_3.14.1-2_i386.deb
fglrx-xxx-driver-dev_3.14.1-2_i386.deb
fglrx-xxx-kernel-src_3.14.1-2_i386.deb
fglrx-xxx-control-qt2_3.14.1-2_i386.deb
fglrx-xxx-control-qt3_3.14.1-2_i386.deb (only for XFree86 4.3)
fglrx-xxx-sources_3.14.1-2_i386.deb
("xxx" is your XFree86 version)
Jetzt alle Pakete installieren:

Code: Alles auswählen

cd ..
dpkg -i fglrx-xxx-driver_3.14.1-2_i386.deb
dpkg -i fglrx-xxx-kernel-src_3.14.1-2_i386.deb
# und so weiter - einfach alle
cd /usr/src
tar xzvf fglrx-xxx-3.14.1.tar.gz
jetzt schlägt stanchina 3 verschieden Wege vor, wie man die module erstellen kann. Ich nehme das script von ATI.(klappt bei mir immer)
also:

Code: Alles auswählen

cd /usr/src/modules/fglrx-xxx-3.14.1
./make.sh
Wenn alles geklappt hat, steht da: Du musst noch ein File kopieren und fglrxconfig machen. Der vorgeschlagene Pfad stimmt bei mir aber nicht.
Ich mach das mit mc weil es mir sonst zuviel Tiparbeit wäre das mit cp zu machen. Aber weils so schön ist hier mal ausgeschrieben. :D

Code: Alles auswählen

cp /usr/src/modules/fglrx-4.3.0-3.14.1/fglrx.ko /lib/modules/2.6.8-1-20.hamsta/kernel/drivers/misc/fglrx.ko
natürlich wieder an Deine Version anpassen.
jetzt muss das Modul geladen werden.

Code: Alles auswählen

depmod -ae
modprobe fglrx
mit

Code: Alles auswählen

lsmod | grep fglrx
kannst Du prüfen obs geladen ist.
Nun könntest Du fglrxconfig machen. Das mir aber zu primitiv :) und fehleranfällig.
Ich würde das direkt am Anfang einfach unter X fertigmachen und jetzt nur noch nach /etc/X11/ kopieren.
Nochmal vom Stanchina kopiert:
Section "Module"
...
Load "GLcore"
Load "glx"
Load "dri"
...
# Load "extmod" but omit DGA extension
SubSection "extmod"
Option "omit xfree86-dga"
EndSubSection
...
EndSection

Section "Device"
Identifier "ATI"
Driver "fglrx" # this is the important bit

# If X refuses to use the screen resolution you asked for,
# uncomment this; see "Bugs and Workarounds" for details.
#Option "NoDDC"

# === Video Overlay for the Xv extension ===
Option "VideoOverlay" "on"
# === OpenGL Overlay ===
# Note: When OpenGL Overlay is enabled, Video Overlay
# will be disabled automatically
Option "OpenGLOverlay" "off"
# === Use internal AGP GART support? ===
# If OpenGL acceleration doesn't work, try using "yes" here
# and disable the kernel agpgart driver.
Option "UseInternalAGPGART" "no"
EndSection

Section "Screen"
Identifier "your screen"
Device "ATI"
Monitor "your monitor"
DefaultDepth 24
SubSection "Display"
Depth 24
Modes "1280x960" # this is only an example,
# use your preferred resolution here
EndSubSection
EndSection

Section "DRI"
Mode 0666
EndSection
Die Auflösung natürlich anpassen. Bei mir klappt es auch nur richtig wenn ich nur EINE Auflösung eintrage. 3DSpiele wechseln trotzdem auf die richtige. also zB. 800x600. Stanchina schreibt noch dass man NoDCC setzen soll. Klappt aber bei mir irgenwie nicht. Mir reicht unter 2D auch eine Auflösung völlig.

So ich hoffe das hilft Dir.

Hamstaman

Boardercrime (BC)
Beiträge: 17
Registriert: 07.10.2004 09:25:31

Beitrag von Boardercrime (BC) » 13.10.2004 15:15:49

Hey thanx! Super Anleitung !!

Da meine Maschine mit der ATI Karte scheinbar ein Problem mit kompillieren hat (ständige Segment Faults, wahrscheinlich Memory's kaputto) probier ich mal auf einer anderen Maschine den Kernel samt FGLRX modul zu kompilliern und dann die entsprechenden Dateien rüberkopieren...

Boardercrime (BC)
Beiträge: 17
Registriert: 07.10.2004 09:25:31

Beitrag von Boardercrime (BC) » 14.10.2004 08:18:21

Jep !! Hat funktioniert !!
Musste den Kernel auf einem anderen PC backen, das frisch erstellte kernel-image-2.6.8.deb File hab ich dann rüberkopiert und den Rest auf der "ATI"-Maschine gemacht !!
Hab gestern noch seidefein ET gespielt, war überrascht von der guten Performance des Treibers.

Antworten