Welches Modul/Treiber für welche Hardware, Kernel compilieren...
-
champpain
- Beiträge: 73
- Registriert: 18.11.2005 10:36:20
Beitrag
von champpain » 03.01.2006 17:28:48
Hallo!
Beim komplileren verlangt mein debian-pc nach o.g. script.
Code: Alles auswählen
vdr:/usr/src/DVB# make
make -C /usr/src/dvb-kernel/build-2.6
make[1]: Entering directory `/usr/src/dvb-kernel/build-2.6'
[ -L saa7146_video.c ] || ./getlinks
make -C /lib/modules/2.6.12-ct-1/source SUBDIRS=/usr/src/dvb-kernel/build-2.6 AV7110_FIRMWARE= AV7110_OSD=y
/bin/sh: /usr/src/kernel-headers-2.6.12-ct-1/scripts/gcc-version.sh: Datei oder Verzeichnis nicht gefunden
make[2]: Entering directory `/usr/src/kernel-headers-2.6.12-ct-1'
WARNING: Symbol version dump /usr/src/kernel-headers-2.6.12-ct-1/Module.symvers
is missing; modules will have no dependencies and modversions.
make[3]: scripts/Makefile.build: Datei oder Verzeichnis nicht gefunden
make[3]: *** Keine Regel, um »scripts/Makefile.build« zu erstellen. Schluss.
make[2]: *** [_module_/usr/src/dvb-kernel/build-2.6] Fehler 2
make[2]: Leaving directory `/usr/src/kernel-headers-2.6.12-ct-1'
make[1]: *** [all] Fehler 2
make[1]: Leaving directory `/usr/src/dvb-kernel/build-2.6'
make: *** [all] Fehler 2
vdr:/usr/src/DVB#
Grüße,
Jörn
EDIT:
Habe gerade nochmal im forum gestöbert.
So sieht es bei mir aus:
Linux version 2.6.12-ct-1 (root@debuild) (gcc-Version 3.3.5 (Debian 1:3.3.5-13)) #1 Sat Jun 18 14:26:43 UTC 2005
gcc (GCC) 3.3.6 (Debian 1:3.3.6-10)
Wie biege ich das denn wieder gerade?
-
gms
- Beiträge: 7798
- Registriert: 26.11.2004 20:08:38
- Lizenz eigener Beiträge: MIT Lizenz
Beitrag
von gms » 03.01.2006 20:38:30
champpain hat geschrieben:
Linux version 2.6.12-ct-1 (root@debuild) (gcc-Version 3.3.5 (Debian 1:3.3.5-13)) #1 Sat
Du verwendest den Kernel 2.6.12-ct-1 und wenn du jetzt die zugehörigen Header bzw. Sourcen installiertst bekommst du auch das Script gcc-version.sh
Gruß
gms
-
champpain
- Beiträge: 73
- Registriert: 18.11.2005 10:36:20
Beitrag
von champpain » 03.01.2006 22:39:43
Hallo,
Headers und Sources sind installiert.
Aber eine gcc-version.sh ist nicht zu finden.
Grüße,
Jörn
-
Savar
- Beiträge: 7174
- Registriert: 30.07.2004 09:28:58
- Lizenz eigener Beiträge: MIT Lizenz
- Wohnort: Berlin
Beitrag
von Savar » 03.01.2006 22:46:00
-
gms
- Beiträge: 7798
- Registriert: 26.11.2004 20:08:38
- Lizenz eigener Beiträge: MIT Lizenz
Beitrag
von gms » 03.01.2006 22:46:32
Tut mir leid, habe keine Ahnung warum dieses Script bei den ct-Kernels nicht dabei sein soll. Bei den Vanillakernels ist es vorhanden:
Code: Alles auswählen
root@gms1:/usr/src/linux-2.6.15# find -name gcc-version.sh
./scripts/gcc-version.sh
Bei den Debiankernels auch:
Code: Alles auswählen
root@gms1:/usr/src/kernel-source-2.6.8# find -name gcc-version.sh
./scripts/gcc-version.sh
root@gms1:/usr/src/linux-source-2.6.14# find -name gcc-version.sh
./scripts/gcc-version.sh
Gruß
gms
-
gms
- Beiträge: 7798
- Registriert: 26.11.2004 20:08:38
- Lizenz eigener Beiträge: MIT Lizenz
Beitrag
von gms » 03.01.2006 22:48:52
Da kommt mir eine Idee:
Hast du die Sourcen auch entpackt ? Bei Debian erhält man bei der Installation nur ein Archiv:
Code: Alles auswählen
root@gms1:/usr/src/linux-source-2.6.14# dpkg -L linux-source-2.6.14
/.
/usr
/usr/src
/usr/src/linux-source-2.6.14.tar.bz2
/usr/share
/usr/share/doc
/usr/share/doc/linux-source-2.6.14
/usr/share/doc/linux-source-2.6.14/README.Debian
/usr/share/doc/linux-source-2.6.14/copyright
/usr/share/doc/linux-source-2.6.14/README.gz
/usr/share/doc/linux-source-2.6.14/changelog.Debian.gz
Gruß
gms
-
champpain
- Beiträge: 73
- Registriert: 18.11.2005 10:36:20
Beitrag
von champpain » 04.01.2006 10:31:34
JAWOLL!
Das war ganz schön verzettelt.
dpkg -l zeigte die headers und sources an, aberals ich die testweise neuinstallieren wollte, bemerkte ich, dass die Pakete gar nicht in meinen sourcen sind.
Habe den entsprechenden sources-eintrag dann hinzugefügt und die Pakete neu installiert und wie du sagst, liegen unter /usr/src/ nun die gezippten sources.
--- PAUSE ---
Jetzt ist es entzippt und das script ist auch da!!!
Allerdings sucht der make-Befehl das script in den headers. Muss ich da einen symbolischen link anlegen?
Grüße und vielen Dank,
Jörn
-
gms
- Beiträge: 7798
- Registriert: 26.11.2004 20:08:38
- Lizenz eigener Beiträge: MIT Lizenz
Beitrag
von gms » 04.01.2006 10:34:58
am besten kopierst du die ".config" vom Headerverzeichnis in das Sourceverzeichnis und machst im Sourceverzeichnis ein "make oldconfig".
Danach vewendest du nur noch das Sourceverzeichnis (Headerverzeichnis am besten deinstallieren)
Gruß
gms
-
champpain
- Beiträge: 73
- Registriert: 18.11.2005 10:36:20
Beitrag
von champpain » 04.01.2006 10:51:38
Hallo,
habe ich gemacht, aber
Code: Alles auswählen
vdr:/usr/src/DVB# make
make -C /usr/src/dvb-kernel/build-2.6
make[1]: Entering directory `/usr/src/dvb-kernel/build-2.6'
[ -L saa7146_video.c ] || ./getlinks
make -C /lib/modules/2.6.12-ct-1/source SUBDIRS=/usr/src/dvb-kernel/build-2.6 AV7110_FIRMWARE= AV7110_OSD=y
/bin/sh: /usr/src/kernel-headers-2.6.12-ct-1/scripts/gcc-version.sh: Datei oder Verzeichnis nicht gefunden
make[2]: Entering directory `/usr/src/kernel-headers-2.6.12-ct-1'
...er will immer nich in die headers. Kann ich die Subdir ggf. im Pfad /usr/src/DVB "einstellen"?
grüße
-
gms
- Beiträge: 7798
- Registriert: 26.11.2004 20:08:38
- Lizenz eigener Beiträge: MIT Lizenz
Beitrag
von gms » 04.01.2006 11:04:51
was ergibt
das Kernelsourceverzeichnis solltest du über die Links /lib/modules/2.6.12-ct-1/build und /usr/src/linux einstellen können
Gruß
gms
-
champpain
- Beiträge: 73
- Registriert: 18.11.2005 10:36:20
Beitrag
von champpain » 04.01.2006 11:21:26
Hallo,
irgendwie komme ich nicht vom Fleck.
die source findet er nun, aber jetzt scheitert es an der linux/version.h.
Code: Alles auswählen
vdr:/usr/src/DVB# make
make -C /usr/src/dvb-kernel/build-2.6
make[1]: Entering directory `/usr/src/dvb-kernel/build-2.6'
[ -L saa7146_video.c ] || ./getlinks
make -C /lib/modules/2.6.12-ct-1/source SUBDIRS=/usr/src/dvb-kernel/build-2.6 AV7110_FIRMWARE= AV7110_OSD=y
make[2]: Entering directory `/usr/src/kernel-source-2.6.12-ct-1'
WARNING: Symbol version dump /usr/src/kernel-source-2.6.12-ct-1/Module.symvers
is missing; modules will have no dependencies and modversions.
CC [M] /usr/src/dvb-kernel/build-2.6/version_check.o
/usr/src/dvb-kernel/build-2.6/version_check.c:1:27: linux/version.h: Datei oder Verzeichnis nicht gefunden
make[3]: *** [/usr/src/dvb-kernel/build-2.6/version_check.o] Fehler 1
make[2]: *** [_module_/usr/src/dvb-kernel/build-2.6] Fehler 2
make[2]: Leaving directory `/usr/src/kernel-source-2.6.12-ct-1'
make[1]: *** [all] Fehler 2
make[1]: Leaving directory `/usr/src/dvb-kernel/build-2.6'
make: *** [all] Fehler 2
vdr:/usr/src/DVB#
Einen symlink /usr/src/linux -> zu den sources habe ich angelegt.
Grüße,
Jörn
-
gms
- Beiträge: 7798
- Registriert: 26.11.2004 20:08:38
- Lizenz eigener Beiträge: MIT Lizenz
Beitrag
von gms » 04.01.2006 11:33:09
schaut gut aus, aber wechsle einmal in das Kernelsourceverzeichnis und führe dort einmalig "make" aus. Dieses kannst du nach einiger Zeit abbrechen (sobald er in das arch Verzeichnis wechselt).
-
champpain
- Beiträge: 73
- Registriert: 18.11.2005 10:36:20
Beitrag
von champpain » 04.01.2006 12:30:15
stunden später...
WOW, das wars!
Endlich bin ich dieses unangenehme Gefühl mein debian sei total verhunzt los.
Jetzt heisst es nur noch Module bauen...
Vielen Dank nach Wien...
Grüße,
Jörn
-
champpain
- Beiträge: 73
- Registriert: 18.11.2005 10:36:20
Beitrag
von champpain » 25.01.2006 13:07:16
Hallo,
ich muss mich noch mal melden.
Wenn ich Pakete per dpkg installieren möchte, meldet das System, dass linux.h (in /usr/src/include) nicht dem gebooteten kernel entspricht.
nun habe ich nachgesehen und festgestellt, dass in linux.h "2.6.12" steht, mein Kernel aber und 2.6.12-ct-1 heisst und das entsprechend angepasst.
Ist das ok?
-
gms
- Beiträge: 7798
- Registriert: 26.11.2004 20:08:38
- Lizenz eigener Beiträge: MIT Lizenz
Beitrag
von gms » 25.01.2006 13:21:34
schaut mir nicht nach einer Standardlösung aus
Bei Debian gibt es standardmäßig kein "/usr/src/include" Verzeichnis und auch kein "linux.h".
Solange es aber mit dieser Änderung funktioniert, würde ich es auch so belassen
Gruß
gms
-
champpain
- Beiträge: 73
- Registriert: 18.11.2005 10:36:20
Beitrag
von champpain » 25.01.2006 13:49:49
gms hat geschrieben:schaut mir nicht nach einer Standardlösung aus
Bei Debian gibt es standardmäßig kein "/usr/src/include" Verzeichnis und auch kein "linux.h".
Solange es aber mit dieser Änderung funktioniert, würde ich es auch so belassen
Gruß
gms
hallo,
pfad und dateiname waren aus dem kopf und nicht ganz korrekt: /usr/src/kernel-source-2.6.12-ct-1/include/linux/version.h
muss es heissen.
so sieht sie aus:
Code: Alles auswählen
#define UTS_RELEASE "2.6.12"
#define LINUX_VERSION_CODE 132620
#define KERNEL_VERSION(a,b,c) (((a) << 16) + ((b) << 8) + (c))
Grüße
-
gms
- Beiträge: 7798
- Registriert: 26.11.2004 20:08:38
- Lizenz eigener Beiträge: MIT Lizenz
Beitrag
von gms » 25.01.2006 14:24:37
champpain hat geschrieben:Wenn ich Pakete per dpkg installieren möchte, meldet das System
wundert mich wozu diese version.h bei der Installation per dpkg geprüft wird, aber diese Datei kannst du sicherlich entsprechend anpassen
Gruß
gms