Comunque, mi sono concentrato a far girare il codice più aggiornato possibile -> kernel e distribuzione scaricabili dall'area di download Atmark dedicata.
Cosa ho fatto:
- Ho aggiornato il kernel nella flash (Unici device di boot supportati dal bootloader sono la flash interna e la compactflash che non ho..).
- Ho Installato la debian-armadillo distribuzione in una partizione della mia SD card utilizzandola come rootfilesystem.
Ci sono tre modi per scrivere nella flash della scheda:
- Con Hermit-at installato nella Workstation.
- Con Shoehorn-at installato nella Workstation.
- Da bootloader (Hermit-at nel device) attraverso il protocollo tftp.
Visto che lavoro su una Ubuntu non volevo scombinare il tutto ed allora ho optato per la terza!
La terza modalità prevede la presenza di un server tftp raggiungibile nella rete. Nel post precedente descrivo come eseguirne uno nella mia macchina e per controllarne il debug eseguo da shell:
$ inetd -d.Scaricata l'ultima versione del kernel da http://download.atmark-techno.com/armadillo-500/image/linux-a500-1.05.bin.gz nella cartella /tftp sono pronto per l'aggiornamento:
Da una nuova shell eseguo il minicom (Impostazioni: rate 115200 bps, data 8bit, 1bit stop, No parity, No flowcontrol ) (Il jumper JP1 è cortocircuitato così da farmi presentare il menu del bootloader).
Dal menu del bootloader eseguo:
hermit> tftpdl 192.168.0.10 192.168.0.2 --kernel=linux-a500-1.05.bin.gzOk! aggiornato il kernel!
(tftpdl deviceIp workstationIp --regionName=fileToDownload)
Con il seguente comando dico al bootloader di eseguire il boot da flash:
hermit> setbootdevice flash
2
La debian-armadillo si trova qui http://download.atmark-techno.com/armadillo-500/debian/ in 4 file .tgz da estrarre in un'unica cartella.
Dato che in kernel c'è il supporto per i device MMC/SD allora decido di sfruttare la mia schedina da 1 GB ->
- Cancello le partizioni preesistenti.
- Creo un'unica partizione ext2.
- Ci estraggo i debian-armadillo files.
- Rootfs pronto!
hermit> clearenvRisultati
hermit> setenv console=ttymcx0 root=/dev/mmcblk0p1 rootdelay=1
hermit> boot
- Nella console seriale ho una shell completamente funzionante.
- L'uscita vga mi presenta la console virtuale tty1
- Settando le impostazioni di rete, il controller SMSC funziona perfettamente.
- Non ci sono moduli in /lib/modules .. ma comunque ciò che serve credo sia tutti in kernel (ma nel caso volessi supporti per espansioni ...! ricompilare il kernel o installare moduli aggiuntivi)