• Contatto
  • Note Legali
  • Privacy
  • FAQs
  • Downloads
  • Collabora
  • Supporta
  • La Fonera 2.0n Episodio 4: installare i programmi su memoria usb esterna

    Scritto da Erriko in Fonera il 6 marzo 2010

    Abbiamo visto precedentemente come installare nuovo software sulla Fonera 2.0n. Attingendo ai repositories di OpenWrt questo router diventa davvero versatile, è quasi come avere un piccolo server domestico. Ma come sfruttare tutto questo potenziale?
    Installare molti pacchetti software o comunque alcuni particolarmente grandi  diventa impossibile attingendo alla (poca) memoria integrata della Fonera. E’ per questo che diventa indispensabile installare i programmi che desideriamo su di un supporto esterno.

    Grazie all’uscita usb della Fonera 2.0n possiamo connettere un hard disk usb o una pen drive, o diversi utilizzando un hub (in questo caso è consigliato un hub alimentato).

    Per il nostro scopo è necessario che il supporto in questione sia formattato in ext2 o ext3. Nel caso usassimo un solo supporto, potremmo partizionarlo in due ed avere così una partizione dedicata all’installazione di software aggiuntiva (quella in ext2/3) ed una partizione dedicata al download e a tutte le altre funzioni che necessitano il formato FAT32.

    Tralasceremo qui la fase di formattazione/partizionamento in quanto si tratta di unargomento trattato in tutte le salse ovunque (basta cercare su google) per concentrarci sulle operazioni da compiere per ottenere il nostro scopo.

    Ricapitolando ci serviranno:

    - una Fonera 2.0n (ma va… )

    - la fonera deve avere un Firmware DEV che permette quindi l’accesso via ssh

    - una pen drive o HD esterno con almeno una partizione in etx2 o ext3


    Le operazioni da svolgere


    Individuare la partizione ext

    Per prima cosa colleghiamo la memoria alla Fonera 2.0n e connettiamoci ad essa via ssh.

    Come avrete notato ogni disco (o partizione) viene distinto dalla Fonera con un nome del tipo Disc-A* (dove * è un numero).

    E’ possibile vedere la lista dei dischi connessi digitando sul terminale della fonera il comando:

    ls /tmp/mounts


    E’ importande individuare e memorizzare il nome assegnato alla nostra partizione ext2/3.

    Tuttavia per semplificarci la vita possiamo accedere al pannello della Fonera (quello raggiungibile digitando l’indirizzo ip del router) e cambiare il nome assegnato di default alla partizione in questione, rinominandola ad esempio con il nome di disco.


    Aggiungiamo la destinazione usb

    Digitiamo sul terminale della fonera

    vi /etc/opkg.conf

    all’interno del file troveremo due righe che iniziano con dest (fanno riferimento alla destinazione memoria interna e la destinazione ram).

    Aggiungiamo subito dopo le due righe con dest questa nuova riga:

    dest usb /tmp/mounts/disco

    dove “disco” è il nome della partizione ext precedentemente individuata.

    Note riguardo l’editor vi: se non avete mai usato vi ricordatevi che premendo il tasto I entrate in modalità modifica (e potrete quindi aggiungere la riga appena proposta). Una volta finite le operazioni di modifica per salvare dovrete premere il tasto Esc e digitare :wq!

    Una volta salvato il file digitiamo:

    opkg update 


    Profilo

    Apriamo il file del profilo digitando

    vi /etc/profile

    e modifichiamolo in modo che venga identico a questo:

    #!/bin/sh
    [ -f /etc/banner ] && cat /etc/banner
    ext_path='/tmp/mounts/disco'
    export PATH=/bin:/sbin:/usr/bin:/usr/sbin:$ext_path/usr/sbin:$ext_path/usr/bin
    export LD_LIBRARY_PATH=/lib:/usr/lib:/$ext_path/usr/lib:$ext_path/lib
    export HOME=/root
    export PS1='\u@\h:\w\$ '
    [ -x /bin/more ] || alias more=less
    [ -x /usr/bin/vim ] && alias vi=vim || alias vim=vi
    [ -z "$KSH_VERSION" -o \! -s /etc/mkshrc ] || . /etc/mkshrc
    [ -x /sbin/arp ] || arp() { cat /proc/net/arp; }
    [ -z /bin/ldd ] || ldd() { LD_TRACE_LOADED_OBJECTS=1 $*; }
    

    n.b. Ricordatevi che “disco” è il nome che abbiamo scelto per convenzione e nel vostro caso potrebbe essere diverso, per cui ext_path va modificato di conseguenza.

    Ricarichiamo il profilo digitando:

    . /etc/profile


    Finito, e adesso?

    Bene se tutto è andato a buon fine da adesso non ci resta che installare il software che preferiamo direttamente sulla memoria usb semplicemente digitando sul terminale della Fonera:

    opkg -dest usb install nomeprogramma

    Se alcuni programmi funzionano ed altri no…

    Capita che alcuni programmi richiedano librerie che vengono ricercate sulla memoria interna (nonostante queste siano sulla memoria usb). Come fa notare ophys (potete leggere il suo post originale tra i commenti), è necessario installare ldconfig con il comando:

    opkg install ldconfig

    Fatto questo è necessario creare il file /etc/ld.so.conf con l’editor vi, digitando quindi:

    vi /etc/ld.so.conf

    ed incollando al suo interno queste due righe:

    /tmp/mounts/disco/lib
    /tmp/mounts/disco/usr/lib

    Come detto precedentemente al posto di “disco” dovrà andare il nome della partizione ext2/3.

    Adesso potete proprio dare il benvenuto al vostro mini-server ;-P

    Articoli Correlati

    La Fonera 2.0n Episodio 3: repositories OpenWrt e software per tutti i gusti
    La Fonera 2.0n Episodio 2: Upgrade del firmware, accesso ssh e plugins di terze parti
    La Fonera 2.0n Episodio 6: Ripristinare il firmware alle condizioni di fabbrica
    La Fonera 2.0n Episodio 1: Cos’è

    25 commenti a “La Fonera 2.0n Episodio 4: installare i programmi su memoria usb esterna”

    1. Grazie Erriko, ho seguito la tua guida ed abilitato lo spazio su chiavetta.
      non capisco cmq perchè nella sezione applicazioni della fonera lo spazio disponibile rimanente è pari al 100%.
      cioè tutto occupato, anche se ho abilitato lo spazio extra come da tua guida, ed inoltre se lancio un df da shell mi risulta lo / e la rom piena a l 100%
      help me if is possible

      • Erriko

        Evidentemente qualche passaggio non è andato a buon fine. Hai modificato /tmp/mounts/disco con il percorso della tua partizione (potrebbe essere ad esempio /tmp/mounts/Disc-A1) in /etc/profile?

        Sia io (più volte) che altri utenti hanno ottenuto questo scopo con successo seguendo questa guida, sono certo che riuscirai anche tu :)

    2. ciao Erriko, volevo chiederti un’ultima cosa, pensi esista una applicazione che riavvii la fonera automaticamente al fallimento di un ping verso un dato sito?
      o in caso fare un riavvio ad una data ora? devo usare il cron?
      grazie

    Commenta