Wo bekomme ich das passende script gcc-version.sh???

Welches Modul/Treiber für welche Hardware, Kernel compilieren...
Antworten
champpain
Beiträge: 73
Registriert: 18.11.2005 10:36:20

Wo bekomme ich das passende script gcc-version.sh???

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

Re: Wo bekomme ich das passende script gcc-version.sh???

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

Benutzeravatar
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

Code: Alles auswählen

dpkg -l | grep linux-headers-
MODVOICE/MYVOICE
Debianforum Verhaltensregeln
Log Dateien? -> NoPaste

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

Code: Alles auswählen

ls -l /lib/modules/2.6.12-ct-1
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 8)

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 8)

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

Antworten