wo packt suse die kernel-header hin?

Forum für Leute, die von anderen Systemen auf Linux gewechselt haben oder den Umstieg planen
Post Reply
Message
Author
frankenfurter

wo packt suse die kernel-header hin?

#1 Post by frankenfurter »

hallo,
weil sich suse noch am ehesten an den lpic standard halten soll(!?), habe ich mal eine solche installiert. nun hab ich wohl auch direkt mit den standards probleme.
wo packt suse denn die kernel-header hin? ich bin es gewohnt das die unter /usr/src/linux/include zu finden sind. installiert sind sie laut yast.
grüße
frank

User avatar
Janka
Posts: 3585
Joined: 11. Feb 2006 19:10

#2 Post by Janka »

LPIC: Linux Professional Institute Certification
Meinst du vielleicht den FHS?

Code: Select all

$ rpm -ql linux-kernel-headers
zeigt, dass die Kernel-Header unter /usr/include/linux installiert werden, wo sie auch hingehören. In /usr/src/linux/include liegen hingegen die Header-Quelldateien(!), wenn man die Kernelquellen installiert hat.

Janka
Ich vertonne Spam immer in /dev/dsp statt /dev/null.
Ich mag die Schreie.

frankenfurter

#3 Post by frankenfurter »

vielen dank. die meisten programme, die header benötigen, suchen sie aber zuerst in /usr/src/linux/include. z.b. die nvidia treiber oder vmware.

> LPIC: Linux Professional Institute Certification
> Meinst du vielleicht den FHS?
nein, ich meine da schon lpic und hätte selber nicht an suse gedacht, was standards betrifft.

User avatar
Janka
Posts: 3585
Joined: 11. Feb 2006 19:10

#4 Post by Janka »

Sowohl vmware als auch die nVidia-Treiber benötigen nicht die Kernel-Header, sondern konfigurierte Kernelquellen. Also die Kernelquellen installieren und zumindest einmal

Code: Select all

$ zcat /proc/config.gz >/usr/src/linux/.config
machen.

Janka
Ich vertonne Spam immer in /dev/dsp statt /dev/null.
Ich mag die Schreie.

frankenfurter

#5 Post by frankenfurter »

hallo,

also eine ganz typische meldung von nvidia bei nicht installierten kernel headern ist folgende meldung:

Code: Select all

ERROR: Unable to find the kernel header files for the currently running kernel.
bei anderen distributionen wie z.b. debian-basierten, reicht das installieren der kernel bzw linux-header zu dem entsprechenden kernel für nvidia und auch vmware definitiv aus.
braucht man bei suse also die konfigurierten, kompletten kernel-sourcen dann ist das aufjedenfall auch distributionspezifisch. insofern scheint muss man offenbar eine ganze menge beachten, wenn man einen vorübergehenden umstieg macht.

bis dann und vielen dank für deine unterstützung

PDA

#6 Post by PDA »

Du musst die Kernelquellen vom aktuell laufenden Kernel benutzen.
Die nVidia Treiber vergleichen die Module in /lib/modules/AktuellLaufenderKernel mit den Quellen in /usr/src/linux , wobei /usr/src/linux ein Link ist auf /usr/src/LinuxKernel .

komsomolze
Posts: 430
Joined: 03. Mar 2006 23:16

#7 Post by komsomolze »

Hallo,
Janka wrote:... als auch die nVidia-Treiber benötigen nicht die Kernel-Header, sondern konfigurierte Kernelquellen. Also die Kernelquellen installieren und zumindest einmal

Code: Select all

$ zcat /proc/config.gz >/usr/src/linux/.config
machen.
Das stimmt so nicht ganz,
der nvidia-Installer sucht eigentlich nur nach dem String

Code: Select all

#define UTS_RELEASE "2.6.18-5-686"
(Bsp)
Dieser befindet sich je nach Kernel-Version in der Datei utsrelease.h oder version.h,
die bei den Kernel-Headern mitgeliefert werden.

Ältere nvidia-Installer suchen ihn in version.h, was bei neueren Kerneln einen Fehler geben kann (bei diesen in utsrelease.h).
Ein Workaround ist ein einfaches Kopieren des Strings.
Die Mindestvorraussetzung, um ihn zu erzeugen ist ein

Code: Select all

make 
archprepare




PDA wrote:Du musst die Kernelquellen vom aktuell laufenden Kernel benutzen.
Auch das ist nicht ganz richtig,
der nvidia-Installer hat Schalter, um das Kernel-Modul für einen beliebigen - auf dem System vorhandenen - Kernel nachträglich/zusätzlich zu bauen.
mfg komsomolze

Post Reply