Debian su iConnect

Rieccomi, dopo qualche giorno di vacanza, a tentare qualche nuovo esperimento sull’iconnect!

Ho installato nativamente debian invece che usarlo in chroot in modo da usare kernel aggiornati: infatti dal 2.6.37 in poi l’architettura kirkwood di marvell è stata aggiunta ufficialmente nel kernel linux!

Ovviamente per preservare garanzia ho cercato un modo per evitare di scrivere la nand interna..
Ho trovato questa guida (http://www.kroonen.eu/wiki/Install%20Debian)

E’ fatta molto bene e vediamo ora di riassumere i passaggi in breve:

1 ) E’ richiesto l’accesso seriale per modificare i parametri di boot di u-boot. Infatti la vera modifica verrà fatta al bootloader e non alla memoria interna.. semplicemente quello che vogliamo fare è fare in modo che l’iconnect in fase di boot parta dal nostro device usb (meglio un disco fisso per velocità più elevata e maggior vita).
L’accesso è molto semplice se si ha il cavo necessario.. nel mio caso avevo un circuitino con un max3232 che usavo già in precedenza con la Fonera!

2 ) Per motivi che non sono riuscito a spiegare la partizione (anche se la guida fa riferimento sia a fat16 che a ext2) deve essere per forza ext2 oppure da un errore relativo al bad number.. Ho provato più volte a scaricare e copiare il file sul disco senza risultati. Mentre con ext2 ha funzionato alla prima..

3 ) Scarichiamo uImage e uInitrd.

4 )  Facciamo in modo che uboot scansioni i dispositivi usb.

Marvell>> usb start
(Re)start USB…
USB:   scanning bus for devices… 3 USB Device(s) found
Waiting for storage device(s) to settle before scanning…
1 Storage Device(s) found

5 ) Facciamo caricare in memoria i file uImage e uInitrd che abbiamo caricato sul nostro dispositivo su cui andremo a installare debian.

ext2load usb 0:1 0x01100000 /uInitrd
ext2load usb 0:1 0x00800000 /uImage

6 ) Questo è il vero “hack” ovvero diciamo al bootloader di far partire l’installer e non la nand dell’iconnect

setenv bootargs console=ttyS0,115200n8 base-installer/initramfs-tools/driver-policy=most
bootm 0x00800000 0x01100000

7 ) A questo punto partirà l’installer debian. Usate una connessione ethernet e non dovrebbero esserci problemi tranne
che per la configurazione del kernel che fallirà.
Poiché uboot carica solo ext2 e fat16, la partizione /boot dovrà essere per forza in ext2!
8 ) Ho compilato Linux 3.0.4 per iconnect grazie alla patch che ho trovato su questo blog (http://diogogomes.com/).
L’ho leggermente modificata ma la maggior parte del lavoro l’ha fatta lui :)
Scaricate questi 2 file uImage e modules.tar e copiate uImage dentro alla partizione di boot (senza rinominarla) e
decomrpimete modules.tar dentro a /

cd /
tar xvf modules.tar

9) Facciamo in modo che ora l’iconnect parta con le direttive giuste!

setenv bootargs_console 'console=ttyS0,115200 root=/dev/sda2 rootdelay=10'
setenv bootcmd_usb 'usb start; ext2load usb 0:1 0x00800000 /uImage'
setenv bootcmd 'setenv bootargs $(bootargs_console); run bootcmd_usb;bootm 0x00800000'
saveenv

10) Riavviate e dovrebbe partire debian senza problemi!
Buon divertimento!
 

 

, ,

3 Commenti

iConnect How to: chrooting

Requisiti

  • iConnect (ultimo firmware)
  • iConnect con accesso ssh (e root)
  • USB pen/HD (2-4 gb freespace) [molto meglio un hd per poter usare uno swap file mentre la penna usb potrebbe subire i molti cicli lettura scrittura]

1) Create l’immagine deboostrap (da un sistema linux x86/x64 e non direttamente dall’iConnect)

debootstrap –include=aptitude,wget,nmap,apt  –verbose –arch armel sid /armel-chroot http://debian.fastweb.it/debian

Nella cartella /armel-chroot avrete quindi la vostra immagine che dovete comprimere e poi copiare sull’iConnect.

2) Copiate e decomprimete il file sull’hd della vostra iConnect, precisamente fate in modo di avere la root dell’immagine debootstrap dentro a $NOMEHD/armel-chroot/

Monto /proc e /dev (utile per tun e altri moduli)

mount -t proc /proc/ /mnt/soho_storage/samba/shares/$NOMEHD/armel-chroot/proc/
mount –bind  /dev/ /mnt/soho_storage/samba/shares/$NOMEHD/armel-chroot/dev/
Ora provate a fare il chroot:
chroo /mnt/soho_storage/samba/shares/$NOMEHD/armel-chroot/
E dovreste trovarvi dentro alla vostra nuova distribuzione.
3) A questo punto dovreste eseguire lo step2 di debootstrap ma fallirà probabilmente.. la cosa che consiglio anche se molto “sporca” è fare un dpkg –i * dentro alla cartella cache di apt..
In questa maniera installerete tutti i pacchetti..
Seguite poi un:
apt-get -f install
per eliminare eventuali errori..
Scusate l’imprecisione nello scrivere la guida ma è passato qualche mese da quando ho fatto “l’hack” e quindi non mi ricordo esattamente tutti i passi..
Sono molto felice di aiutare qualcuno se avete problemi!

