Information ausblenden
Das Digital Eliteboard ist ein Kostenloses Forum. Wenn du alle Bereiche sehen möchtest oder Fragen hast, musst du dich zunächst Registrieren.

Jetzt Registrieren

HowTo Image booten vom USB-Stick

Dieses Thema im Forum "Coolstream FAQ/HowTo" wurde erstellt von Nico1987, 1. Oktober 2012.

Status des Themas:
Es sind keine weiteren Antworten möglich.
  1. Nico1987
    Offline

    Nico1987 Freak

    Registriert:
    17. November 2009
    Beiträge:
    231
    Zustimmungen:
    340
    Punkte für Erfolge:
    63
    Ort:
    Zuhause
    ACHTUNG:
    ]Ihr solltet wissen was ihr tut, Nachahmung nur für die Empfohlen die verstehen, was hier steht!
    Sollte eure Coolstream danach ein Briefbeschwerer sein übernehmen wir keine Haftung.
    [​IMG]

    Um vom USB-Stick booten zu können muss man nicht wirklich viel tun.
    Eigentlich wird nicht vom Stick gebootet, aber das Filesystem vom USB-Stick wird als root-Filesystem benutzt.

    Zu tun ist das folgende:

    1. USB-Stick partitionieren, auf Partition /dev/sda1 ein ext3 Filesystem anlegen
    (ich würde übrigens nicht das mkfs.ext3 auf der Coolstream dafür benutzen, das busybox mkfs.ext3 ist bekanntermaßen buggy).

    2. Den USB-Stick auf der Coolstream mounten und alles über telnet kopieren:



    1 cd /tmp/sda1 2 cp -a /bin /dev /etc /lib /media /root /sbin /share /usr /var ./ 3 mkdir mnt proc sys tmp


    3. eine Datei "/linuxrc" mit folgendem Inhalt anlegen (nicht auf dem Stick sondern im root ( / ) der Coolstream!):


    1. #!/bin/sh
    2. /bin/echo "***** linuxrc ******"
    3. /bin/mkdir -p /tmp/mnt
    4. /bin/echo mounting sda1...
    5. if /bin/mount -n /dev/sda1 /tmp/mnt; then
    6. /bin/test -x /tmp/mnt/sbin/init && exec /sbin/chroot /tmp/mnt /sbin/init
    7. /bin/echo "no /sbin/init on sda1"
    8. else
    9. /bin/echo "mount failed!"
    10. fi 11. exec /sbin/init



    Das war es schon.

    Um nun vom USB-Stick zu booten:


    1: Die Coolstream ausschalten
    2: PC und Coolstream mit einem Nullmodem Kabel verbinden
    3: Putty oder Hyperterminal öffnen
    4: Coolstream booten (einschalten [​IMG] )
    5: Beliebige Taste drücken während die Box bootet
    6: Jetzt sollte das booten gestoppt sein und ihr habt einen prompt und könnt Befehle eingeben.

    Jetzt geben wir:

    7:

    [TD="class: codeLineNumbers container-3"]1.[/TD]
    [TD="class: codeLines container-4"]printenv[/TD]

    [TD="class: codeLines container-4"][/TD]


    ein und erhalten eine Ausgabe die wie folgt Aussehen kann:


    1. HD1> printenv 2. bootargs=console=ttyRI0 mtdparts=cx2450xflash:512k(U-Boot)ro,4096k(kernel),28160k(systemFS) root=mtd2 rootfstype=jffs2 rw mem=384M 3. bootcmd=bootm 0xF0080000 4. bootdelay=1 5. baudrate=115200 6. ipaddr=192.168.1.101 7. serverip=192.168.1.24 8. netmask=255.255.255.0 9. bootfile="uImage" 10. stdin=serial 11. stdout=serial 12. stderr=serial 13. Environment size: 308/131068 bytes 14. HD1>



    [TD="class: codeLineNumbers container-3"][/TD]
    8: Von der Ausgabe kopieren wir uns die bootargs damit wir nicht so viel tippen müssen und um Fehler zu vermeiden. Also alles nach bootargs= und fügen am ende init=/linuxrc mit an.
    Das ganze sieht dann so aus:
    console=ttyRI0 mtdparts=cx2450xflash:512k(U-Boot)ro,4096k(kernel),28160k(systemFS) root=mtd2 rootfstype=jffs2 rw mem=384M init=/linuxrc

    9: jetzt geben wir dem u-boot die neuen Argumente mit indem wir:


    [TD="class: codeLineNumbers container-3"]1[/TD]
    [TD="class: codeLines container-4"]. setenv bootargs console=ttyRI0 mtdparts=cx2450xflash:512k(U-Boot)ro,4096k(kernel),28160k(systemFS) root=mtd2 rootfstype=jffs2 rw mem=384M init=/linuxrc[/TD]

    [TD="class: codeLines container-4"][/TD]



    und dann:

    9:


    [TD="class: codeLineNumbers container-3"]1.[/TD]
    [TD="class: codeLines container-4"]boot[/TD]

    [TD="class: codeLines container-4"][/TD]



    eingeben.
    Jetzt bootet die Coolstream einmalig vom USB Stick.
    Wenn ihr dann im / kein linuxrc und dafür lost+found seht, 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.

    Quelle=Coolstream*to
     
    Zuletzt bearbeitet: 3. Oktober 2012
    #1
Status des Themas:
Es sind keine weiteren Antworten möglich.

Diese Seite empfehlen

OK Mehr information

Diese Seite verwendet Cookies. Mit Ihrem Klick auf OK stimmen Sie der Verwendung von Cookies zu. Andernfalls ist die Funktionalität dieser Website beschränkt.