Dopo tanta agonia sto iniziando a vedere qualche risultato, sono riuscito a compilare il firmware e di conseguenza ad avere l'SDK e la toolchain per compilare programmi per il VMG8828b50b. Ho letto tanto e fatto tanti esperimenti e alla fine sono riuscito ad avere la versione di dropbear 2024.86 (l'ultima) funzionante sul router. Sono appena riuscito quindi non ho ancora giocato con le configurazioni e non ho ancora creato il pacchetto ipk ma ho eseguito il programma sul router e finalmente posso usare le nuove chiavi ed25519.
Scrivo questo post con quello che ho fatto fino ad ora sperando possa tornare utile a qualcun altro o a me stesso in futuro come pro memoria. La guida non è esaustiva, riporto le mie note quindi potrebbe capitare di dover fare qualche altro passo come ad esempio installare git per il quale non ho dato indicazioni.
Prima cosa preparare l'ambiente!
ho usato da mac UTM ma le macchine virtuali dovrebbero funzionare più o meno allo stesso modo su ogni piattaforma.
- scaricare ed installare UTM https://mac.getutm.app/
- scaricare l'immagine di ubuntu-12.04-alternate-i386.iso da https://old-releases.ubuntu.com/releases/12.04/
- aprire UTM crea nuova -> emula -> altro -> seleziona cd/dvd image e poi da scegli selezionare l'immagine scaricata al punto 2 -> continua
- [IMPORTANTE] scegliere Architettura i386, almeno 20GB disco, esattamente 2GB ram e 1 solo core
- andare avanti fino alla fine
- sarà sempre importante poter copiare/incollare dal vostro sistema a quello emulato e viceversa quindi andare nelle impostazioni della macchina appena creata selezionare la voce condivisione e abilitare condivisione appunti. Anche condividere file con il sistema principale è importante perchè UBUNTU è talmente vecchio che non riuscirete ad usare internet per questione di certificati. Quindi scegliere anche la modalità di condivisione cartella che per MacOs è VirtFs e scegliere nella stessa scermata la cartella che si vuole condividere (poi bisognerà montare in ubuntu questa cartella)
- nel menu rete scegliete VLAN Emulata
- avviate la macchina e procedete con l'installazione fino alla fine
- consiglio, in fase di installazione quando scegliete l'utente usate il nome "builder". al completamento dell'installazione dovrete riavviare il sistema virtuale. In realtà lo dovete arrestare e rimuovere l'immagine..punto 10
- a sistema arrestato andate nelle impostazioni in fondo dove trovate dischi ide e rimuovete il disco contenente l'immagine del sistema operativo. assicuratevi anche che nella scheda Qemu sia flaggato solo il checkbox "Dispositivo RNG"
- ora potete avviare, accedete al desktop et voila! finito?! NO!
- è necessario scaricare un pò di programmi con apt-get ma il file /etc/apt/sources.list è obsoleto e i link rotti quindi cancellate tutto e salvatelo con questi link:
Codice:
deb http://old-releases.ubuntu.com/ubuntu/ precise main universe
deb-src http://old-releases.ubuntu.com/ubuntu/ precise main universe
deb http://old-releases.ubuntu.com/ubuntu/ precise-updates main universe
deb-src http://old-releases.ubuntu.com/ubuntu/ precise-updates main universe
deb http://old-releases.ubuntu.com/ubuntu precise-security main universe
deb-src http://old-releases.ubuntu.com/ubuntu precise-security main universe
- Intenet potrebbe non funzionare subito.. la prima cosa da provare è di cambiare nel file /etc/network/interfaces auto in dhcp e creare una connessione wired dal network manager in dhcp e riavviare se non dovesse funzionare si può provare questo https://askubuntu.com/questions/1986...n-ubuntu-12-04
ecco il file dopo la modifica:
Codice:
# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).
# The loopback network interface
auto lo
iface lo inet loopback
# The primary network interface
auto eth0
#NetworkManager
iface eth0 inet dhcp
- adesso si dovrebbe riuscire ad installare un pò di software da shell:
Codice:
#aggiornate il sistema con
sudo apt-get update
#aggiornare i certificate per https
sudo apt-get upgrade openssl
sudo dpkg-reconfigure dash*#(e rispondi NO alla richiesta).
sudo apt-get install --reinstall ca-certificates
#Bisogna installare spice per poter fare copia incolla
apt-get install spice-*
- per montare la cartella condivisa del sistema ospitante (MacOs nel mio caso):
Codice:
builder@ubuntu:~$ sudo nano /etc/fstab
E nel file aggiungere
# UTM Shared Folder
share /mnt/utm 9p trans=virtio,version=9p2000.L,rw,_netdev,nofail,auto 0 0
builder@ubuntu:~$ sudo mkdir /mnt/utm
#e creiamo un link sul desktop
builder@ubuntu:~$ ln -s /mnt/utm ~/Desktop/utm_link
- ho anche collegato al router una chiavetta usb e condivisa tramite l'interfaccia web del router in modo da poter gestire i file da dare al router direttamente con una cartella sul desktop:
Codice:
#per montare la dir usb del router
sudo apt-get install smbclient
sudo apt-get install cifs-utils
sudo mkdir -p /mnt/router_usb_folder
#verifica le cartelle condivise disponibili 192.168.1.1 dovrebbe essere lìip del router
smbclient -L //192.168.1.1 -U guest
#usb1_sda1 dovrebbe essere l'unità montata nel router verificate da WebUI
sudo mount -t cifs //192.168.1.1/usb1_sda1 /mnt/router_usb_folder -o guest
#sempre nella webui verificate che il livello di accesso sia pubblico
ln -s /mnt/router_usb_folder /home/builder/Desktop/router_usb_folder
sudo chown -R builder:builder /mnt/router_usb_folder
sudo chmod -R 755 /mnt/router_usb_folder
echo "//192.168.1.1/usb1_sda1 /mnt/router_usb_folder cifs guest,uid=$(id -u),gid=$(id -g) 0 0" | sudo tee -a /etc/fstab && sudo mount -a
adesso il sistema è pronto
POSSIAMO INIZIARE
con git potete scaricare nella home nella directory vmg8828 il codice
https://gitlab.com/Andrea055/vmg8828
e installare il software necessario:
Codice:
sudo apt-get install -y g++ flex bison gawk make autoconf zlib1g-dev libncurses-dev git subversion gettext
poi entrate nella cartella e modificate il file feeds.default perchè anche esso è obsoleto sostituite i link con questi:
Codice:
src-git packages https://git.openwrt.org/feed/packages.git
src-git xwrt https://github.com/stgerrard008/OpenWRT-missing-file
src-git bmx6 https://github.com/stgerrard008/OpenWRT-missing-file
adesso make menuconfig e poi make dovrebbero creare l'sdk
lascio un buon link su come funziona il menuconfig
https://oldwiki.archive.openwrt.org/doc/howto/build
nel prossimo post condivido qualche nota su come ho compilato dropbear