SheevaPlug: differenze tra le versioni

Da Guide@Debianizzati.Org.
Vai alla navigazione Vai alla ricerca
Nessun oggetto della modifica
m (versioni compatibili - rimosse ultime versioni)
 
(53 versioni intermedie di 5 utenti non mostrate)
Riga 1: Riga 1:
{{Versioni compatibili|Debian Squeeze<br/>Debian Sid|}}
{{Versioni compatibili|Jessie}}
=Introduzione=
== Introduzione ==
Questa guida illustra come installare Debian sullo [http://www.openplug.org/ SheevaPlug].
Questa guida illustra come installare Debian sullo [http://www.openplug.org/ SheevaPlug], primo modello. Per gli altri modelli, far riferimento alla documentazione indicata tra le [[SheevaPlug#Fonti|fonti]].


Un grazie sentito a Martin Michlmayr, sul cui lavoro si basa gran parte di questa guida.
Un grazie sentito a Martin Michlmayr, sul cui lavoro si basa gran parte di questa guida.


= Prima accessione =
== Preparazione ==
=== Memoria SD ===
Se si intende effettuare l'installazione su SD, è consigliabile spianare completamente la memoria da un pc, eliminando qualsiasi partizione preesistente su di essa, ad esempio con
<pre>
# gparted /dev/mmcblk0
</pre>
Nonostante la tabella delle partizioni sia appena stata ripulita può succedere che i vecchi dati facciano andare in errore il bootloader al momento dell'avvio.
È allora possibile azzerare veramente la tabella delle partizione con dd
<pre>
# dd if=/dev/zero of=/dev/mmcblk0 bs=1M count=10
</pre>
Con questo comando si scrivono i primi 10MB della scheda con degli 0. Questo è più che abbondante per cancellare la tabella delle partizioni e l'inizio della prima partizione.
 
=== Server TFTP ===
Nella maggior parte dei casi non è strettamente indispensabile, ma è comodo.
 
Per averne uno a disposizione, da una macchina Debian è sufficiente installarlo con <code>aptitude install tftpd-hpa</code>. Se lasciamo invariate le impostazioni, la directory root del nostro server TFTP sarà <code>/srv/tftp</code>.
 
== Prima accessione ==
Attualmente la macchina viene fornita con Ubuntu 9.04 preinstallato sulla memoria flash.
Attualmente la macchina viene fornita con Ubuntu 9.04 preinstallato sulla memoria flash.


Riga 16: Riga 34:
</pre>
</pre>


<tt>nosoup4u</tt> è la password predefinita; come prima cosa è vivamente consigliabile modificarla tramite il comando <tt>passwd</tt>.
<code>nosoup4u</code> è la password predefinita; come prima cosa è vivamente consigliabile modificarla tramite il comando <code>passwd</code>.


A questo punto occorre impostare correttamente l'ora sull'orologio hardware. Per far questo basta semplicemente impostare il fuso orario locale, fasare l'orologio di sistema e copiare l'ora sull'orologio hardware. Ecco come:
A questo punto occorre impostare correttamente l'ora sull'orologio hardware. Per far questo basta semplicemente impostare il fuso orario locale, fasare l'orologio di sistema e copiare l'ora sull'orologio hardware. Ecco come:
Riga 24: Riga 42:
# hwclock -w
# hwclock -w
</pre>
</pre>
dove <tt>0105215610</tt> significa gennaio-5-21:56-2010 (ora locale).
dove <code>0105215610</code> significa gennaio-5-21:56-2010 (ora locale).


= Installare Squeeze su SD =
== Aggiornare U-Boot ==
== Aggiornare U-Boot ==
Una volta impostata correttamente l'ora, occorre probabilmente aggiornare U-Boot che, per poter avviare il sistema da SD deve essere almeno alla versione Marvell 3.4.19. Le versioni successive sembra che abbiano alcuni problemi, quindi installeremo proprio questa versione.
Una volta impostata correttamente l'ora, occorre aggiornare U-Boot; sulla macchina probabilmente si troverà una vecchia versione modificata da Marvell per far funzionare U-Boot con il loro dispositivo, che però non permette l'installazione di Debian. Le versioni recenti di U-Boot includono già il lavoro fatto a suo tempo da Marvell, oltre a numerose migliorie e correzioni di bug che tornano utili al nostro scopo.


Per verificare quale versione è attualmente installata, bisogna accedere allo SheevaPlug tramite la sua interfaccia seriale disponibile sulla porta '''mini''' USB.
Per verificare quale versione è attualmente installata, bisogna accedere allo SheevaPlug tramite la sua interfaccia seriale disponibile sulla porta '''Mini'''-USB.


Verrà qui spiegato come farlo sfruttando un PC debianizzato. Per altri sistemi operativi, fare riferimento alla documentazione ufficiale presente sui siti citati in basso.
Verrà qui spiegato come farlo sfruttando un PC debianizzato. Per altri sistemi operativi, fare riferimento alla documentazione ufficiale presente sui siti citati in basso.
Riga 38: Riga 55:
</pre>
</pre>


Alimentare lo SheevaPlug e collegare allo SheevaPlug e al PC il cavetto mini USB fornito in dotazione. Da un terminale verificare che il dispositivo sia stato visto:
Alimentare lo SheevaPlug e collegare allo SheevaPlug e al PC il cavetto Mini-USB fornito in dotazione. Da un terminale verificare che il dispositivo sia stato visto:
<pre>
<pre>
$ lsusb
$ lsusb
Riga 44: Riga 61:
</pre>
</pre>


Il kernel dovrebbe aver assegnato il dispositivo, nel caso non ci siano altri dispositivi USB attaccati al PC, al file <tt>/dev/ttyUSB0</tt>; è possibile verificarlo spulciando tra le ultime righe del file <tt> /var/log/syslog</tt>. A questo punto è possibile trasformare il monitor del nostro PC nel... monitor dello SheevaPlug:
Il kernel dovrebbe aver assegnato il dispositivo, nel caso non ci siano altri dispositivi USB attaccati al PC, al file <code>/dev/ttyUSB0</code>; è possibile verificarlo spulciando tra le ultime righe del file <code>/var/log/syslog</code>. A questo punto è possibile trasformare il monitor del nostro PC nel... monitor dello SheevaPlug:
<pre>
<pre>
$ screen /dev/ttyUSB0 115200
# screen /dev/ttyUSB0 115200
</pre>
</pre>


{{Box|Nota| Altri programmi per terminale molto diffusi come minicom sono possibili scelte, ma nella documentazione ufficiale il programma terminale consigliato è putty; oltre a essere disponibile per molte piattaforme viene indicato perché completamente compatibile con gli standard usati; se si opera infatti su bootloader o jtag con i pacchetti forniti è bene usare un programma che riesca a eseguire tutte le operazioni; per esperienza diretta (GipPasso) posso confermare che con minicom la procedura di ripristino non è indolore come con PuTTY}}
{{Box|Nota|Altri programmi per terminale molto diffusi sono minicom o putty; quest'ultimo oltre a essere disponibile per molte piattaforme è molto facile da configurare, offrendo in un'unica finestra tutte le opzioni (periferica, velocità) da impostare, e potendo memorizzare con un solo clic il profilo selezionato: <code>/dev/ttyUSB0</code> (tipicamente) e 115200.}}


Il terminale apparirà completamente vuoto, ma in realtà siamo già collegati allo ShivaPlug e sta già ricevendo tutti gli output a video provenienti da esso. Digitiamo quindi
Il terminale apparirà completamente vuoto, ma in realtà siamo già collegati allo SheevaPlug e sta già ricevendo tutti gli output a video provenienti da esso. Digitiamo quindi
<pre>
<pre>
root
root
</pre>
</pre>
seguito da <Invio> ed effettuiamo il login immettendo la password scelta precedentemente.
seguito da <code><Invio></code> ed effettuiamo il login immettendo la password scelta precedentemente.


Riavviando l'apparecchio possiamo finalmente accedere ad U-Boot:
Riavviando l'apparecchio possiamo finalmente accedere ad U-Boot:
Riga 64: Riga 81:
Per accedere alla console di U-Boot basta premere un tasto qualsiasi entro 3 secondi dal momento in cui si presenta il conto alla rovescia (poco dopo l'avvio).
Per accedere alla console di U-Boot basta premere un tasto qualsiasi entro 3 secondi dal momento in cui si presenta il conto alla rovescia (poco dopo l'avvio).


Qualche comando essenziale della console di U-Boot (il manuale completo è presente [http://www.denx.de/wiki/bin/view/DULG/Manual qui]): <tt>help</tt> stampa a video tutti i comandi ammessi; <tt>help [comando]</tt> stampa il manuale del comando; per effettuare il boot digitare <tt>boot</tt>; <tt>reset</tt> per riavviare.
Qualche comando essenziale della console di U-Boot (il manuale completo è presente [http://www.denx.de/wiki/bin/view/DULG/Manual qui]): <code>help</code> stampa a video tutti i comandi ammessi; <code>help [comando]</code> stampa il manuale del comando; per avviare digitare <code>boot</code>; <code>reset</code> per riavviare.


Il comando <tt>version</tt> ci fornirà la versione di U-Boot attualmente installata:
Il comando <code>version</code> ci fornirà la versione di U-Boot attualmente installata:
<pre>
<pre>
Marvell>> version  
Marvell>> version  
Riga 73: Riga 90:
</pre>
</pre>


A noi interessa la versione '''Marvell''' (l'ultimo numero).
Come si può vedere, si tratta di una versione Marvell.


In questo caso, come precedentemente spiegato, per installare Debian su SD occorre passare ad una versione successiva. Questa operazione sarebbe teoricamente piuttosto critica, nel senso che nel caso in cui l'installazione non vada a buon fine, l'apparecchio perde la sua capacità di avviarsi. Fortunatamente è possibile ripristinare la configurazione di fabbrica attraverso l'interfaccia JTAG messa a disposizione sempre sulla porta mini USB dello SheevaPlug.
In questo caso, come precedentemente spiegato, occorre passare ad una versione successiva e ufficiale (almeno la 2011.12-3). Questa operazione sarebbe teoricamente piuttosto critica, nel senso che nel caso in cui l'installazione non vada a buon fine, l'apparecchio perde la sua capacità di avviarsi. Fortunatamente è possibile ripristinare la configurazione di fabbrica attraverso l'interfaccia JTAG messa a disposizione sempre sulla porta Mini-USB dello SheevaPlug.
 
Se si parte da una versione Marvell, occorre appuntarsi il MAC address del dispositivo col comando seguente (altrimenti verrà spianato e perso per sempre):
<pre>
Marvell>> print ethaddr
</pre>


Scaricare quindi [http://www.cyrius.com/tmp/u-boot.bin-3.4.19 i binari] e rinominare il file in <tt>uboot.bin</tt>. Ora ci sono due strade possibili:
Scaricare quindi [http://people.debian.org/~tbm/u-boot/2011.12-3/sheevaplug/u-boot.kwb i binari] e, se necessario, rinominare il file in <code>u-boot.kwb</code>. Ora ci sono due strade possibili:
#sfruttare un server TFTP
#sfruttare un server TFTP
#copiare U-Boot su una chiavetta USB e installarlo da essa
#copiare U-Boot su una chiavetta USB e installarlo da essa.
 
Se si dispone di un server TFTP, basta spostarvici <code>u-boot.kwb</code> e dalla console di U-Boot inserire questi comandi:
<pre>
setenv serverip 192.168.X.Y
setenv ipaddr 192.168.X.200
tftpboot 0x0800000 u-boot.kwb
nand erase 0x0 0x60000
nand write 0x0800000 0x0 0x60000
</pre>
sostituendo ovviamente 192.168.X.Y con l'IP del server.


Non avendo a disposizione un server TFTP, seguo la seconda opzione. È sufficiente formattare la chiavetta come FAT, copiarci il file, inserire la chiavetta nella porta dello SheevaPlug, accedere alla console di U-Boot e digitare i seguenti comandi:
Altrimenti è sufficiente formattare la chiavetta come FAT, copiarci il file, inserire la chiavetta nella porta dello SheevaPlug, accedere alla console di U-Boot e digitare i seguenti comandi:
<pre>
<pre>
usb start
usb start
fatload usb 0:1 0x0800000 uboot.bin
fatload usb 0:1 0x0800000 u-boot.kwb
nand erase 0x0 0xa0000
nand erase 0x0 0x60000
nand write 0x0800000 0x0 0xa0000
nand write 0x0800000 0x0 0x60000
</pre>
 
Riavviare:
<pre>
reset
reset
</pre>
</pre>


Verificare che sia tutto a posto. Infine per uscire da Screen occorre premere <tt>Ctrl-a</tt> seguito da <tt>k</tt>.
Se si partiva da una versione Marvell, occorre ora impostare nuovamente il MAC address, sostituendo l'indirizzo di esempio con quello precedentemente appuntato:
 
== Far partire l'installer ==
Inserire una memoria SD nello slot dello SheevaPlug. È consigliabile spianarla completamente da un pc, eliminando qualsiasi partizione preesistente su di essa, ad esempio con
<pre>
<pre>
# gparted /dev/mmcblk0
setenv ethaddr 00:50:43:01:c0:ab
saveenv
reset
</pre>
</pre>
Nonostante la tabella delle partizioni sia appena stata ripulita può succedere che i vecchi dati facciano andare in errore il boot loader al momento dell'avvio.
 
È allora possibile azzerare veramente la tabella delle partizione con dd
Verificare che sia tutto a posto:
<pre>
<pre>
# dd if=/dev/zero of=/dev/mmcblk0 bs=1M count=10
Marvell>> version
 
U-Boot 2011.12 (Mar 11 2012 - 18:59:46)
</pre>
</pre>
Con questo comando si scrivono i primi 10MB della scheda con degli 0. Questo è più che abbondante per cancellare la tabella delle partizioni e l'inizio della prima partizione.


Sulla stessa chiavetta che abbiamo già usato (in realtà si potrebbero adoperare anche altri tipi di dispositivo, usando comandi diversi) copiamo i file [http://people.debian.org/~joeyh/d-i/armel/images/daily/kirkwood/netboot/marvell/sheevaplug/uImage uImage] e [http://people.debian.org/~joeyh/d-i/armel/images/daily/kirkwood/netboot/marvell/sheevaplug/uInitrd uInitrd]; inseriamo la chiavetta nello SheevaPlug, entriamo nella console di U-Boot come spiegato precedentemente e digitiamo questo:
Infine per uscire da Screen occorre premere <code>Ctrl-a</code> seguito da <code>k</code>.
 
== Installare Debian ==
Abbiamo la possibilità di installare il sistema operativo su diversi dispositivi:
* scheda SD
* chiavetta USB
* disco esterno USB
 
Le chiavette USB non danno problemi, mentre U-Boot ha molto spesso difficoltà ad avviare da disco rigido esterno USB. Se si vuole installare il sistema su disco esterno, la soluzione più semplice è di lasciare la directory <code>/boot</code> su SD, e tutto il resto del sistema su disco esterno. In questo caso è ovviamente necessario eseguire l'installazione da rete, peraltro sempre consigliabile essendo molto semplice e comoda.
 
Al momento non è possibile installare Debian sulla memoria flash interna.
 
=== Far partire l'installer ===
Scarichiamo da uno dei mirror del debian-installer ufficiale, in questo caso per la versione in stabile, [ftp://ftp.debian.org/debian/dists/stable/main/installer-armel/current/images/kirkwood/netboot/marvell/sheevaplug/uImage uImage] e [ftp://ftp.debian.org/debian/dists/stable/main/installer-armel/current/images/kirkwood/netboot/marvell/sheevaplug/uInitrd uInitrd]. Se contiamo di installare Debian su SD, copiamo questi file sulla stessa chiavetta che abbiamo già usato; viceversa, se vogliamo installare Debian su un dispositivo USB, copiamo i file su una scheda SD. Come terza, sempre valida e consigliabile alternativa, mettiamoli su un server TFTP.
 
Inseriamo i due dispositivi (quello che contiene l'installer e quello su cui avverrà l'installazione) nello SheevaPlug; entriamo nella console di U-Boot come spiegato precedentemente e digitiamo questo:
<pre>
<pre>
setenv mainlineLinux yes
setenv mainlineLinux yes
Riga 112: Riga 163:
</pre>
</pre>


Il dispositivo è così configurato in modo da poter eseguire il kernel usato da Debian; ora è possibile avviare l'installer, digitando nella solita console:
Lo SheevaPlug è così configurato in modo da poter eseguire il kernel usato da Debian.
 
Digitiamo nella solita console, se l'installer si trova su USB:
<pre>
<pre>
usb start
usb start
fatload usb 0:1 0x0800000 /uInitrd
fatload usb 0:1 0x00800000 /uImage
fatload usb 0:1 0x400000 /uImage
fatload usb 0:1 0x01100000 /uInitrd
</pre>
 
Altrimenti, se si trova su una SD formattata ext2 o ext3:
<pre>
mmcinit
ext2load mmc 0:1 0x00800000 /uImage
ext2load mmc 0:1 0x01100000 /uInitrd
</pre>
 
Infine, se si trova sul server TFTP:
<pre>
setenv serverip 192.168.X.Y
setenv ipaddr 192.168.X.147
tftpboot 0x00800000 uImage
tftpboot 0x01100000 uInitrd
</pre>
sostituendo ovviamente 192.168.X.Y con l'IP del server.
 
Ora è possibile avviare l'installer:
<pre>
setenv bootargs console=ttyS0,115200n8 base-installer/initramfs-tools/driver-policy=most
setenv bootargs console=ttyS0,115200n8 base-installer/initramfs-tools/driver-policy=most
bootm 0x400000 0x0800000
bootm 0x00800000 0x01100000
</pre>
</pre>


Alla prima finestra selezionare '''C''' se si vuole localizzare la distribuzione in Italiano. Da qui in avanti l'installazione procede come di consueto: l'unica particolarità da tenere presente è la creazione obbligatoria, in fase di partizionamento, di una piccola partizione (circa 150 MB) bootabile formattata come ext2 con mount point <tt>/boot</tt>.
Alla prima finestra selezionare '''C''' se si vuole localizzare la distribuzione in Italiano. Da qui in avanti l'installazione procede come di consueto: l'unica particolarità da tenere presente è la creazione obbligatoria, in fase di partizionamento, di una piccola partizione avviabile (circa 150 MB) formattata come ext2 con mount point <code>/boot</code>.


== Configurare U-Boot ==
=== Configurare U-Boot ===
Come ultima cosa rimane solo da configurare U-Boot in modo che lanci in automatico la nostra Debian installata su SD. Per far questo bisogna inserire questi comandi nella console di U-Boot:
Finita l'installazione illustrata precedentemente, rimane solo da configurare U-Boot in modo che lanci in automatico la nostra Debian. Per far questo, se la directory <code>/boot</code> è installata su SD, bisogna inserire questi comandi nella console di U-Boot:
<pre>
<pre>
setenv bootargs_console console=ttyS0,115200
setenv bootargs_console console=ttyS0,115200
setenv bootcmd_mmc 'mmcinit; ext2load mmc 0 0x0800000 /uInitrd; ext2load mmc 0 0x400000 /uImage'
setenv bootcmd_mmc 'mmc init; ext2load mmc 0:1 0x00800000 /uImage; ext2load mmc 0:1 0x01100000 /uInitrd'
setenv bootcmd 'setenv bootargs $(bootargs_console); run bootcmd_mmc; bootm 0x400000 0x0800000'
setenv bootcmd 'setenv bootargs $(bootargs_console); run bootcmd_mmc; bootm 0x00800000 0x01100000'
saveenv
saveenv
run bootcmd
run bootcmd
</pre>
</pre>


Se invece è installata su dispositivo USB:
<pre>
setenv bootargs_console console=ttyS0,115200
setenv bootcmd_usb 'usb start; ext2load usb 0:1 0x00800000 /uImage; ext2load usb 0:1 0x01100000 /uInitrd'
setenv bootcmd 'setenv bootargs $(bootargs_console); run bootcmd_usb; bootm 0x00800000 0x01100000'
saveenv
</pre>
== Conclusioni ==
Abbiamo ora a disposizione una Debian in tutto e per tutto: divertitevi!
Abbiamo ora a disposizione una Debian in tutto e per tutto: divertitevi!


= Fonti =
== Fonti ==
*http://www.cyrius.com/debian/kirkwood/sheevaplug/install.html
*http://www.cyrius.com/debian/kirkwood/sheevaplug/install.html
*http://www.openplug.org/plugwiki/index.php/New_Plugger_How_To
*http://www.plugcomputer.org/Documentation/howtos/new-plugger-how-to/
*http://blog.debianizzati.org/2009/10/19/sheevaplug-debian-installer/
*http://www.debianizzati.org/blog/2009/10/19/sheevaplug-finalmente-supportato-dal-debian-installer
<br/>
 
----
{{Autori
: [[Utente:Stemby|Stemby]]
|Autore = [[Utente:Stemby|Stemby]]
----
}}
[[Categoria:Hardware]]
 
[[Categoria:Server]]
[[Categoria:Server]]
[[Categoria:Installazione]]

Versione attuale delle 10:31, 28 set 2019

Edit-clear-history.png Attenzione. Questa guida è da considerarsi abbandonata, per via del tempo trascorso dall'ultima verifica.

Potrà essere resa obsoleta, previa segnalazione sul forum, se nessuno si propone per l'adozione.


Debian-swirl.png Versioni Compatibili

Debian 8 "jessie"

Introduzione

Questa guida illustra come installare Debian sullo SheevaPlug, primo modello. Per gli altri modelli, far riferimento alla documentazione indicata tra le fonti.

Un grazie sentito a Martin Michlmayr, sul cui lavoro si basa gran parte di questa guida.

Preparazione

Memoria SD

Se si intende effettuare l'installazione su SD, è consigliabile spianare completamente la memoria da un pc, eliminando qualsiasi partizione preesistente su di essa, ad esempio con

# gparted /dev/mmcblk0

Nonostante la tabella delle partizioni sia appena stata ripulita può succedere che i vecchi dati facciano andare in errore il bootloader al momento dell'avvio. È allora possibile azzerare veramente la tabella delle partizione con dd

# dd if=/dev/zero of=/dev/mmcblk0 bs=1M count=10

Con questo comando si scrivono i primi 10MB della scheda con degli 0. Questo è più che abbondante per cancellare la tabella delle partizioni e l'inizio della prima partizione.

Server TFTP

Nella maggior parte dei casi non è strettamente indispensabile, ma è comodo.

Per averne uno a disposizione, da una macchina Debian è sufficiente installarlo con aptitude install tftpd-hpa. Se lasciamo invariate le impostazioni, la directory root del nostro server TFTP sarà /srv/tftp.

Prima accessione

Attualmente la macchina viene fornita con Ubuntu 9.04 preinstallato sulla memoria flash.

  1. Collegare il plug ad un router con DHCP attivato;
  2. alimentarlo;
  3. attendere qualche minuto;
  4. da un pc in rete accedere via SSH:
$ ssh root@IP_SHEEVAPLUG

nosoup4u è la password predefinita; come prima cosa è vivamente consigliabile modificarla tramite il comando passwd.

A questo punto occorre impostare correttamente l'ora sull'orologio hardware. Per far questo basta semplicemente impostare il fuso orario locale, fasare l'orologio di sistema e copiare l'ora sull'orologio hardware. Ecco come:

# dpkg-reconfigure tzdata
# date 0105215610
# hwclock -w

dove 0105215610 significa gennaio-5-21:56-2010 (ora locale).

Aggiornare U-Boot

Una volta impostata correttamente l'ora, occorre aggiornare U-Boot; sulla macchina probabilmente si troverà una vecchia versione modificata da Marvell per far funzionare U-Boot con il loro dispositivo, che però non permette l'installazione di Debian. Le versioni recenti di U-Boot includono già il lavoro fatto a suo tempo da Marvell, oltre a numerose migliorie e correzioni di bug che tornano utili al nostro scopo.

Per verificare quale versione è attualmente installata, bisogna accedere allo SheevaPlug tramite la sua interfaccia seriale disponibile sulla porta Mini-USB.

Verrà qui spiegato come farlo sfruttando un PC debianizzato. Per altri sistemi operativi, fare riferimento alla documentazione ufficiale presente sui siti citati in basso.

# aptitude install screen

Alimentare lo SheevaPlug e collegare allo SheevaPlug e al PC il cavetto Mini-USB fornito in dotazione. Da un terminale verificare che il dispositivo sia stato visto:

$ lsusb
Bus 001 Device 002: ID 9e88:9e8f  

Il kernel dovrebbe aver assegnato il dispositivo, nel caso non ci siano altri dispositivi USB attaccati al PC, al file /dev/ttyUSB0; è possibile verificarlo spulciando tra le ultime righe del file /var/log/syslog. A questo punto è possibile trasformare il monitor del nostro PC nel... monitor dello SheevaPlug:

# screen /dev/ttyUSB0 115200
Info.png Nota
Altri programmi per terminale molto diffusi sono minicom o putty; quest'ultimo oltre a essere disponibile per molte piattaforme è molto facile da configurare, offrendo in un'unica finestra tutte le opzioni (periferica, velocità) da impostare, e potendo memorizzare con un solo clic il profilo selezionato: /dev/ttyUSB0 (tipicamente) e 115200.


Il terminale apparirà completamente vuoto, ma in realtà siamo già collegati allo SheevaPlug e sta già ricevendo tutti gli output a video provenienti da esso. Digitiamo quindi

root

seguito da <Invio> ed effettuiamo il login immettendo la password scelta precedentemente.

Riavviando l'apparecchio possiamo finalmente accedere ad U-Boot:

# reboot

Per accedere alla console di U-Boot basta premere un tasto qualsiasi entro 3 secondi dal momento in cui si presenta il conto alla rovescia (poco dopo l'avvio).

Qualche comando essenziale della console di U-Boot (il manuale completo è presente qui): help stampa a video tutti i comandi ammessi; help [comando] stampa il manuale del comando; per avviare digitare boot; reset per riavviare.

Il comando version ci fornirà la versione di U-Boot attualmente installata:

Marvell>> version 

U-Boot 1.1.4 (Mar 19 2009 - 16:06:59) Marvell version: 3.4.16

Come si può vedere, si tratta di una versione Marvell.

In questo caso, come precedentemente spiegato, occorre passare ad una versione successiva e ufficiale (almeno la 2011.12-3). Questa operazione sarebbe teoricamente piuttosto critica, nel senso che nel caso in cui l'installazione non vada a buon fine, l'apparecchio perde la sua capacità di avviarsi. Fortunatamente è possibile ripristinare la configurazione di fabbrica attraverso l'interfaccia JTAG messa a disposizione sempre sulla porta Mini-USB dello SheevaPlug.

Se si parte da una versione Marvell, occorre appuntarsi il MAC address del dispositivo col comando seguente (altrimenti verrà spianato e perso per sempre):

Marvell>> print ethaddr

Scaricare quindi i binari e, se necessario, rinominare il file in u-boot.kwb. Ora ci sono due strade possibili:

  1. sfruttare un server TFTP
  2. copiare U-Boot su una chiavetta USB e installarlo da essa.

Se si dispone di un server TFTP, basta spostarvici u-boot.kwb e dalla console di U-Boot inserire questi comandi:

setenv serverip 192.168.X.Y
setenv ipaddr 192.168.X.200
tftpboot 0x0800000 u-boot.kwb
nand erase 0x0 0x60000
nand write 0x0800000 0x0 0x60000

sostituendo ovviamente 192.168.X.Y con l'IP del server.

Altrimenti è sufficiente formattare la chiavetta come FAT, copiarci il file, inserire la chiavetta nella porta dello SheevaPlug, accedere alla console di U-Boot e digitare i seguenti comandi:

usb start
fatload usb 0:1 0x0800000 u-boot.kwb
nand erase 0x0 0x60000
nand write 0x0800000 0x0 0x60000

Riavviare:

reset

Se si partiva da una versione Marvell, occorre ora impostare nuovamente il MAC address, sostituendo l'indirizzo di esempio con quello precedentemente appuntato:

setenv ethaddr 00:50:43:01:c0:ab
saveenv
reset

Verificare che sia tutto a posto:

Marvell>> version

U-Boot 2011.12 (Mar 11 2012 - 18:59:46)

Infine per uscire da Screen occorre premere Ctrl-a seguito da k.

Installare Debian

Abbiamo la possibilità di installare il sistema operativo su diversi dispositivi:

  • scheda SD
  • chiavetta USB
  • disco esterno USB

Le chiavette USB non danno problemi, mentre U-Boot ha molto spesso difficoltà ad avviare da disco rigido esterno USB. Se si vuole installare il sistema su disco esterno, la soluzione più semplice è di lasciare la directory /boot su SD, e tutto il resto del sistema su disco esterno. In questo caso è ovviamente necessario eseguire l'installazione da rete, peraltro sempre consigliabile essendo molto semplice e comoda.

Al momento non è possibile installare Debian sulla memoria flash interna.

Far partire l'installer

Scarichiamo da uno dei mirror del debian-installer ufficiale, in questo caso per la versione in stabile, uImage e uInitrd. Se contiamo di installare Debian su SD, copiamo questi file sulla stessa chiavetta che abbiamo già usato; viceversa, se vogliamo installare Debian su un dispositivo USB, copiamo i file su una scheda SD. Come terza, sempre valida e consigliabile alternativa, mettiamoli su un server TFTP.

Inseriamo i due dispositivi (quello che contiene l'installer e quello su cui avverrà l'installazione) nello SheevaPlug; entriamo nella console di U-Boot come spiegato precedentemente e digitiamo questo:

setenv mainlineLinux yes
setenv arcNumber 2097
saveenv
reset

Lo SheevaPlug è così configurato in modo da poter eseguire il kernel usato da Debian.

Digitiamo nella solita console, se l'installer si trova su USB:

usb start
fatload usb 0:1 0x00800000 /uImage
fatload usb 0:1 0x01100000 /uInitrd

Altrimenti, se si trova su una SD formattata ext2 o ext3:

mmcinit
ext2load mmc 0:1 0x00800000 /uImage
ext2load mmc 0:1 0x01100000 /uInitrd

Infine, se si trova sul server TFTP:

setenv serverip 192.168.X.Y
setenv ipaddr 192.168.X.147
tftpboot 0x00800000 uImage
tftpboot 0x01100000 uInitrd

sostituendo ovviamente 192.168.X.Y con l'IP del server.

Ora è possibile avviare l'installer:

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

Alla prima finestra selezionare C se si vuole localizzare la distribuzione in Italiano. Da qui in avanti l'installazione procede come di consueto: l'unica particolarità da tenere presente è la creazione obbligatoria, in fase di partizionamento, di una piccola partizione avviabile (circa 150 MB) formattata come ext2 con mount point /boot.

Configurare U-Boot

Finita l'installazione illustrata precedentemente, rimane solo da configurare U-Boot in modo che lanci in automatico la nostra Debian. Per far questo, se la directory /boot è installata su SD, bisogna inserire questi comandi nella console di U-Boot:

setenv bootargs_console console=ttyS0,115200
setenv bootcmd_mmc 'mmc init; ext2load mmc 0:1 0x00800000 /uImage; ext2load mmc 0:1 0x01100000 /uInitrd'
setenv bootcmd 'setenv bootargs $(bootargs_console); run bootcmd_mmc; bootm 0x00800000 0x01100000'
saveenv
run bootcmd

Se invece è installata su dispositivo USB:

setenv bootargs_console console=ttyS0,115200
setenv bootcmd_usb 'usb start; ext2load usb 0:1 0x00800000 /uImage; ext2load usb 0:1 0x01100000 /uInitrd'
setenv bootcmd 'setenv bootargs $(bootargs_console); run bootcmd_usb; bootm 0x00800000 0x01100000'
saveenv

Conclusioni

Abbiamo ora a disposizione una Debian in tutto e per tutto: divertitevi!

Fonti




Guida scritta da: Stemby Swirl-auth20.png Debianized 20%
Estesa da:
Verificata da:

Verificare ed estendere la guida | Cos'è una guida Debianized