Du möchtest dein root Dateisystem auf eine SD-Karte auslagern:
Vorraussetzungen:
- SD Karte (512mb oder größer)
- funktionierende Serielle Konsole (link)
- 'cat /proc/mtd' ausführen und überprüfen ob rootfs angezeigt wird (bei mir ist es mtd2)
SD-Karte vorbereiten:
Partitionieren falls noch nicht geschehen:
fdisk /dev/mmcblk0
Formatieren mit ext3:
mkfs.ext3 /dev/mmcblk0p1
Dateisystem kopieren:
Kopiere das bestehende root Dateisystem auf die SD-Karte. (Angenommen es ist mtd2)
mkdir /mnt/sdmkdir /mnt/tmprootmount /dev/mmcblk0p1 /mnt/sdmtd2 -> mtdblock2, mtd1 -> mtdblock1
mount /dev/mtdblock2 /mnt/tmprootcp -av /mnt/tmproot/* /mnt/sdumount /mnt/tmproot
Anpassen der fstab der SD-Karte damit diese als root gemountet wird:
nano /mnt/sd/etc/fstab
Ändere 'rootfs / rootfs rw 0 0' zu (vorrausgesetzt ext3) '/dev/mmcblk0p1 / ext3 rw 0 0'
umount /mnt/sdreboot
Gehe zum U-Boot prompt (link)
U-Boot Einstellungen ändern:
Sicher die bootargs_root und bootargs einstellungen.
printenv bootargs_rootMeine: 'bootargs_root=root=/dev/nfs rw'
printenv bootargsMeine: 'bootargs=console=ttyS0,115200 mtdparts=cfi_flash:0x200000@0x100000(uImage)ro,0x1fd00000@0x300000(rootfs)rw root=/dev/mtdblock2'
Änder das root Dateisystem auf die SD-Karte.
set bootargs_root 'root=/dev/mmcblk0p1'set bootargs 'console=ttyS0,115200 mtdparts=nand_mtd:0x400000@0x100000(uImage),0x1fb00000@0x500000(rootfs) rw root=/dev/mmcblk0p1 rw ip=10.4.50.4:10.4.50.5:10.4.50.5:255.255.255.0:DB88FXX81:eth0:none'saveenvresetDie Ausgabe von 'df -h' zeigt für meine 1gb SD-Karte
Filesystem Size Used Avail Use% Mounted on
/dev/mmcblk0p1 976M 599M 329M 65% /
tmpfs 252M 0 252M 0% /lib/init/rw
varrun 252M 268K 252M 1% /var/run
varlock 252M 0 252M 0% /var/lock
udev 252M 92K 252M 1% /dev
tmpfs 252M 0 252M 0% /dev/shm
tmpfs 252M 0 252M 0% /var/cache/aptWenn irgend etws schief läuft kann man die gesicherten bootargs_root und bootargs zurücksetzen.





