Incredibile…
primo successo insperato…. o pura fortuna?!? Ditelo voi.
Sono riuscito a compilare una toolchain FUNZIONANTE per DGA4130 senza usare roba prefatta ma
usando WSL ubuntu (eoan ermine) che e' praticamente Linux su Windows 10 e compilando il pacchetto crosstool-ng.
Per chi volesse cimentarsi, esso richiede 2 prerequisiti help2man e texinfo, che ho facilmente reperito compilato e installato.
una volta dezippato il crosstool-ng si entra nella cartella e si da
./configure
make
make install
che installa il crosstool-ng nel nostro sistema.
poi si lancia ct-ng menuconfig e si arriva ad un menu' molto simile a quello per creare il kernel di linux
terminato di settare tutti i parametri (un bel casino!) si salva la configurazione (io l'ho salvata) e si lancia
ct-ng build
Per la cronaca, nelle opzioni non ho trovato il kernel giusto, ho messo il 4.1.49 invece del 4.1.38
ma non penso ci siano grosse differenze
La glibc che ha usato e' la 2.24
Una volta eseguita la build, il toolchain viene messo nella cartella x-tools
ed ecco la compilazione di un file di prova su windows
[email protected]:~$ x-tools/arm-unknown-linux-gnueabi/bin/arm-unknown-linux-gnueabi-gcc su.c -lcrypt -o arm-su
[email protected]:~$ x-tools/arm-unknown-linux-gnueabi/bin/arm-unknown-linux-gnueabi-strip arm-su
ora guardiamo la differenza con il busybox originale
[email protected]:~$ file arm-busybox
arm-busybox: ELF 32-bit LSB executable, ARM, EABI5 version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux.so.3, for GNU/Linux 3.2.0, stripped
[email protected]:~$ file arm-su
arm-su: ELF 32-bit LSB executable, ARM, EABI5 version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux.so.3, for GNU/Linux 4.1.49, stripped
e ovviamente inviato con scp sul modem funziona senza generare core dump.
FORTUNA? Bah...