[color="Lime"]Anleitung: Booten von USB-Stick[/color]
[color="Lime"]by seife[/color]
ACHTUNG:
[color="Red"]Ihr solltet wissen was Ihr tut !!
Nachahmung ist nur für die Empfohlen, die verstehen was ich hier schreibe.[/color]
Um vom USB-Stick booten zu können muss man nicht wirklich viel tun.
Naja, eigentlich wird ja nicht vom Stick gebootet, aber das Filesystem vom USB-Stick wird als root-FS benutzt.
Zu tun ist Folgendes:
1.
USB-Stick partitionieren, auf Partition /dev/sda1 ein ext3 FS anlegen (ich würde übrigens nicht das mkfs.ext3 auf der Coolstream dafür benutzen, das busybox mkfs.ext3 ist bekanntermassen buggy).
2.
Den USB-Stick auf der Coolstream mounten, alles rüberkopieren:
cd /tmp/sda1
cp -a /bin /dev /etc /lib /media /root /sbin /share /usr /var ./
mkdir mnt proc sys tmp
3.
Eine Datei "/linuxrc" mit folgendem Inhalt anlegen (nicht auf dem Stick sondern im root ( / ) Verzeichnis der Coolstream !!):
#!/bin/sh
/bin/echo "***** linuxrc ******"
/bin/mkdir -p /tmp/mnt
/bin/echo mounting sda1...
if /bin/mount -n /dev/sda1 /tmp/mnt; then
/bin/test -x /tmp/mnt/sbin/init && exec /sbin/chroot /tmp/mnt /sbin/init
/bin/echo "no /sbin/init on sda1"
else
/bin/echo "mount failed!"
fi
exec /sbin/init
Alles anzeigen
So das war's schon.
Um nun vom USB-Stick zu booten, einfach im u-boot anhalten und ..
setenv bootargs console=ttyRI0 mtdparts=cx2450xflash:512k(U-Boot)ro,4096k(kernel),28160k(systemFS) root=mtd2 rootfstype=jffs2 rw mem=384M init=/linuxrc
.. dann ..
.. eingeben.
Wenn ihr dann im / *kein* linuxrc und dafür lost+found habt, hat es geklappt.
Weil die /linuxrc ein fallback hat, macht es auch nichts aus, wenn der stick nicht steckt.
Und weil der Kernel ein fallback hat, macht es auch nichts aus, wenn kein /linuxrc da ist.
Insofern könnte man das per "saveenv" zum default machen, die Kiste würde sogar nach dem nächsten Image-Update noch booten.
Das soll aber jeder machen wie er will.