View Single Post
Old 18-12-2024, 19:54   #4
vitpar
Junior Member
 
Iscritto dal: Oct 2024
Messaggi: 16
compilare firmware vmg8828

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.
  1. scaricare ed installare UTM https://mac.getutm.app/
  2. scaricare l'immagine di ubuntu-12.04-alternate-i386.iso da https://old-releases.ubuntu.com/releases/12.04/
  3. aprire UTM crea nuova -> emula -> altro -> seleziona cd/dvd image e poi da scegli selezionare l'immagine scaricata al punto 2 -> continua
  4. [IMPORTANTE] scegliere Architettura i386, almeno 20GB disco, esattamente 2GB ram e 1 solo core
  5. andare avanti fino alla fine
  6. 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)
  7. nel menu rete scegliete VLAN Emulata
  8. avviate la macchina e procedete con l'installazione fino alla fine
  9. 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
  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"
  11. ora potete avviare, accedete al desktop et voila! finito?! NO!
  12. è 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
  13. 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
  14. 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-*
  15. 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
  16. 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

Ultima modifica di vitpar : 20-12-2024 alle 17:02. Motivo: apt-get upgrade openssl
vitpar è offline   Rispondi citando il messaggio o parte di esso