Development:NeutrinoHD von USB-Stick booten (veraltet): Unterschied zwischen den Versionen
Dbt (Diskussion | Beiträge) (ext2 ist auch möglich) |
Dbt (Diskussion | Beiträge) (archiviert) |
||
| (10 dazwischenliegende Versionen von 7 Benutzern werden nicht angezeigt) | |||
| Zeile 1: | Zeile 1: | ||
[[Category:Register]] | [[Category:Register]] | ||
[[Category: | [[Category:Archiv]] | ||
[[Category:Development]] | [[Category:Development]] | ||
[[Category:Howto]] | [[Category:Howto]] | ||
[[Category:Coolstream]] | [[Category:Hardware:Coolstream]] | ||
[[Category:U-Boot]] | |||
Für [[Coolstream]]-Geräte besteht die Möglichkeit, ohne direkt den Flash zu nutzen, auch von einem [[USB]]-Stick zu booten. Das funktioniert mit Hilfe eines enstprechenden Sticks welcher das [[Dateisystem]] des [[Flash]]s beinhaltet und einem Terminalprogramm wie z.B. [[Putty]]. | Für [[Hardware:Coolstream|Coolstream]]-Geräte besteht die Möglichkeit, ohne direkt den Flash zu nutzen, auch von einem [[USB]]-Stick zu booten. Das funktioniert mit Hilfe eines enstprechenden Sticks welcher das [[Dateisystem]] des [[Flash]]s beinhaltet und einem Terminalprogramm wie z.B. [[Putty]]. | ||
Hierfür sind folgende Schritte notwendig: | Hierfür sind folgende Schritte notwendig: | ||
<br style="clear:right;" /> | <br style="clear:right;" /> | ||
<div style="padding:0.5em; margin-bottom:1em; border: 2px solid #a00;">[[Bild:Stop hand.png]] '''HINWEIS:''' | <div style="padding:0.5em; margin-bottom:1em; border: 2px solid #a00;">[[Bild:Stop hand.png]] '''HINWEIS:''' | ||
''Diese Prozedur wurde an der [[Neo]] erfolgreich getestet, aber man sollte schon wissen was man tut und eine Garantie, dass es bei jedem funktioniert kann nicht gegeben werden.''</div> | ''Diese Prozedur wurde an der [[Hardware:Coolstream:NEO|Neo]] erfolgreich getestet, aber man sollte schon wissen was man tut und eine Garantie, dass es bei jedem funktioniert kann nicht gegeben werden.''</div> | ||
{{Howto_sidebar}} | {{Howto_sidebar}} | ||
__TOC__ | __TOC__ | ||
| Zeile 16: | Zeile 17: | ||
Dieser muss eine ext2- oder ext3-Partition enthalten. Am besten '''/dev/sda1''' daür verwenden und vorzugsweise am PC erstellen. | Dieser muss eine ext2- oder ext3-Partition enthalten. Am besten '''/dev/sda1''' daür verwenden und vorzugsweise am PC erstellen. | ||
Den Stick an die CS stecken. Die Frontbuchse sollte funktionieren und der Stick müsste dann auch automatisch erkannt und nach '''/tmp/sda1''' eingehangen worden sein. Falls nicht, dann manuell mounten. | Den Stick an die CS stecken. Die Frontbuchse sollte funktionieren und der Stick müsste dann auch automatisch erkannt und nach '''/tmp/sda1''' eingehangen worden sein. Falls nicht, dann manuell mounten. | ||
Anschließend kann man sich per Telnet auf der Box anmelden und kopiert den benötigen Flashinhalt auf die vorbereitete Partition: | Anschließend kann man sich per Telnet auf der Box anmelden und kopiert den benötigen Flashinhalt auf die vorbereitete Partition und legt die Ordner für Mounts und die virtuellen Dateisysteme an: | ||
cd /tmp/sda1 | cd /tmp/sda1 | ||
| Zeile 26: | Zeile 27: | ||
#!/bin/sh | #!/bin/sh | ||
/bin/echo "***** linuxrc ******" | /bin/echo "***** linuxrc ******" | ||
#hier USB-Device /dev/sda1...4 angeben, wo das Dateisystem aus dem Flash drauf kopiert wurde | |||
USBDEV=/dev/sda2 | |||
/bin/mkdir -p /tmp/mnt | /bin/mkdir -p /tmp/mnt | ||
/bin/echo mounting | /bin/echo mounting $USBDEV... | ||
if /bin/mount -n | if /bin/mount -n $USBDEV /tmp/mnt; then | ||
/bin/test -x /tmp/mnt/sbin/init && exec /sbin/chroot /tmp/mnt /sbin/init | /bin/test -x /tmp/mnt/sbin/init && exec /sbin/chroot /tmp/mnt /sbin/init | ||
/bin/echo "no /sbin/init on | /bin/echo "no /sbin/init on $USBDEV" | ||
else | else | ||
/bin/echo "mount failed!" | /bin/echo "mount failed!" | ||
| Zeile 39: | Zeile 44: | ||
=Booten= | =Booten= | ||
Jetzt öffnet man das Terminalprogramm. Die Box muss natürlich am COM1 per Nullmodemkabel hängen. Die Einstellungen im Terminalprogramm sollten so aussehen: | Jetzt öffnet man das Terminalprogramm. Die Box muss natürlich am COM1 per Nullmodemkabel hängen. Die Einstellungen im Terminalprogramm sollten so aussehen: | ||
Speed ( | Speed (baud) 115200 | ||
Data bits 8 | Data bits 8 | ||
Stop bits 1 | Stop bits 1 | ||
| Zeile 51: | Zeile 56: | ||
[[Bild:stop_neo_autoboot.png|none|500px|thumb|Eingabeaufforderung U-Boot, Ansicht von Putty]] | [[Bild:stop_neo_autoboot.png|none|500px|thumb|Eingabeaufforderung U-Boot, Ansicht von Putty]] | ||
Nun noch diese Befehle eingeben: | Nun noch diese Befehle eingeben: | ||
HDx> setenv bootargs console=ttyRI0 mtdparts=cx2450xflash: | HDx> setenv bootargs console=ttyRI0 mtdparts=cx2450xflash:384k(U-Boot)ro,128k(Splash),4096k(kernel),28160k(systemFS) root=mtd3 rootfstype=jffs2 rw mem=384M init=/linuxrc | ||
HDx> boot | HDx> boot | ||
Aktuelle Version vom 4. Mai 2018, 20:18 Uhr
Für Coolstream-Geräte besteht die Möglichkeit, ohne direkt den Flash zu nutzen, auch von einem USB-Stick zu booten. Das funktioniert mit Hilfe eines enstprechenden Sticks welcher das Dateisystem des Flashs beinhaltet und einem Terminalprogramm wie z.B. Putty.
Hierfür sind folgende Schritte notwendig:
USB-Stick vorbereiten
Dieser muss eine ext2- oder ext3-Partition enthalten. Am besten /dev/sda1 daür verwenden und vorzugsweise am PC erstellen. Den Stick an die CS stecken. Die Frontbuchse sollte funktionieren und der Stick müsste dann auch automatisch erkannt und nach /tmp/sda1 eingehangen worden sein. Falls nicht, dann manuell mounten. Anschließend kann man sich per Telnet auf der Box anmelden und kopiert den benötigen Flashinhalt auf die vorbereitete Partition und legt die Ordner für Mounts und die virtuellen Dateisysteme an:
cd /tmp/sda1 cp -a /bin /dev /etc /lib /media /root /sbin /share /usr /var ./ mkdir mnt proc sys tmp
Init-Script für U-Boot erstellen
Jetzt ein Script namens linuxrc im Rootverzeichnis der Box (nicht im Stick!) mit diesem Inhalt erstellen.
#!/bin/sh
/bin/echo "***** linuxrc ******"
#hier USB-Device /dev/sda1...4 angeben, wo das Dateisystem aus dem Flash drauf kopiert wurde
USBDEV=/dev/sda2
/bin/mkdir -p /tmp/mnt
/bin/echo mounting $USBDEV...
if /bin/mount -n $USBDEV /tmp/mnt; then
/bin/test -x /tmp/mnt/sbin/init && exec /sbin/chroot /tmp/mnt /sbin/init
/bin/echo "no /sbin/init on $USBDEV"
else
/bin/echo "mount failed!"
fi
exec /sbin/init
Darauf achten, dass das Script Unix-konform und ausführbar ist!
Booten
Jetzt öffnet man das Terminalprogramm. Die Box muss natürlich am COM1 per Nullmodemkabel hängen. Die Einstellungen im Terminalprogramm sollten so aussehen:
Speed (baud) 115200 Data bits 8 Stop bits 1 Parity none Flow control XON/XOFF
Das Terminalprogram starten und die Box rebooten. Dafür im Neutrino-Hauptmenü Neustart wählen. Im Terminalprogramm dann den Bootvorgang bei dieser Anfrage:
Hit any key to stop autoboot:
mit beliebiger Taste anhalten. Das geht womöglich sehr schnell, also den Moment gut abpassen. Klappt das, sollte diese Eingabeaufforderung erscheinen:
Nun noch diese Befehle eingeben:
HDx> setenv bootargs console=ttyRI0 mtdparts=cx2450xflash:384k(U-Boot)ro,128k(Splash),4096k(kernel),28160k(systemFS) root=mtd3 rootfstype=jffs2 rw mem=384M init=/linuxrc
HDx> boot
Die Box sollte nun vom Stick booten. Um das zu kontrollieren, kann man im Filesystem nachschauen ob /linuxrc fehlt und /lost+found vorhanden ist. Ist das der Fall, hats geklappt.
Weblinks
Grundlagen - Installation - Debug-Mode - Hardware - CDK/Development
LCars - Neutrino - Enigma - Plugins - Spiele - Software - Tools - Howto - FAQ - Images
Hauptseite - News - Alle Artikel - Bewertungen - Gewünschte Seiten - Index - Neue Artikel - Impressum - Team
Hilfeportal - Seite bearbeiten - Bilder - Links - Tabellen - Textgestaltung