USB Boot im neuen Raspbian? [Nein]

  • Hallo zusammen,

    weiß jemand ob im neuen Raspbian vom 28.09.2016 die USB Boot Funktion dabei ist?
    Also ob ich noch

    Code
    sudo apt-get update
    
    
    sudo BRANCH=next rpi-update


    aufführen muss oder nicht.

    Ich hatte Anfang der Woche update und upgrade gemacht, unter anderem wurde der Bootloader aktualisiert.

    Mir wird angezeigt:
    [font="Tahoma, Helvetica"]Distribution: Raspbian GNU/Linux 8 (jessie)[/font]
    [font="Tahoma, Helvetica"]Kernel version: Linux 4.4.21-v7+ armv7l[/font]
    [font="Tahoma, Helvetica"]Firmware: #911[/font]

    Hehe mein Pi ist ein Porsche :thumbs1: :thumbs1:

    Für eine schnelle Antwort wäre ich dankbar, da ich mitten in der Umstellung auf USB Boot bin.

    Vielen Dank

    Einmal editiert, zuletzt von Alti (5. Oktober 2016 um 15:43)

  • Wer sich an der Entwicklung beteiligen möchte, oder 100% weiß wieso, führ das Script rpi-update aus - alle anderen sollten dies auf keinen Fall tun!

    Die Firmware/Kernel, welche über rpi-update installiert wird, ist immer unstable und befindet sich stets in der Entwicklung! Bedeutet das es nicht nur Fehler/Bugs enthalten kann sondern auch das die Doku dazu nicht immer sofort verfügbar ist!
    Es ist also leichtsinnig blind rpi-update auszuführen!

    Die stable Version ist immer über apt-get verfügbar, beschränkt euch also am besten darauf!

    Leider wird das von sehr vielen Blogs falsch beschrieben - wodurch dieses Missverständnis zustande kommt...


    FAQ => Nützliche Links / Linksammlung => Bootverlauf des RaspberryPI's

    Wenn du keine SD verbaut hast kann der Bootvorgang von USB nur zwischen Schritt 2 und 3 erfolgen und das wiederum bedeutet das der fest in den SoC eingebrannte Bootloader dafür verantwortlich ist - dieser lässt sich nicht aktualisieren. Das wiederum funktioniert erst mit RaspberryPi's die ab 2016 produziert wurden

  • =( hmmm eine Sekunde zu spät gepostet...

    Hätte ich ein Chance das Rückgängig zu machen?

    Hintergrund für den Schritt, ist das der Pi 24/7 läuft und die SD Karte nur eine begrenzte Lebenserwartung hat (besonders bei 24/7).

    Wie Du schon sagtest war in allen USB Boot Blogs das so zu verstehen, dass der Wechsel auf die Next BRANCH nur den dirct USB Boot erlaubt.
    Ich werde dann man meinen Pi 3 B neu booten und hoffen dass er mir nicht um die Ohren fliegt...

    Für alle die wissen wollen was sie erwartet...


  • Hintergrund für den Schritt, ist das der Pi 24/7 läuft und die SD Karte nur eine begrenzte Lebenserwartung hat (besonders bei 24/7).

    Auch ein USB Stick hat eine begrenzte Lebendauer da dieser ebenso wie die SD auch auf NAND-Flash basiert, wozu übrigens auch SSD's gehören.

    24/7 Betrieb alleine sagt darüber nichts aus wie lange diese überlebt - entscheidender ist der Einsatz und Konfiguration des Systems.

    Ich hab seit 3 Jahren ein RaspberryPi rev1 (also der erste der raus kam) bei einem Provider laufen, der sich um zum Beispiel die Spruchbilder in meiner Signatur kümmert - seither immer noch die selbe SD verbaut und keinerlei Probleme... Natürlich mit gewissen Optimierungen am Standard Raspbian System.

    Hätte ich ein Chance das Rückgängig zu machen?

    FAQ => Nützliche Links / Linksammlung => Firmware/Kernel downgrade mit "rpi-update"



    Wie Du schon sagtest war in allen USB Boot Blogs das so zu verstehen, dass der Wechsel auf die Next BRANCH nur den dirct USB Boot erlaubt.

    Jein. Viele dieser Blogs sind schon älter und beschreiben nur eine Möglichkeit die mit einer SD funktionieren, also sowohl verbaute SD als auch USB-Stick, wo das System dann ausgelagert wird aber der Bootvorgang vom Einschalten bis starten des Kernel's weiterhin noch von der SD Karte erfolgt. Das muss man halt unterscheiden. "Damals" konnte das eben nur über die veränderbare bootcode.bin geregelt werden, mittlerweile ist das aber in der GPU verankert ebenso wie PXE.

    Ich meinte eher solche Blogs die bei jeder Gelegenheit kommentarlos beschreiben man müsse/sollte rpi-update ausführen usw - die streuen leider dieses Missverständnis. Aber selbst Artikel auf raspberrypi.org führen rpi-update bei manchen Setups auf, was aber schlicht daran liegt das diese Artikel noch aus den Anfängen stammen also aus dem Jahr 2012 ...

  • korrigiert mich wenn ich falsch liege aber da man Versionen normalerweise hochzählt vermute ich das "next BRANCH" zurzeit älter ist als das aktuelle Upgrate...

    Wir wird angezeigt:
    [font="Tahoma, Helvetica"]Distribution: Raspbian GNU/Linux 8 (jessie)[/font]
    [font="Tahoma, Helvetica"]Kernel version: Linux 4.4.17-v7+ armv7l[/font]
    [font="Tahoma, Helvetica"]Firmware: #902[/font]

    Das würde für mich die Frage beantworten "Ja im Raspbian vom 28(bzw.23).09.2016" ist der neue Bootloader drin."
    Oder liege ich da falsch?

  • Muss ich mich ernsthaft noch mal wiederholen? :-/

    Möchtest du parallel zum USB-Stick auch noch eine SD Karte verbauen?

    Wenn nicht, dann spielt es für Dich keine Rolle welche bootcode.bin verfügbar ist oder wie neu diese ist!


  • Auch ein USB Stick hat eine begrenzte Lebendauer da dieser ebenso wie die SD auch auf NAND-Flash basiert, wozu übrigens auch SSD's gehören.

    Ich will den Pi 3 B von einer HDD (PiDrive) starten (SD Karte ausbauen). Ich habe gelesen, dass die PiDrive unter den 2 Sekunden bleibt.


    Jein. Viele dieser Blogs sind schon älter und beschreiben nur eine Möglichkeit die mit einer SD funktionieren, also sowohl verbaute SD als auch USB-Stick, wo das System dann ausgelagert wird aber der Bootvorgang vom Einschalten bis starten des Kernel's weiterhin noch von der SD Karte erfolgt. Das muss man halt unterscheiden.

    Ich meinte eher solche Blogs die bei jeder Gelegenheit kommentarlos beschreiben man müsse/sollte rpi-update ausführen usw - die streuen leider dieses Missverständnis. Aber selbst Artikel auf raspberrypi.org führen rpi-update bei manchen Setups auf, was aber schlicht daran liegt das diese Artikel noch aus den Anfängen stammen also aus dem Jahr 2012 ...

    Seit dem die an dem Bootloader rumbasteln gibt es eine Posts die die SD Karte komplett überflüssig machen.
    http://www.heise.de/newsticker/mel…SD-3288619.html
    http://www.einplatinencomputer.com/raspberry-pi-usb-boot-einrichten/
    https://www.raspberrypi.org/documentation/…ootmodes/msd.md
    Ich habe aber immer darauf geachtet das die Artikel nicht älter als Juni 2016 waren. :) Denn die anderen die die SD Karte weiterhin als "Sprungbrett" verwenden, habe ich auch gefunden.

    So der Pi läuft wieder und weiterhin aber der USB Mode ist aktiviert.

    Code
    user@server:~ $ sudo vcgencmd otp_dump | grep 17:
    17:3020000a

    Muss jetzt noch die SSH Host Keys erneuern...

    Wenn ich jetzt ein

    Code
    $ apt-get upgrade

    starte haut er mir dann wieder die Porsche-Firmware #911 drauf?

  • https://www.raspberrypi.org/magpi/pi-3-interview/

    Zitat

    Gordon rewrote the boot ROM for the chip and then provided an updated boot ROM to Broadcom

    Der Boot ROM ist direkt im GPU eingebrannt, während der Herstellung. Dieser läßt sich nachträglich nicht verändern.

    Mag sein das in dem Boot ROM Fehler enthalten sind die dann nachträglich in der veränderbaren bootcode.bin verbessert wurden - aber: Wie schon 2x erwähnt:

    Wenn du KEINE SD KARTE mehr verwenden willst dann bist du auf den Boot ROM in der GPU angewiesen!


    Auch die von Dir verlinkte Anleitung (letzter Link) bezieht sich auf Verwendung einer SD Karte.

  • Hmmmm.... Mein Pi läuft und die SD Karte liegt neben mir auf dem Tisch...

    Blöderweise blinkt das grüne LED dauernd (verm. "Ich habe keine SD Karte" oder "SD Karten fehler"), aber der Fileservice ist da, Zugriff per Putty geht.

    Wenn ich das in den Artikeln richtig verstanden habe war der USB Boot für den Pi geplant und auch schon im SoC eingebaut/gebrannt nur in der Bootcode.bin deaktiviert. Die #904 bootcode.bin ist auch deutlich größer als die #911 deshalb vermute ich das sie noch nicht in der #911 drin ist.

    Gibt es überhabt eeproms auf dem Pi, so hatte ich es nämlich verstanden, aber nach Deiner Aussage gibt es die nicht auf dem Pi.

    Nachtrag aus http://www.einplatinencomputer.com/raspberry-pi-usb-boot-einrichten/

    Zitat

    [font="Open Sans"]Abschließend können den Stick wieder unmounten und den Pi erstmals nur vom USB Stick starten (SD-Karte entfernen nach herunterfahren).[/font]

    [font="Open Sans"]cd ~
    sudo umount /mnt/usbdev/boot
    sudo umount /mnt/usbdev
    sudo reboot[/font]

    Ich boote ihn halt von einer HDD.

    Einmal editiert, zuletzt von Alti (5. Oktober 2016 um 14:23)

  • So es fehlt noch das Fazit:

    Davon ausgehend, dass in der Firmware #911 (regulärer Stand heute) die bootcode.bin und die start.elf kleiner sind als in der #904 (rpi-update) ist davon auszugehen, dass mit dem #911 der USB Boot so wie er jetzt bei mir läuft nicht mehr gehen wird.

    Also wer den reinen USB Boot haben will muss wohl das rpi-update machen (mit allen Gefahren) oder zumindest die beiden oben genannten Dateien austauschen (was ich noch nicht getestet habe).
    siehe auch http://www.heise.de/newsticker/mel…SD-3288619.html
    hier sind auch links zu den aktuellen Dateien.

    Ich werde mir die beiden Dateien wegsichern und wenn ich wieder etwas Mut geschöpft habe wieder auf #911 versuchen zu wechseln und die beiden Dateien zurücksichern.

    m.E. ist der USB Boot NICHT Teil des aktuellen Updates.
    Hier die Files mit Größe aus dem Boot #904

  • Der Boot ROM ist direkt im GPU eingebrannt, während der Herstellung. Dieser läßt sich nachträglich nicht verändern. Mag sein das in dem Boot ROM Fehler enthalten sind die dann nachträglich in der veränderbaren bootcode.bin verbessert wurden

    Obwohl es ROM heißt, benötigt man einmal die SD-Karte mit der entsprechenden config.txt und dem bootcode, um genau dort ein Flag zu setzten. Ohne dieses einmalige Setup für das Bootmedium im SoC würde es nicht funktionieren.

  • Hallo mitsammen!

    Ich betreibe meine zwei 3er-RPi's auch mit USB-Boot.

    Einen der Zwei hab ich als Entwicklungssystem wo ich neue SW austeste u.s.w.: Hab da natürlich auch das upgrade & dist-upgrade ausprobiert und natürlich bootet der RPi dann nicht mehr von USB (oder Netwerk).

    Die Diskussion weiter oben ist einfach zusammenzufassen:
    Der im ROM befindliche bootloader lädt nur das bootcode.bin, beim RPi 3 kann er das nicht nur von der nSD sondern auch vom USB oder Netwerk.
    Das bootcode.bin erledigt dann den wirklichen Bootvorgang und lädt den Kernel.

    Da rpi-update auch das bootcode.bin austauscht, und zwar NICHT auf die next-BRANCH-Version, kann dann auch nicht mehr von USB gebootet werden:(

    Ich hab mir eine SD gemacht die den USB-Boot-Code drauf hat und die cmdline.txt auf USB-Boot eingestellt hat (und auch meine Einstellungen in config.txt). Damit wird diese SD nach dem Bootvorgang 'überflüssig'. Wenn ich mir die Bootpartition auf dem USB-Stick zerschossen habe (wie jetzt bei den update) dann leg ich die SD ein, boote von dort und kopiere die SD-partition mit dd zurück auf die USB und kann wieder booten und z.B. rpi-update mit next-Branch machen.

    Das hat bis jetzt immer funktioniert :)

    p.s.: Hab noch nicht getestet ob ein einfacher Austausch von bootcode.bin auch funktionioert...

    Frank

    Nach 35 Jahren im IT business hab ich mit Raspi mal selbst zum Programmieren begonnen...
    Habe auch einen 3D-Drucker, eine CNC-Fräse und etwas Elektronik-Bastelei als Hobby


  • Obwohl es ROM heißt, benötigt man einmal die SD-Karte mit der entsprechenden config.txt und dem bootcode, um genau dort ein Flag zu setzten. Ohne dieses einmalige Setup für das Bootmedium im SoC würde es nicht funktionieren.

    Wenn ich Dich richtig verstehe gibt es tatsächlich im Pi Speicherzustände (oder Flags), die im Offline erhalten bleiben (im SoC)?

    Weiter würde es bedeuten, dass mein Pi weiterhin nun immer versuchen würde auch über USB zu booten?

    Und weiter würde das bedeuten, dass ich wieder auf #911 gehen könnte und nur die start.elf und die bootcode.bin immer wieder mitnehmen müsste?

    Wenn ich dann in der config.txt einmal [font="Courier, monospace"]program_usb_boot_mode=0 [/font]eintragen würde, wäre es wieder abgeschaltet?

    Weißt Du wie die Bootfolge ist SD und dann USB oder umgekehrt?

  • Du scheinst noch immer nicht den Unterschied zu verstehen.

    Der Bootvorgang übernimmt die GPU... Das kannst du auch dem oben verlinkten Beitrag entnehmen.
    In der GPU ist ein Boot ROM eingebrannt - permanent und unveränderbar.
    Im Boot ROM steht drin was der GPU macht - quasi ein Programm was er abarbeitet.

    Seit oder für den Pi3 wurde diese BootROM überarbeitet - auch das zitierte ich oben.

    Wird der PI3 eingeschaltet sucht die GPU nach möglichen Medien auf der ein bestimmtes Muster an Dateien liegt. Erst versucht er über Netzwerk einen PXE Server zu finden, anschließend prüft es mögliche USB Devices und erst danach versucht es auf eine SD Karte zuzugreifen. Evtl. kommt auch die SD Karte vor USB - ist eher nebensächlich fürs Verständnis.

    Man nehme also den nackten Pi, stecke ein USB Stick hinein und schließt in dann an Strom an. Was passiert dann? (Frage an Euch)

    Erst nachdem die GPU ein Bootmedium gefunden hat wird davon versucht zu booten.

    Zum Bootvorgang gehört auch den veränderbaren Bootloader zu laden sowie selbstverständlich auch start.elf und kernel.img usw.... Aber genau das verpeilst du die ganze Zeit mit irgendeiner Porsche Firmware (mal davon abgesehen das #911 das Build des Kernels ist nicht der Firmware)

  • Genau so habe ich das auch verstanden.
    Du hattest nur immer wieder gesagt, eine SD Karte ist zwingend zum Booten notwendig.
    Was ich nicht ganz verstehe ist, das einmalige Booten von der Karte um den USB Boot Mode zu enablen.
    Wenn es nur Software wäre und die GPU immer nach einem Bootmedium am USB suchen würde müsste ich meine Festplatte an jeden beliebigen Pi3B hängen können und er würde dann auch ohne Karte booten.

    PS: das mit 911 und Porsche nennt man Humor und die 911 bzw 904 werden bei mir als Firmware tituliert, was mich vermutlich zu der Annahme bewegt hat, dass dort auch irgendetwas geflasht werden könnte.


  • FAQ => Nützliche Links / Linksammlung => Firmware/Kernel downgrade mit "rpi-update"

    Erst mal vielen Dank, meigrafd, für den Link, das Downgrade hat einwandfrei funktioniert.

    p.s.: Hab noch nicht getestet ob ein einfacher Austausch von bootcode.bin auch funktionioert...

    das geht. nach dem Downgrade habe ich lediglich die bootcode.bin und start.elf ausgetauscht und er bootet weiter von der Platte.

    Ich habe nur einen sonderbaren special effect, denn plötzlich hab ich nur noch 100MB Ram. Nein gegrillt habe ich ihn nicht, denn mit dem Beta Build ist wieder 1GB da und voll verfügbar.

    Was mir noch aufgefallen ist, ist das mit dem HDD Boot der Prozessor im PiMonitor eine permanente Grundlast von 0,5 (von 5max) hat und die Prozessortemperatur ist ca. 2 - 4 °C höher. Von der Karte gebootet hat er 0 Last im Ruhezustand auch die Temperatur ist niedriger bei ca. 48°C .

    Einmal editiert, zuletzt von Alti (5. Oktober 2016 um 20:47)

  • Auch wenn der Beitrag schon älter ist, muss ich trotzdem mein Meinung bzw Erfahrung dazu sagen.

    Erst mal vielen Dank, meigrafd, für den Link, das Downgrade hat einwandfrei funktioniert.


    das geht. nach dem Downgrade habe ich lediglich die bootcode.bin und start.elf ausgetauscht und er bootet weiter von der Platte.

    Ich habe nur einen sonderbaren special effect, denn plötzlich hab ich nur noch 100MB Ram. Nein gegrillt habe ich ihn nicht, denn mit dem Beta Build ist wieder 1GB da und voll verfügbar.

    Was mir noch aufgefallen ist, ist das mit dem HDD Boot der Prozessor im PiMonitor eine permanente Grundlast von 0,5 (von 5max) hat und die Prozessortemperatur ist ca. 2 - 4 °C höher. Von der Karte gebootet hat er 0 Last im Ruhezustand auch die Temperatur ist niedriger bei ca. 48°C .

    An meinem Pi3 hängt eine SSD mit USB Adapter. - Funktioniert super.
    Wobei ich das angebliche booten von der SSD nicht hinbekommen habe. Vielleicht dadurch weil ich rpi-update nicht ausgeführt habe.
    Ich habe aber eine Anleitung gefunden wo es angeblich reicht 2 Dateien auszutauschen. Die Dateien [font="Courier New"]start.elf[/font] und [font="Courier New"]bootcode.bin.[/font]
    [font="Arial"]Bei mir hat das aber nichts gebracht. Habe es dann gelassen, weil ich [/font]zufällig eine 256MB SD rumliegen hatte.
    Die habe ich jetzt als Bootmedium eingebaut.

    Meine Systemlasten haben sich dadurch aber nicht verändert, auch die Temperatur ist nicht anders.
    Habe immer so um die 41 - 42 Grad Prozessortemperatur. Natürlich mit Kühlkörper.

    Gruß Georg

    ... und sie leben doch :cool:

    Raspberry Pi B+, Raspberry Pi2, Raspberry Pi3

Jetzt mitmachen!

Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!