Crosscompiler mit danisahne Mod

alles nochmal komplett runtergeschmissen,
das crosstool 0.40 eingetragen, die nicht benötigte patch datei gelöscht...
lief ne ganze ecke weiter...

itbl-lex.c:1749: warning: no previous prototype for ‘yyset_in’
itbl-lex.c:1754: warning: no previous prototype for ‘yyset_out’
itbl-lex.c:1759: warning: no previous prototype for ‘yyget_debug’
itbl-lex.c:1764: warning: no previous prototype for ‘yyset_debug’
itbl-lex.c:1770: warning: no previous prototype for ‘yylex_destroy’
make[4]: *** [itbl-lex.o] Fehler 1
make[4]: Leaving directory `/home/xtc/ds-0.2/source/toolchain/binutils-2.16.91.0.2-build/gas'
make[3]: *** [all-recursive] Fehler 1
make[3]: Leaving directory `/home/xtc/ds-0.2/source/toolchain/binutils-2.16.91.0.2-build/gas'
make[2]: *** [all] Fehler 2
make[2]: Leaving directory `/home/xtc/ds-0.2/source/toolchain/binutils-2.16.91.0.2-build/gas'
make[1]: *** [all-gas] Fehler 2
make[1]: Leaving directory `/home/xtc/ds-0.2/source/toolchain/binutils-2.16.91.0.2-build'
make: *** [/home/xtc/ds-0.2/source/toolchain/binutils-2.16.91.0.2-build/binutils/objdump] Fehler 2

da häng ich nun... kann einer helfen?
 
make: [/home/xtc/ds-0.2/source/toolchain/gcc-4.0.1-final/.installed] Fehler 1 (ignoriert)
# Set up the symlinks to enable lying about target name.
set -e; \
( cd /home/xtc/ds-0.2/toolchain/gcc-4.0.1-uClibc-0.9.26/mipsel-linux-uclibc; \
ln -sf mipsel-linux-uclibc mipsel-linux; \
cd bin; \
for app in mipsel-linux-uclibc-* ; do \
ln -sf ${app} \
mipsel-linux${app##mipsel-linux-uclibc}; \
done; \
);
touch /home/xtc/ds-0.2/source/toolchain/gcc-4.0.1-final/.installed


:)

juhu! nu kanns losgehen!

geändert:
ds-02/toolchain/make/kernel/crosstool/crosstool.mk die Version von 0.38 auf 0.40 geändert.
ds-02/toolchain/make/kernel/crosstool/patches/ die Datei glibc-2.3.2.patch löschen. nur noch die gcc-3.3.2.patch. Sonst kommt ein Fehler in der read_rtl.o
(thxs olli!!!)
in der Config.in binutils von xx.0.2 auf xxx.0.6
ds-0.2/toolchain/make/target/binutils/2.16.91.0.2 verzeichnis auf ds-0.2/toolchain/make/target/binutils/2.16.91.0.6 umbenannt.

nimm das dochmal in der nächsten ver mit rein...

und ich hau mich nu aufs ohr und wenn die glubscher wieder offen sind, gehts ans olsr... :)
 
Zuletzt bearbeitet:
heini66 schrieb:
geändert:
ds-02/toolchain/make/kernel/crosstool/crosstool.mk die Version von 0.38 auf 0.40 geändert.
ds-02/toolchain/make/kernel/crosstool/patches/ die Datei glibc-2.3.2.patch löschen. nur noch die gcc-3.3.2.patch. Sonst kommt ein Fehler in der read_rtl.o
(thxs olli!!!)
in der Config.in binutils von xx.0.2 auf xxx.0.6
ds-0.2/toolchain/make/target/binutils/2.16.91.0.2 verzeichnis auf ds-0.2/toolchain/make/target/binutils/2.16.91.0.6 umbenannt.
Wird alles in der nächsten Version mit drinnen sein. Mal sehen, bei wem die Toolchain dann immer noch nicht kompiliert ;)

Mfg,
danisahne
 