4 Commenti

iConnect and openvpn! (tun support)

Ho compilato il modulo tun per l’iconnect e ora la uso con il server buyvm per superare le limitazioni di fastweb..
Il modulo è stato compilato dai sorgenti che forniscono loro (e per fortuna è stato allegato pure il .config se qualcuno si volesse avventurare in modifiche più pesanti)..

Se a qualcuno interessa posso passare il modulo da caricare invece di stare a scaricare e roba varia con i sorgenti!

, ,

5 Commenti

iomega iConnect

E’ un po’ che non scrivo nel blog!

A natale mio cugino mi ha regalato l’iomega iConnect! Davvero un bell’oggetto!

E’ un prodotto simile ai plugcomputer con 256 mb di ram, 1 ghz, presa ethernet gbit e wifi, 3 + 1 prese usb.

Monta un’interfaccia molto carina (proprietaria) che gira su sistema operativo debian. Le limitazioni del client torrent mi hanno fatto venir voglia di metterci mano ma senza far perdere la garanzia! Infatti le soluzioni che ho trovato su internet erano piuttosto drastiche (es flashing di kernel ecc) e vista la garanzia di 3 anni (mi sembra), avrei preferito non farla scadere subito!

Ho notato che è possibile ottenere i permessi di admin accedendo all’indirizzo http://<DEVICE_IP_ADDRESS>/support.html

Una volta sbloccato il demone ssh è possibile accede tramite “soho” seguito dalla vostra password (es password scelta da voi ciao => sohociao)

In questa maniera potrete facilmente mettere mano al sistema.. usando il computer fisso ho creato un’immagine deboostrappata di debian (unstable) e l’ho fatta funzionare direttamente in chroot sull’iConnect.

In questa maniera è possibile montare un server web, ftp, torrent o anche un desktop controllabile da remoto.

Per sfruttare completamente l’iconnect vorrei usare una scheda video usb to vga che si trovano a basso costo su eBay. Ma devo prima vedere se il kernel dell’iconnect la supporta!

Sono disponibili da sito anche i sorgenti ma sono piuttosto confusionari (hanno semplicemente incluso i sorgenti del kernel e i pacchetti debian armel che hanno usato) .

Ah e visto che la ram non è molta (specialmente se si utilizza un ambiente grafico o qualche demone) è davvero utile attivare un file di swap montato su un disco usb esterno.

La voglia di scrivere una guida è praticamente nulla :D se a qualcuno interessa mi faccia sapere e sarò felice di condividere con maggiore precisione i passi da eseguire!

, ,

16 Commenti

OpenVPN #2: TinyProxy

Una volta che siamo collegati al nostro server openvpn ci serve un modo per uscire e poter navigare..

La soluzione che ho trovato è Tinyproxy (proxy molto leggero e, a quanto ho letto in giro, anche abbastanza sicuro)..

Le uniche modifiche da fare sono impostare gli ip a cui è permesso collegarsi aggiungendo il proprio client.. nel mio caso 10.8.0.6 per esempio..

Si aggiunge a /etc/tinyproxy/tinyproxy.conf

Allow 10.8.0.6
Allow 10.8.0.10

Ora il prossimo trick sarà cercare di far andare openvpn tramite tunnel ssh in modo da superare la chiusura delle porte da parte di vari uffici ecc..

, ,

Nessun commento

OpenVPN #1

Come detto nell’ultimo post ho acquistato un vps lowcost e sto provvedendo a installarci una rete vpn per avere la possibilità di accedere alla mia rete di casa (fastweb) anche dall’esterno.

Ho trovato uno script su internet molto interessante perché permette di creare i certificati utente/server e configurare openvpn in maniera automatica..

Non fa altro che copiare le configurazioni di default di openvpn (che avete già in locale) e di creare le chiavi e i certificati per il collegamento..

wget http://vpsnoc.com/scripts/debian-openvpn.sh
chmod +x debian-openvpn.sh
./debian-openvpn.sh

Durante “l’installazione” verranno fatte domande varie ma potete tranquillamente lasciare quelle di default e potete anche non impostare la password.. Ora attraverso SFTP o in qualche altra maniera potete recuperare il file keys.tgz contenente le chiavi e il file di configurazione del client.

Per quanto riguarda windows è possibile utilizzare il client scaricabile da qui che ha una utile interfaccia grafica. (Su windows 7 è necessario lanciare l’installer con i permessi da amministratore!).

PS non sono un esperto di vpn e sto imparando e scrivendo tutto quello che combino.. Se lo usate con dati sensibili non fidatevi ciecamente e informatevi con più precisione! :)

, ,

Nessun commento