Development:NeutrinoHD von USB-Stick booten (veraltet): Unterschied zwischen den Versionen

Aus TuxBoxWIKI
Zur Navigation springen Zur Suche springen
(Die Seite wurde neu angelegt: Category:Register Category:Linux Category:Development Category:Howto Für Coolstream-Geräte besteht die Möglichkeit, ohne direkt den Flash zu bes...)
 
(archiviert)
 
(14 dazwischenliegende Versionen von 8 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
[[Category:Register]]
[[Category:Register]]
[[Category:Linux]]
[[Category:Archiv]]
[[Category:Development]]
[[Category:Development]]
[[Category:Howto]]
[[Category:Howto]]
[[Category:Hardware:Coolstream]]
[[Category:U-Boot]]


Für [[Coolstream]]-Geräte besteht die Möglichkeit, ohne direkt den Flash zu beschreiben 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__


=USB-Stick vorbereiten=
=USB-Stick vorbereiten=
Dieser muss eine 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. Der Stick sollte 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 in diese 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 25: 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 sda1...
  /bin/echo mounting $USBDEV...
  if /bin/mount -n /dev/sda1 /tmp/mnt; then
  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 sda1"
         /bin/echo "no /sbin/init on $USBDEV"
  else
  else
         /bin/echo "mount failed!"
         /bin/echo "mount failed!"
Zeile 38: 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 (boud) 115000
  Speed (baud) 115200
  Data bits 8
  Data bits 8
  Stop bits 1
  Stop bits 1
Zeile 50: 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:512k(U-Boot)ro,4096k(kernel),28160k(systemFS) root=mtd2 rootfstype=jffs2 rw mem=384M init=/linuxrc
  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
Zeile 56: Zeile 62:
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.
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=
 
*[http://www.dbox2world.net/board293-coolstream-hd1/board306-coolstream-hd1-support/board312-coolstream-hd1-howto-tutorial-anleitungen/8817-booten-vom-usb-stick/ Howto von Seife bei http://www.dbox2world.net]
{{body}}
{{body}}

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:

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.

Vorlage:Howto sidebar

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:

Eingabeaufforderung U-Boot, Ansicht von Putty

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