- Mitglied seit
- 30 Jul 2005
- Beiträge
- 1,493
- Punkte für Reaktionen
- 0
- Punkte
- 0
Hi,
ich habe zur Zeit grundlegende Probleme, was das Ersetzen der uClibc angeht, und hier leider zu wenig tiefgehende Kenntnisse.
Ich würde gerne im Userland immer einen aktuellen Compiler verwenden, daher ja immer die Unterscheidung von kernel- und target-Toolchain (Kernel lässt sich nur mit einem älteren GCC übersetzen). Dazu hab ich anhand von Patches aus dem Crosstool die uClibc Version 0.9.26 aus den Open Source Paketen von AVM angepasst, so dass sie auch mit GCC ab Version 4 kompiliert.
Wenn ich diese gepatchte Version mit der kernel-Toolchain kompiliere (GCC 3.2.3 binutils 2.15 mit irgeneiner 2.x glibc) und in der Firmware ersetze, dann scheint alles gut zu gehen. Das selbe mit der target-Toolchain (GCC 4.1.1 binutils 2.17) bringt eine Firmware hervor, die beim Aufruf von init aufhört zu booten. Nehm ich die mit der target-Toolchain kompilierte uClibc und ersetze alles bis auf ld-uClibc-0.9.26.so (der dynamische Loader), dann scheint wieder alles zu klappen.
Jetzt weiß ich natürlich nicht, ob das was zu funktionieren scheint nur durch Zufall geht bzw. bei welchen Ansätzen es zu Problemen kommen kann. Ist es überhaupt ratsam, die uClibc mit einem neueren Compiler zu übersetzen, wenn AVM-Daemons gegen die ersetze Version der uClibc gelinkt sind?
Mfg
danisahne
ich habe zur Zeit grundlegende Probleme, was das Ersetzen der uClibc angeht, und hier leider zu wenig tiefgehende Kenntnisse.
Ich würde gerne im Userland immer einen aktuellen Compiler verwenden, daher ja immer die Unterscheidung von kernel- und target-Toolchain (Kernel lässt sich nur mit einem älteren GCC übersetzen). Dazu hab ich anhand von Patches aus dem Crosstool die uClibc Version 0.9.26 aus den Open Source Paketen von AVM angepasst, so dass sie auch mit GCC ab Version 4 kompiliert.
Wenn ich diese gepatchte Version mit der kernel-Toolchain kompiliere (GCC 3.2.3 binutils 2.15 mit irgeneiner 2.x glibc) und in der Firmware ersetze, dann scheint alles gut zu gehen. Das selbe mit der target-Toolchain (GCC 4.1.1 binutils 2.17) bringt eine Firmware hervor, die beim Aufruf von init aufhört zu booten. Nehm ich die mit der target-Toolchain kompilierte uClibc und ersetze alles bis auf ld-uClibc-0.9.26.so (der dynamische Loader), dann scheint wieder alles zu klappen.
Jetzt weiß ich natürlich nicht, ob das was zu funktionieren scheint nur durch Zufall geht bzw. bei welchen Ansätzen es zu Problemen kommen kann. Ist es überhaupt ratsam, die uClibc mit einem neueren Compiler zu übersetzen, wenn AVM-Daemons gegen die ersetze Version der uClibc gelinkt sind?
Mfg
danisahne