Buildroot / AVM-Kernel compilieren

saltlake

Neuer User
Mitglied seit
19 Dez 2004
Beiträge
26
Punkte für Reaktionen
0
Punkte
0
Hallo!

Ich habe versucht (nach Enriks Anleitung) mir ein buildroot zu bauen um damit den Kernel aus den AVM-Sourcen zu compilieren. Leider scheitere ich schon beim gcc 3.3.3 / 3.3.4 aus der buildroot.
Getestet habe ich das Ganze mit Suse 9.0 (gcc 3.1 und gcc 3.3.3) als auch auf einem anderen System mit Suse 9.2 und gcc 3.4.?. Einige Zeit lang läuft alles gut, dann bricht make aber immer mit demselben Fehler ab (s.u.). Vor ein paar Wochen habe ich mir schonmal eine buildroot mit gcc 3.4.3 gebaut - aber damit geht der alte Kernel ja schlauerweise nicht mehr.
Hat jemand ein ähnliches Problem und es vielleicht sogar behoben? Muss ich dem make im buildroot vielleicht irgendwelche Optionen mitgeben?

Grüße!

Hier der Output von make vorm Abbruch:

/mnt/data/nalt/fritzbox/buildroot/toolchain_build_mipsel/gcc-3.3.3-initial/gcc/xgcc -B/mnt/data/nalt/fritzbox/buildroot/toolchain_build_mipsel/gcc-3.3.3-initial/gcc/ -B/mnt/data/nalt/fritzbox/buildroot/build_mipsel/staging_dir/mipsel-linux-uclibc/bin/ -B/mnt/data/nalt/fritzbox/buildroot/build_mipsel/staging_dir/mipsel-linux-uclibc/lib/ -isystem /mnt/data/nalt/fritzbox/buildroot/build_mipsel/staging_dir/mipsel-linux-uclibc/include -O2 -DIN_GCC -DCROSS_COMPILE -DUSE_UCLIBC -W -Wall -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes -isystem ./include -fPIC -g -DHAVE_GTHR_DEFAULT -DIN_LIBGCC2 -D__GCC_FLOAT_NOT_NEEDED -I. -I. -I/mnt/data/nalt/fritzbox/buildroot/toolchain_build_mipsel/gcc-3.3.3/gcc -I/mnt/data/nalt/fritzbox/buildroot/toolchain_build_mipsel/gcc-3.3.3/gcc/. -I/mnt/data/nalt/fritzbox/buildroot/toolchain_build_mipsel/gcc-3.3.3/gcc/config -I/mnt/data/nalt/fritzbox/buildroot/toolchain_build_mipsel/gcc-3.3.3/gcc/../include -DL_divdi3 -c /mnt/data/nalt/fritzbox/buildroot/toolchain_build_mipsel/gcc-3.3.3/gcc/libgcc2.c -fexceptions -fnon-call-exceptions -o libgcc/./_divdi3.o
/tmp/ccTQ0pbW.s: Assembler messages:
/tmp/ccTQ0pbW.s:971: Error: operation combines symbols in different segments
make[3]: *** [libgcc/./_divdi3.o] Fehler 1
make[3]: Leaving directory `/mnt/data/nalt/fritzbox/buildroot/toolchain_build_mipsel/gcc-3.3.3-initial/gcc'
make[2]: *** [libgcc.a] Fehler 2
make[2]: Leaving directory `/mnt/data/nalt/fritzbox/buildroot/toolchain_build_mipsel/gcc-3.3.3-initial/gcc'
make[1]: *** [all-gcc] Fehler 2
make[1]: Leaving directory `/mnt/data/nalt/fritzbox/buildroot/toolchain_build_mipsel/gcc-3.3.3-initial'
make: *** [/mnt/data/nalt/fritzbox/buildroot/toolchain_build_mipsel/gcc-3.3.3-initial/.compiled] Fehler 2
 
Hi.
Hast du das buildroot von Enrik's Seite genommen?
Am besten nochmal das Verzeichnis ganz löschen.
Evtl. den dl/ Ordner rauskopieren, sonst musst du nochmal alles downloaden.
buildroot entpacken, ins Verzeichnis wechseln und make menuconfig eingeben.
uclibc daily snapshot auswählen, binutils 2.15.90.0.3, gcc 3.3.3.
gdb braucht man nicht, außer man möchte debuggen.

exit, abspeichern und make.
Vorher noch in target/fritz/fritzroot.mk die Firmware ändern.
Mit der neuesten Firmware klappt's noch nicht so ganz.

Ich mache das ganze unter Suse 9.1 und hab' keine Probleme...

MfG Oliver
 
@saltlake,

Das Problem kommt wenn binutils und gcc nicht zusammenpassen.
Ich hatte mal irgendwo festgestellt:

Je nach "Arbeit":
- Kernelmodule:
config-kernel-build als .config kopieren
( gcc 3.3.3, binutils 90.0.3 )
Der "alte" kernel verträgt einen neueren gcc 3.4 nicht

- Binaries erzeugen:
config-binary-build als .config kopieren
( gcc 3.4.3, binutils 94.0.1 )
Der "alte" kernel verträgt einen neueren gcc 3.4 nicht
Die mit GCC 3.4 erzeugten binaries sind kleiner, passt besser auf die Box

Problem/Fehlermeldung: mit Kernel und gcc 3.4*
build_mipsel/linux-2.4.17-mvl21-malta-mips_fp_le/drivers/mtd/
mtdblock.c: In function `handle_mtdblock_request':
mtdblock.c:435: error: parse error before string constant

gcc 3.4.? kann anscheinend nicht auflösen: => mtdblock.c:435: "panic(__FUNCTION__""
Selbst wenn man die eine Stelle beseitigt gibt es noch viiiele solche Stellen.

Haveaniceday.
 
Hi.
Ja, ich hab dieses buildroot genommen und das Verzeichnis auch mehrfach gelöscht. Allerings hatte ich die aktuelle Version der binutils genommen - und damit ging es nicht. Mal schauen wie weit ich jetzt komme...
Dank!
 
Holen Sie sich 3CX - völlig kostenlos!
Verbinden Sie Ihr Team und Ihre Kunden Telefonie Livechat Videokonferenzen

Gehostet oder selbst-verwaltet. Für bis zu 10 Nutzer dauerhaft kostenlos. Keine Kreditkartendetails erforderlich. Ohne Risiko testen.

3CX
Für diese E-Mail-Adresse besteht bereits ein 3CX-Konto. Sie werden zum Kundenportal weitergeleitet, wo Sie sich anmelden oder Ihr Passwort zurücksetzen können, falls Sie dieses vergessen haben.