Ich habe alle oben beschriebenen Änderungen gemacht und das Compilieren kommt auch schon recht weit, aber dann bricht es doch wieder mit einer Fehlermeldung ab :confused: :
Code:
for i in toolchain/make/target/binutils/2.16.91.0.2/*.patch; do \
                patch -d /home/effisio/ds-0.2/source/toolchain/binutils-2.16.91.0.2 -p1 < $i; \
        done
/bin/sh: toolchain/make/target/binutils/2.16.91.0.2/*.patch: Datei oder Verzeichnis nicht gefunden
make: *** [/home/effisio/ds-0.2/source/toolchain/binutils-2.16.91.0.2/.unpacked] Fehler 1
Habe ich was übersehen?
Effisio
 
Ja.
Du hast vergessen die binutils auf Version 2.16.91.06 umzustellen. Wahrscheinlich in der Datei /ds-0.2/.config?

MfG Oliver
 
Ich werd dieses Wochenende alles auf den aktuellen Stand bringen.
 
Vieleicht hab ich dann ja mit der neuesten Version mehr Glück.

@olistudent: Ich hatte alle Änderungen gemäss dem Posting von heini66 weiter oben gemacht, also auch toolchain/make/target/binutils/2.16.91.0.2 in .../2.16.91.0.6 umbenannt sowie die Änderung in Config.in, trotzdem wollte dann das make-Skript im (nicht mehr existierenden) Verzeichnis toolchain/make/target/binutils/2.16.91.0.2 patchen.
Effisio
 
Um zur ursprünglichen Frage nochmal was hinzuzufügen:
Viele Linux Distros haben 2 Versionen der gcc installiert. Meistens eine 4.er Version und eine 3.er Version.
Um rauszufinden, welche Version beim Aufruf von gcc benutzt wird:

Code:
gcc --version
Rausfinden, ob gcc ein symlink auf zB gcc-4.0 ist:
Code:
ls -la `which gcc`
Wie man rausfindet, ob andere Version der gcc installiert sind, nutzt man entweder die Distributions-spezifischen tools (zB debian/ubuntu) nutzen
Code:
dpkg -l | grep gcc
oder in der shell gcc Tab-Tab eingeben.

Falls hier jetzt ein Link angezeigt wird, kann man den auf den anderen (hoffentlich installierten) gcc verbiegen(Pfad- und Dateinamen anpassen)
Code:
ln -sf `which gcc` /usr/bin/gcc-3.4

Gruss,
EvilDevil
 
Hi! Ich blicke jetzt ÜBERHAUPT nicht mehr durch! Was muss ich jetzt genau tun, wenn ich folgende Fehlermeldung bei "make toolchain" bekomme?:

Code:
Making install in po
make[3]: Entering directory `/home/veit/downloads/ds-0.2/source/toolchain/binutils-2.16.91.0.2-build/gas/po'
make[3]: Nothing to be done for `install'.
make[3]: Leaving directory `/home/veit/downloads/ds-0.2/source/toolchain/binutils-2.16.91.0.2-build/gas/po'
make[3]: Entering directory `/home/veit/downloads/ds-0.2/source/toolchain/binutils-2.16.91.0.2-build/gas'
gcc -DHAVE_CONFIG_H -I. -I../../binutils-2.16.91.0.2/gas -I. -D_GNU_SOURCE -I. -I../../binutils-2.16.91.0.2/gas -I../bfd -I../../binutils-2.16.91.0.2/gas/config -I../../binutils-2.16.91.0.2/gas/../include -I../../binutils-2.16.91.0.2/gas/.. -I../../binutils-2.16.91.0.2/gas/../bfd -I../../binutils-2.16.91.0.2/gas/../intl -I../intl -DLOCALEDIR="\"/home/veit/downloads/ds-0.2/toolchain/gcc-4.0.1-uClibc-0.9.26/mipsel-linux-uclibc/share/locale\""   -W -Wall -Wstrict-prototypes -Wmissing-prototypes -Werror -g -O2 -c itbl-lex.c
itbl-lex.c: In function `yy_get_next_buffer':
itbl-lex.c:1123: warning: comparison between signed and unsigned
itbl-lex.c: At top level:
itbl-lex.c:1717: warning: no previous prototype for 'yyget_lineno'
itbl-lex.c:1726: warning: no previous prototype for 'yyget_in'
itbl-lex.c:1734: warning: no previous prototype for 'yyget_out'
itbl-lex.c:1742: warning: no previous prototype for 'yyget_leng'
itbl-lex.c:1751: warning: no previous prototype for 'yyget_text'
itbl-lex.c:1760: warning: no previous prototype for 'yyset_lineno'
itbl-lex.c:1772: warning: no previous prototype for 'yyset_in'
itbl-lex.c:1777: warning: no previous prototype for 'yyset_out'
itbl-lex.c:1782: warning: no previous prototype for 'yyget_debug'
itbl-lex.c:1787: warning: no previous prototype for 'yyset_debug'
itbl-lex.c:1821: warning: no previous prototype for 'yylex_destroy'
make[3]: *** [itbl-lex.o] Error 1
make[3]: Leaving directory `/home/veit/downloads/ds-0.2/source/toolchain/binutils-2.16.91.0.2-build/gas'
make[2]: *** [install-recursive] Error 1
make[2]: Leaving directory `/home/veit/downloads/ds-0.2/source/toolchain/binutils-2.16.91.0.2-build/gas'
make[1]: *** [install-gas] Error 2
make[1]: Leaving directory `/home/veit/downloads/ds-0.2/source/toolchain/binutils-2.16.91.0.2-build'
make: *** [/home/veit/downloads/ds-0.2/toolchain/gcc-4.0.1-uClibc-0.9.26/mipsel-linux-uclibc/mipsel-linux-uclibc/bin/ld] Error 2

Ich habe:
Code:
veit@veitbook ~ $ gcc --version
gcc (GCC) 3.4.5 (Gentoo 3.4.5, ssp-3.4.5-1.0, pie-8.7.9)
veit@veitbook ~ $ uname -a
Linux veitbook 2.6.15-gentoo-r5 #1 PREEMPT Fri Feb 24 10:40:40 CET 2006 i686 Mobile Intel(R) Pentium(R) 4 - M CPU 2.20GHz GNU/Linux

Hiiilfee :D
 
So also mit heinis tips ist sie jetzt durch gelaufen :)
ich habe jetzt ein paar module für usb-serial in der config (ds-0.2/make/kernel/Config.ohio-8mb für 7170) eingetragen. wie kann ich denn diese module jetzt übersetzen?? make modules, make kernel-modules, make toolchain habe ich alles schon probiert, tut sich aber noch nix.
kann mich mal jemand bei der hand nehmen?

gruß
tom
 
Zuletzt bearbeitet:
SatBandit schrieb:
So also mit heinis tips ist sie jetzt durch gelaufen :)
ich habe jetzt ein paar module für usb-serial in der config (ds-0.2/make/kernel/Config.ohio-8mb für 7170) eingetragen. wie kann ich denn diese module jetzt übersetzen?? make modules, make kernel-modules, make toolchain habe ich alles schon probiert, tut sich aber noch nix.
kann mich mal jemand bei der hand nehmen?

gruß
tom
hm. leider auf mipsel neuland für mich... aber interessantes thema... *g*
auf i386 wars doch make modules modules_install wenn ich nicht irre...
heute abend schau ich mir das auch mal an...
 
Welche Config hast du verändert? Die in ./make/kernel/Config.*? Dann sieht die Struktur meiner Makefiles so aus:

Da es sich hier um vorkompilierte Binärobjekte in ./kernel/modules*/... handelt, kannst du sie mit
Code:
make precompiled
übersetzen. Das erzeugt aber alle vorkompilierten Binärdateien. Um nur den Kernel+Module zu übersetzen, mach mal folgendes:
Code:
make world  # erzeugt die nötige Verzeichnisstruktur (dl, source, packages, ...)
make kernel-precompiled
Was noch etwas unschön ist, das ist die Tatsache, dass so nur der Kernel kompiliert wird, der in `make menuconfig' auch gewählt ist, d.h. du mußt die 7170 im menuconfig auswählen, um so den 8MB Kernel zu kompilieren. Das werd ich noch ändern.

EDIT: Habs mir angeschaut und werd das wohl doch nicht ändern, d.h. es werden immer nur für den Typ (4MB, 8MB, ...) Binaries gebaut, der auch im menuconfig konfiguriert wurde.

Mfg,
danisahne
 
Zuletzt bearbeitet:
so das hat schon mal funktioniert. meine beiden module usbserial.o und pl2303.o habe ich compiled, ins /var kopiert und getestet. funktioniert alles soweit sehr gut.
wie gehts nun weiter??
wie bekomme ich die 2 module ins image. da es mit dem 7zip noch probleme gibt, habe ich das bauen des kernels übersprungen und habe nur die module gemacht.
habe jetzt ein 2tes ds-mod verzeichnis gemacht und möchte jetzt ne neue firmware bauen. mit en 2 neuen modulen. weiterhin müßte ich noch irgendwie das device anlegen.
mknod /dev/ttyUSB0 c 188 0

wer kann mit noch helfen?

gruß
tom
 
Das einfachste wird sein, wenn du die 2 Module einfach unter ./root/ an die gewünschte Stelle speicherst. Die mknod Zeile und das Laden der Module kannst ja aus der debug.cfg heraus machen.

Geht das ganze, was du vorhast schon? Um das Einpflegen in den Mod kümmere ich mich dann schon.

Mfg,
danisahne
 
jo danke super. alles funktioniert so wie es soll :)
der gängiste usb-serial adapter ist der pl2303. erster versuch war gleich erfolgreich, allerdings nur durch die hilfe von heini66, der das mit der toolchain herrausgefunden hat und natürlich dani, der mir mitgeteilt hat, wie man die module neu übersetzt.

gruß
tom
 
hmm will auch:(
ihr könntet euch ja n script schreiben, was z.B. beim einstecken eures mp3-players automatisch den pc hochfährt und die neuesten mp3s synchronisiert*träum*
 
Das Package baut die libiw.so.27 doch, oder hab ich das falsch gesehen?
Die musst du dann noch nach "/mod/lib" kopieren.

MfG Oliver
 
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.