venerdì 24 settembre 2010

Memoria SD come filesystem bootable

512Mb di hard disk nel vostro plug non vi bastano? Oggi scopriremo come rendere una scheda di memoria SD il disco principale dello Sheevplug

Per semplicità riporto una guida da me tradotta in italiano. La fonte in lingua originale la potete trovare qui

Rendere la memoria SD un filesystem bootable
Il primo passo per rendere disco principale la vostra memory card SD è inserirla nell'apposito slot e avviare il Plug. Successivamente lanciate i seguenti comandi:
>fdisk /dev/mmcblk0 premi "o" / crea un nuovo schema partizioni premi "n" / crea una nuova partizione premi "p" / rende la partizione principale premi "1" / partizione "1" premi enter / default primo cilindro premi enter / defult ultimo cilindro premi "a" / imposta il punto di boot premi "1" / ... per la partizione "1" premi "w" / salva i cambiamenti >mkfs -t ext2 (o ext3, se preferisci) /dev/mmcblk0p1 >mkdir /mnt/sdcard >mount /dev/mmcblk0p1 /mnt/sdcard >df
 
ora avente un file system vuoto montato sulla cartella /mnt/sdcard.
ora bisogna copiare il file system esistente sulla nand dentro la memory card SD, per fare ciò lanciate i seguenti comandi:
>cp -axv / /mnt/sdcard # ci voranno all'incira 13 minuti
>cp -av /dev /mnt/sdcard

Avviare il Plug dalla scheda di memoria SD
Ora bisogna lavorare con il "bios" del Plug ossia U-boot. Per fare ciò devi collegati attraverso il cavo usb in dotazione. Lancia i seguenti comandi:
>shutdown -r now
Quando appare U-boot, interrompilo premendo un pulsante a caso.
Marvell>> printenv bootargs
bootargs=console=ttyS0,115200 mtdparts=nand_mtd:0x400000@0x100000(uImage),0x1fb00000@0x500000(rootfs) rw root=/dev/mtdblock1 rw ip=10.4.50.4:10.4.50.5:10.4.50.5:255.255.255.0:DB88FXX81:eth0:none
Quella sopra riportata è la riga che bisogna sostituire. Copia tutto quello che c'è dopo il primo "=" e incollalo in un editor di testi. Modifica la riga  "root=/dev/mtdblock1" con "root=/dev/mmcblk0p1". La nuova riga dovrebbe essere questa:

console=ttyS0,115200 root=/dev/mmcblk0p1 rw ip=10.4.50.4:10.4.50.5:10.4.50.5:255.255.255.0:DB88FXX81:eth0:none
Successivamente aggiungi all'inizio "setenv bootargs". Copia tutto e lancia questi comandi:

Marvell>> setenv bootargs console=ttyS0,115200 root=/dev/mmcblk0p1 rw ip=10.4.50.4:10.4.50.5:10.4.50.5:255.255.255.0:DB88FXX81:eth0:none
Marvell>> printenv bootargs (se preferisci, giusto per confermare che sia tutto ok)
Marvell>> boot
Per rendere permanenti le modifiche digita invece:
Marvell>> setenv bootargs console=ttyS0,115200 root=/dev/mmcblk0p1 rw ip=10.4.50.4:10.4.50.5:10.4.50.5:255.255.255.0:DB88FXX81:eth0:none
Marvell>> printenv bootargs (se preferisci, giusto per confermare che sia tutto ok)
Marvell>> saveenv
Marvell>> boot

Per info e dritte non esitate a chiedere



Stay tuned

Nessun commento:

Posta un commento