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!

#1 di Andrea il 20 febbraio 2012 - 20:40
Come non detto: al seguente indirizzo
http://forum.doozan.com/read.php?2,5986,5986
ho trovato quello che mi serviva.
Grazie comunque!
#2 di Andrea il 17 febbraio 2012 - 09:57
Ciao,
dopo aver letto il tuo blog ed un paio di articoli a cui puntava ho deciso di acquistare l’iConnect per trasformarlo in un server/nas/ecc, andando a sostituire hardware analogo (LaCie EDmini V2) ma ormai vecchiotto e molto meno performante.
Ho visto anch’io la garanzia di TRE anni (notevole!) e mi dispiacerebbe invalidarla aprendo il dispositivo per raggiungere la console seriale.
Cercando in giro, ho trovato il seguente articolo (che probabilmente avrai già visto):
http://archlinuxarm.org/forum/viewtopic.php?t=1472
In sostanza, vi si trova uno script da scaricare e lanciare direttamente dall’iConnect che permette di:
1. modificare il settaggio di uboot affinchè cerchi una partizione avviabile tra le varie sd[a-b-c-d-][1-2], affinchè se ne trova una boota da lì, altrimenti boota dalla nand.
2. formatta e monopartiziona un eventuale disco/chiavetta usb collegata;
3. scarica una immagine avviabile di archlinux e la decomprime sul disco/chiavetta
Al riavvio, se tutto è andato bene, l’iConnect avvia Archlinux.
Ho provato, e fin qui tutto bene.
L’unico “problema” è che la mia distro è la Debian (Ubuntu in alternativa) e mi piacerebbe averla installata sull’iConnect.
Ti chiedo dunque: è possibile (per te) creare una installazione “base” di debian su una chiavetta da 2/4/8Gb, fare un dd compresso delle partizioni o un tar.gz del loro contenuto, indicare come hai partizionato la chiavetta (sempre che ci sia più di una partizione) e rendere disponibili queste informazioni/files?
In questo modo sarebbe molto agevole installare debian, senza nemmeno aprire il dispositivo!
Grazie