Der Martin: Raspi: USB-Boot deaktivieren? Wie?

Schönen Sonntag miteinander,

es klang hin und wieder schon an, dass einige der hier Mitlesenden auch schon Erfahrungen mit dem Raspberry Pi gesammelt haben; vielleicht hat also jemand den entscheidenden Hinweis.

Ich habe schon mehrmals verärgert festgestellt, dass meine Pis nicht "auf die Füße kommen", d.h. nicht korrekt booten, sobald ein USB-Massenspeicher (USB-Stick, externe HDD) angeschlossen ist. Erst wenn ich das USB-Gerät abziehe oder ausschalte (HDD), bootet der Raspi normal.

Ich vermute, dass ich heute verstanden habe, warum das so ist: Die Himbeeren können ja anstatt von der SD-Karte auch von einem USB-Medium booten, und tun das anscheinend sogar bevorzugt, sobald eins da ist. Bei einem nicht bootfähigen Medium geht das natürlich in die Hose; die ARM-CPU dürfte schon auf die Schnauze fallen, wenn sie überhaupt versucht, den Code im MBR auszuführen, der ja für x86-CPUs gedacht ist.

Daraus resultiert für mich nun die Frage: Kann man das Booten von USB beim Raspi deaktivieren? Ich habe bei meiner Suche nur haufenweise Beiträge gefunden, die zeigen, wie man einen Pi von USB bootet, ich möchte aber genau das verhindern. Any hints?

Ich bin übrigens darauf gekommen, weil ich eben eine Panne an meinem Desktop-PC hatte: Ich habe die Beine unterm Tisch lang ausgestreckt und dabei versehentlich das Power-Kabel vom PC erwischt. Es knisterte kurz an den Kontakten des Kaltgerätesteckers, und der PC machte einen RESET. I was not amused.
Noch weniger amused war ich, als das BIOS des PCs beim Wiederanlaufen meldete, das Medium sei nicht bootfähig, und ich möge doch bitte eine "system disk" einlegen (btw, wo rein denn?).
Schock. Hat's jetzt die Festplatte erwischt? Okay, von den wichtigen Daten existiert ein Backup, aber ärgerlich wär's dennoch. Gerade rechtzeitig, bevor ich schon anfangen wollte, den PC zu zerlegen, ist mir aufgefallen, dass noch eine externe HDD angeschlossen und eingeschaltet war. Mein PC hatte also erfolglos versucht, von der externen Platte zu booten - korrekt, denn die im BIOS-Setup eingestellte Bootreihenfolge ist 1. CD/DVD, 2. USB, 3. interne HDD. Externe HDD ausgeschaltet, RESET-Taster am PC gedrückt, und die Büchse fährt normal hoch. *schweißabwisch*

