Hallo, Am Dienstag, 7. Dezember 2004 22:18 schrieb Guido Pinkernell:
On Tuesday 07 December 2004 21:46, Andreas Heinlein wrote:
gcc -D__KERNEL__ -I/usr/src/linux-2.4.20.SuSE/include -Wall -Wstrict-prototypes -Wno-trigraphs -O2 -fno-strict-aliasing -fno-common -Wno-sign-compare -finline-limit=2000-fomit-frame-pointer -pipe -mpreferred-stack-boundary=2 -march=i586 -nostdinc -iwithprefix include -DKBUILD_BASENAME=dmi_scan -c -o dmi_scan.o dmi_scan.c dmi_scan.c:401: error: redefinition of `local_apic_kills_bios' dmi_scan.c:319: error: `local_apic_kills_bios' previously defined here
Das ist die eigentliche Fehlermeldung. Da ist irgendeine Funktion oder Konstante namens local_apic_kills_bios in der Datei dmi_scan.c definiert, die aber vorher schon mal woanders definiert wurde.
ACK
dmi_scan.c: In function `dmi_decode':
[..]
Aha? Wegen Probleme mit der Interruptverteilung unter ACPI habe ich ACPI entfernt. Dass da APIC auch noch mitspielt, wusste ich nicht. Vermutlich habe ich in dem ganzen Hickhack beide als synonym gesehen. Auweia :(
Aber erstmal egal. Ich will mich mal erst aufs Kernelkompilieren konzentrieren...
Schau mal mit einem grep -r local_apic_kills_bios /usr/src/linux-2.4.20.SuSE/* wo diese Definition noch auftaucht, vielleicht kommen wir so dem Verursacher näher.
Voila:
jvc:/usr/src/linux # grep -r local_apic_kills_bios /usr/linux-2.4.20.SuSE/* grep: /usr/linux-2.4.20.SuSE/*: No such file or directory jvc:/usr/src/linux # grep -r local_apic_kills_bios /usr/src/linux-2.4.20.SuSE/* /usr/src/linux-2.4.20.SuSE/arch/i386/kernel/dmi_scan.c:static int __init local_apic_kills_bios(struct dmi_blacklist *d) /usr/src/linux-2.4.20.SuSE/arch/i386/kernel/dmi_scan.c:static int __init local_apic_kills_bios(struct dmi_blacklist *d) /usr/src/linux-2.4.20.SuSE/arch/i386/kernel/dmi_scan.c: { local_apic_kills_bios, "Dell Inspiron", { /usr/src/linux-2.4.20.SuSE/arch/i386/kernel/dmi_scan.c: { local_apic_kills_bios, "Dell Latitude", { /usr/src/linux-2.4.20.SuSE/arch/i386/kernel/dmi_scan.c: { local_apic_kills_bios, "IBM Thinkpad T20", { /usr/src/linux-2.4.20.SuSE/arch/i386/kernel/dmi_scan.c.orig:stati c int __init local_apic_kills_bios(struct dmi_blacklist *d) /usr/src/linux-2.4.20.SuSE/arch/i386/kernel/dmi_scan.c.orig: { local_apic_kills_bios, "Dell Inspiron", { /usr/src/linux-2.4.20.SuSE/arch/i386/kernel/dmi_scan.c.orig: { local_apic_kills_bios, "Dell Latitude", { /usr/src/linux-2.4.20.SuSE/arch/i386/kernel/dmi_scan.c.orig: { local_apic_kills_bios, "IBM Thinkpad T20", { /usr/src/linux-2.4.20.SuSE/arch/i386/kernel/dmi_scan.c.rej:+ { local_apic_kills_bios, "Dell Inspiron", { /usr/src/linux-2.4.20.SuSE/arch/i386/kernel/dmi_scan.c.rej:+ { local_apic_kills_bios, "Dell Latitude", { /usr/src/linux-2.4.20.SuSE/arch/i386/kernel/dmi_scan.c.rej:+ { local_apic_kills_bios, "IBM Thinkpad T20", { jvc:/usr/src/linux #
Das Problem liegt nun nur in dieser einen Datei dmi_scan.c. Die vermutlich durch einen nicht ganz perfekten Patch kaputtgepatched wurde... Ist das der neuste Kernel via YOU? Ansonsten glaube ich, dass dmi_scan etwas mit dieser Speed-Step-Technologie von den Intel-Prozessoren zu tun hat. Daher würde ich sagen, du solltest die .config nochmal auf soetwas hin durchforsten, wenn du Speedstep nicht brauchst.. Gruß Sören