Du möchtest dein root Dateisystem auf einen USB Stick auslagern:
Vorraussetzungen:
- USB Stick mit mindestens 512 MB
- 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/sda
Formatieren mit ext3:
mkfs.ext3 /dev/sda1
Dateisystem kopieren:
Kopiere das bestehende root Dateisystem auf den Stick. (Angenommen es ist mtd2)
mkdir /mnt/sdmkdir /mnt/tmprootmount /dev/sda1 /mnt/sdmtd2 -> mtdblock2, mtd1 -> mtdblock1
mount /dev/mtdblock2 /mnt/tmprootcp -av /mnt/tmproot/* /mnt/sdumount /mnt/tmproot
Anpassen der fstab des USB Sticks damit dieser als root gemountet wird:
jed /mnt/sd/etc/fstab
Ändere 'rootfs / rootfs rw 0 0' zu (vorrausgesetzt ext3) '/dev/sda1 / ext3 rw 0 0'
umount /mnt/sdreboot
Gehe zum U-Boot prompt (link)
U-Boot Einstellungen ändern:
Sichere 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 das des USB Sticks.
set bootargs_root 'root=/dev/sda1'set bootargs 'bootargs=console=ttyS0,115200
mtdparts=nand_mtd:0x400000@0x100000(uImage),0x1fb00000@0x500000(rootfs) rw root=/dev/sda1 rootdelay=10
bootcmd=nand read.e 0x800000 0x100000 0x400000; bootm 0x800000'saveenvresetDas rootdelay muss eventuell angepasst werden. Sollte er nicht booten, einfach mal erhöhen.
Die Ausgabe von 'df -h' zeigt für meinen 2GB Stick
Filesystem Size Used Avail Use% Mounted on
/dev/sda1 1.9G 456M 1.4G 26% /
tmpfs 252M 0 252M 0% /lib/init/rw
varrun 252M 48K 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.