So long,
 Martin

  1. Moin!

    Ich habe schon mehrmals verärgert festgestellt, dass meine Pis nicht "auf die Füße kommen", d.h. nicht korrekt booten, sobald ein USB-Massenspeicher (USB-Stick, externe HDD) angeschlossen ist. Erst wenn ich das USB-Gerät abziehe oder ausschalte (HDD), bootet der Raspi normal.

    Merkwürdig. Ich kann das nämlich nicht nachvollziehen, denn sowohl der Raspi als auch der Banana booten sowohl mit angeschlossener USB-Disk (Banana: SATA-Disk) als auch mit USB-Stick ganz normal von der Speicherkarte (Raspi) bzw. dem eingebauten eMMC-Speicher (Banana).

    Das kann aber daran liegen, dass ich das (v)fat-Dateisystem nicht verwende. Das wäre dann auch mein Tipp.

    Vielleicht aber täuschst Du Dich und es liegt am nicht gedeckten Strombedarf der USB-Platte, der das Booten verhindert. Ich hatte aus genau dem Grund die Disk an einem "aktiven" USB-HUB (mit Stromversorgung).

    Jörg Reinholz

    1. Hallo Jörg,

      danke schon mal fürs Nachdenken. Der entscheidende Tipp war wohl noch nicht dabei, aber vielleicht steckt doch noch ein verborgener Hinweis drin ...

      Ich habe schon mehrmals verärgert festgestellt, dass meine Pis nicht "auf die Füße kommen", d.h. nicht korrekt booten, sobald ein USB-Massenspeicher (USB-Stick, externe HDD) angeschlossen ist. Erst wenn ich das USB-Gerät abziehe oder ausschalte (HDD), bootet der Raspi normal.

      Merkwürdig. Ich kann das nämlich nicht nachvollziehen, denn sowohl der Raspi als auch der Banana booten sowohl mit angeschlossener USB-Disk (Banana: SATA-Disk) als auch mit USB-Stick ganz normal von der Speicherkarte (Raspi) bzw. dem eingebauten eMMC-Speicher (Banana).

      Das kann aber daran liegen, dass ich das (v)fat-Dateisystem nicht verwende. Das wäre dann auch mein Tipp.

      Davon scheint es nicht abhängig zu sein. Ich beobachte diesen lästigen Effekt sowohl mit einem 8GB-Stick (FAT32), als auch einem 64GB-Stick (auch FAT32), als auch zwei 1TB-HDDs (jetzt ext4, früher auch mal FAT32).

      Vielleicht aber täuschst Du Dich und es liegt am nicht gedeckten Strombedarf der USB-Platte, der das Booten verhindert. Ich hatte aus genau dem Grund die Disk an einem "aktiven" USB-HUB (mit Stromversorgung).

      Die zwei HDDs und der 64GB-Stick hängen zwar an einem passiven Hub ohne Extra-Versorgung, aber ich verwende nur Platten mit eigenem Netzteil. Das kann's also nicht sein.

      So long,
       Martin

      1. Moin!

        Das kann aber daran liegen, dass ich das (v)fat-Dateisystem nicht verwende. Das wäre dann auch mein Tipp.

        Davon scheint es nicht abhängig zu sein. Ich beobachte diesen lästigen Effekt sowohl mit einem 8GB-Stick (FAT32), als auch einem 64GB-Stick (auch FAT32), als auch zwei 1TB-HDDs (jetzt ext4, früher auch mal FAT32).

        Hm. Sollte zwar ohne Relevanz sein, aber ist der MBR sauber?

        sudo dd if=/dev/zero of=/dev/sdX bs=446 count=1;
        

        ... putzt ihn und lässt alles andere unangetastet. Weitere Frage: Ist das boot-Flag für eine Partition gesetzt?

        Jörg Reinholz

        1. Hi,

          Davon scheint es nicht abhängig zu sein. Ich beobachte diesen lästigen Effekt sowohl mit einem 8GB-Stick (FAT32), als auch einem 64GB-Stick (auch FAT32), als auch zwei 1TB-HDDs (jetzt ext4, früher auch mal FAT32).

          Hm. Sollte zwar ohne Relevanz sein, aber ist der MBR sauber?

          nun ja ... zumindest die beiden Platten habe ich jeweils unmittelbar vorher am PC partitioniert und fermenti... ähm, formatiert. Mit GParted.

          Weitere Frage: Ist das boot-Flag für eine Partition gesetzt?

          Nein.

          So long,
           Martin

          1. Moin!

            nun ja ... zumindest die beiden Platten habe ich jeweils unmittelbar vorher am PC partitioniert und fermenti... ähm, formatiert. Mit GParted.

            Das lässt aber alles unterhalb des Bytes 447 unangetatet. Also auch einen Bootlooader. (Der aber nicht relevant zu sein scheint).

            Jörg Reinholz

            1. Hi,

              nun ja ... zumindest die beiden Platten habe ich jeweils unmittelbar vorher am PC partitioniert und fermenti... ähm, formatiert. Mit GParted.

              Das lässt aber alles unterhalb des Bytes 447 unangetatet. Also auch einen Bootlooader.

              Sicher? AFAIR fragt mich GParted bei einer jungfräulichen, fabrikneuen Platte sogar, ob er einen Bootloader im MSDOS-Stil schreiben soll.

              (Der aber nicht relevant zu sein scheint).

              Das vermute ich auch.

              So long,
               Martin

        2. Moin!

          file_get_contents('/boot/firmware/config.txt');
          file_get_contents('/boot/firmware/cmdline.txt');
          

          Jörg Reinholz

          1. Hallo,

            /boot/firmware/config.txt:

            arm_freq=850
            core_freq=375
            force_turbo=1
            gpu_mem_512=128
            gpu_mem_256=112
            disable_overscan=1
            start_file=start_x.elf
            fixup_file=fixup_x.dat
            hdmi_ignore_cec_init=1
            

            /boot/firmware/cmdline.txt:

            dwc_otg.lpm_enable=0 root=/dev/mmcblk0p2 rootfstype=ext4 noatime quiet rootwait loglevel=1 sdhci-bcm2708.enable_llm=1 dwc_otg.microframe_schedule=1 dwc_otg.fiq_fix_enable=0 dwc_otg.fiq_split_enable=0
            

            Kannst du damit was anfangen? - Ich nicht.

            So long,
             Martin

            1. Moin!

              Kannst du damit was anfangen? - Ich nicht.

              Ich kann immerhin erkennen, dass es daran nicht liegt. Und dass Dein raspi offenbar einer früheren Generation angehört (arm_freq=850, core_freq=375) …

              Jörg Reinholz

              1. Hi,

                Ich kann immerhin erkennen, dass es daran nicht liegt. Und dass Dein raspi offenbar einer früheren Generation angehört (arm_freq=850, core_freq=375) …

                ja, es ist noch das Modell mit nur 2 USB-Ports, aber schon mit 512MB RAM, und dieses Individuum (bzw. diese Speicherkarte) war zuletzt als Experiment mit XMBC in Betrieb, daher wohl auch die leichte Übertaktung auf 850 anstatt 700MHz.
                War aber nicht der Brüller - trotz leicht erhöhtem Takt konnte das Ding nicht einmal Videos in Standard-TV-Auflösung (überwiegend MPEG4 ASP in 720x576) ruckelfrei abspielen.

                Ciao,
                 Martin

                1. Moin!

                  Beeil Dich!

                  Jörg Reinholz

                  1. Hi,

                    Raspi 3 ist da!

                    Jaaaa :-)
                    Hab gestern schon gesucht. Meine kurze Recherche ergab, dass er bei Pollin am günstigsten ist.

                    --
                    Viele Grüße aus LA
                    ralphi
                    "Nicht alles was einfach ist, ist genial, aber alles was genial ist, ist einfach" - Albert E.
  2. Hi Martin,
    das klingt nach einem defekten USB-Stick oder schwachen Netzteil.
    Wenn du nicht berryboot nutzt oder in der /boot/cmdline.txt rumgespielt hast, bootet er IMMER von SD.

    --
    Viele Grüße aus LA
    ralphi
    "Nicht alles was einfach ist, ist genial, aber alles was genial ist, ist einfach" - Albert E.
  3. Hallo,

    ich würde ein zu schwaches Netzteil vermuten, ggf. eine aktiven USB HUB verwenden.

    Gruß Jan