[gelöst] Bristuff mit Kernel 2.6.23.x

FabianWolter

Neuer User
Mitglied seit
1 Jan 2006
Beiträge
35
Punkte für Reaktionen
0
Punkte
0
Hallo,

hat es schon jemand geschafft Bristuff mit Kernel 2.6.23.x zu kompilieren?

Ich habe es mit dem 2.6.23.8 versucht, musste aber mehrere Hürden nehmen und bin dann zum Schluss doch gescheitert.

Folgende Fehlermeldung kann man noch recht einfach durch ein copy&replace wegbekommen:

Code:
error: implicit declaration of function ‘pci_module_init’

Dann geht es weiter mit folgendem Fehler, der auch noch behebbar ist:

Code:
zaptel-1.4.4/xpp/xbus-core.c:1380: error: too many arguments to function `kmem_cache_create'

Aber bei diesem Fehler scheitere ich:

Code:
cc -c qozap.c -D__KERNEL__ -DMODULE -DEXPORT_SYMTAB -DRELAXED_LOCKING -fomit-frame-pointer -O2 -Wall -I/usr/src/linux/include -I/home/fab/src/asterisk/bristuff-0.4.0-test4/zaptel
In file included from /usr/src/linux/include/asm/system.h:7,
                 from /usr/src/linux/include/asm/processor.h:18,
                 from /usr/src/linux/include/linux/prefetch.h:14,
                 from /usr/src/linux/include/linux/list.h:8,
                 from /usr/src/linux/include/linux/module.h:9,
                 from qozap.c:14:
/usr/src/linux/include/asm/cmpxchg.h: In function ‘__set_64bit_var’:
/usr/src/linux/include/asm/cmpxchg.h:57: warning: dereferencing type-punned pointer will break strict-aliasing rules
/usr/src/linux/include/asm/cmpxchg.h:57: warning: dereferencing type-punned pointer will break strict-aliasing rules
In file included from /usr/src/linux/include/linux/prefetch.h:14,
                 from /usr/src/linux/include/linux/list.h:8,
                 from /usr/src/linux/include/linux/module.h:9,
                 from qozap.c:14:
/usr/src/linux/include/asm/processor.h: At top level:
/usr/src/linux/include/asm/processor.h:83: error: ‘CONFIG_X86_L1_CACHE_SHIFT’ undeclared here (not in a function)
/usr/src/linux/include/asm/processor.h:83: error: requested alignment is not a constant
/usr/src/linux/include/asm/processor.h: In function ‘cpuid_count’:
/usr/src/linux/include/asm/processor.h:611: warning: pointer targets in passing argument 1 of ‘native_cpuid’ differ in signedness
/usr/src/linux/include/asm/processor.h:611: warning: pointer targets in passing argument 2 of ‘native_cpuid’ differ in signedness
/usr/src/linux/include/asm/processor.h:611: warning: pointer targets in passing argument 3 of ‘native_cpuid’ differ in signedness
/usr/src/linux/include/asm/processor.h:611: warning: pointer targets in passing argument 4 of ‘native_cpuid’ differ in signedness
In file included from /usr/src/linux/include/linux/module.h:20,
                 from qozap.c:14:
/usr/src/linux/include/asm/module.h:64:2: error: #error unknown processor family
In file included from /usr/src/linux/include/asm/pci.h:14,
                 from /usr/src/linux/include/linux/pci.h:781,
                 from qozap.c:15:
/usr/src/linux/include/linux/mm.h: In function ‘virt_to_head_page’:
/usr/src/linux/include/linux/mm.h:318: warning: implicit declaration of function ‘__pfn_to_page’
/usr/src/linux/include/linux/mm.h:318: error: ‘CONFIG_PAGE_OFFSET’ undeclared (first use in this function)
/usr/src/linux/include/linux/mm.h:318: error: (Each undeclared identifier is reported only once
/usr/src/linux/include/linux/mm.h:318: error: for each function it appears in.)
/usr/src/linux/include/linux/mm.h:318: warning: initialization makes pointer from integer without a cast
In file included from /usr/src/linux/include/asm/pci.h:14,
                 from /usr/src/linux/include/linux/pci.h:781,
                 from qozap.c:15:

... Und lauter Folgefehler.

Die Fehler treten ausschließlich in den Kernelsourcen auf, nicht im qozap-Quellcode. Ich gehe daher davon aus, dass etwas mit den Kernel-Sourcen nicht stimmt. In dem Sinne, dass ich etwas falsch gemacht habe.

Ich habe einen Vanilla-Kernel mit der standard dot-config verwendet und darauf ein make oldconfig && make && make modules angewendet.

Konnte schon jemand Erfahrungen mit Bristuff und Kernel 2.6.23.x sammeln?

Gruß Fabian
 
Zuletzt bearbeitet:
Wozu benötigtst du den qozap-Treiber?

Dieser ist nur für duo/quad/octoBRI-Karten. Falls du nur hfc-Karten hast benötigst du den zaphfc.ko und zaptel.ko.

Ich würde daher als Umgehung erstmal aus dem Makefile:

SUBDIR_MODULES:=qozap herausnehmen und sehen was passiert!
 
Ich benötige alle Module. qozap war nur ein Beispiel. Die Fehler sind bei zaphfc, ztgsm etc. gleich.
 
Ziehe dir doch mal den aktuelle branch (da wurde einiges geändert für kernel > 2.6.18 ) mit:

svn co http://svn.digium.com/svn/zaptel/branches/1.4 zaptel-1.4.7

cd zaptel-1.4.7

patch -p1 < bristuff-0.4.0.../patches/zaptel.patch

hunks kannst du ignorieren (rejects sind bei mir keine aufgetreten).
 
Kernel bis einschließlich 2.6.22.x kompilieren. Die Fehler treten erst ab Kernel 2.6.23.x auf.

Aber anscheinend wurde im SVN die Anpassungen für zaptel für 2.6.23.x schon durchgeführt. Zaptel kompiliert damit. Aber die Fehler bei zaphfc und qozap bleiben natürlich.
 
Das Problem war, dass das zaphfc-Makefile nicht erkannt hat, dass es mit Kernel 2.6 kompiliert werden soll. Dadurch wurde zum Kompilieren des Moduls nicht das Kernel-Build-System verwendet.

Statt

$(CC) -c zaphfc.c $(KFLAGS)

muss mit

make -C /usr/src/linux-2.6 SUBDIRS=$(PWD) ZAP=$(ZAP) modules

kompiliert werden.

Mit "make linux26" teilt man der zaphfc-Makefile explizit mit, dass letzterer Aufruf benutzt werden soll.
 
Kostenlos!

Neueste Beiträge

Statistik des Forums

Themen
248,864
Beiträge
2,303,189
Mitglieder
378,520
Neuestes Mitglied
BeFoe