Kernel Compile bricht ab

Diskussionen um Bootloader, Kernel, Busybox
koehler
Neugieriger
Neugieriger
Beiträge: 5
Registriert: Mittwoch 12. Januar 2005, 16:19

Kernel Compile bricht ab

Beitrag von koehler »

Bei mir bricht der compile Vorgang des Dbox2 Kernels ab.

Meine Kiste
Kernel: Darwin Kernel Version 7.7.0:
Geraet: Power Macintosh powerpc / G4 Powerbook
make version: GNU Make version 3.79
gcc: version 3.3

Hier der Fehler:

Code: Alles auswählen

make -C linux-2.4.27 include/linux/version.h \
        ARCH=ppc
expr: syntax error
KERNELRELEASE "2.4.27-dbox2" exceeds 64 characters
make[2]: *** [include/linux/version.h] Error 1
make[1]: *** [.deps/linuxdir] Error 2
make: *** [.deps/binutils] Error 2
Kann ja irgendwie nicht sein, any ideas?

Gruss,

Michael
woglinde
Einsteiger
Einsteiger
Beiträge: 261
Registriert: Donnerstag 15. November 2001, 00:00

Beitrag von woglinde »

Hm,

vielleicht ist make kaputt auf MacOS X?

Gruss woglinde
xxbsd
Neugieriger
Neugieriger
Beiträge: 17
Registriert: Dienstag 8. Juli 2003, 12:42

Beitrag von xxbsd »

Das liegt am expr.
MacOS X basiert ja auf BSD-Sourcen, also wird es auch ein BSD-expr sein.
Der kommt mit der Syntax im Makefile nicht klar.

Da hilt nur ein gnu-expr einzuspielen (und dafür zu sorgen, daß er auch
genutzt wird) oder Ersetzung folgender Zeile im kernel-Makefile (ca. Zeile 357):

Code: Alles auswählen

        @expr length "$(KERNELRELEASE)" \<= $(uts_len) > /dev/null || \ 
durch:

Code: Alles auswählen

        @expr "$(KERNELRELEASE)" : '.*' \<= $(uts_len) > /dev/null || \ 
Letzteres funktioniert dann sowohl unter Linux als auch unter BSDs.

mfg, xxbsd
koehler
Neugieriger
Neugieriger
Beiträge: 5
Registriert: Mittwoch 12. Januar 2005, 16:19

Beitrag von koehler »

xxbsd hat geschrieben:Das liegt am expr.
Dachte ich mir schon, hatte die beiden Makefile Zeilen zum Testen auch erstmal auskommentiert, Makefile gesichert und im Main Makefile vor dem version.h make zurueck kopiert.

Aber deine Loesung ist sauberer. Danke vielmals!

Da faellt mir noch ein:

muss bei dem kernel makefile in der Zeile

Code: Alles auswählen

ARCH := $(shell uname -m | sed -e s/i.86/i386/ -e s/sun4u/sparc64/ -e s/arm.*/arm/ -e s/sa110/arm/)
nicht noch ein

Code: Alles auswählen

sed -e s/Power\ Macintosh/ppc/
mit rein ?


Gruss,

Michael
xxbsd
Neugieriger
Neugieriger
Beiträge: 17
Registriert: Dienstag 8. Juli 2003, 12:42

Beitrag von xxbsd »

Das kannst Du da einfuegen, schaden kann es nichts.
Notwendig ist es aber auch nicht. Der Kernel wird ja sowieso fuer die Dbox
crosscompiliert. Dabei steht ARCH immer auf ppc, egal was dort zugewiesen wird.
Auf ppc gesetzt wird es vorher schon im Top-Level-Makefile des cdk-Directories.

mfg, xxbsd
woglinde
Einsteiger
Einsteiger
Beiträge: 261
Registriert: Donnerstag 15. November 2001, 00:00

Beitrag von woglinde »

Hi,

du kannst auch einfach hart ARCH = ppc reinschreiben, wenn man eh
schon am Makefile rumfummelt.

Gruss woglinde