Raspbian von Pidrive (USB Festplatte) booten

  • Hallo

    ich habe mir ein Pidrive besorgt und versuche nun dort Raspbian zu installiern.

    Starten soll das ganze von einem Raspberry Pi Zero. (Von der Hardware her habe ich alles da)

    Also ist dort kein direkter Boot ohne Speicherkarte möglich wie beim Raspberry 3.

    Berryboot möchte ich nicht verwenden.

    Ich finde es schade das WD dort keine Direkte Lösung auf der Karte hat sondern nur per Berryboot.

    So weit ich das gelesen habe muss man nur boot Daten auf der Speicherkarte haben.

    Raspbian stretch möchte ich halt gerne verwenden.

    Die frage ist nur wie man genau vorgehen muss.

    Man findet halt ständig nur die Anleitungen für den Pi 3.

  • Für alle RaspberryPi's abgesehen vom Pi3B wird weiterhin eine SD Karte benötigt. Das hat mit der fest eingebrannten Firmware im SoC zu tun und kann nicht verändert werden, also auch nicht von der Foundation.

    Du brauchst kein Berryboot. Google einfach mal nach raspberry boot usb da finden sich etliche Anleitung auch zu non-Pi3's.

    (es wird nur ein bestimmtes Kernel Parameter benötigt, also ein Eintrag in cmdline.txt)

  • Ja das hatte ich versucht ich hatte den Boot Fad in der cmdline.txt geändert aber dann kam ein Fehler ich hätte keine root rechte wärend des bootens.

    Ich habe nach wie vor keine richtig gescheite Anleitung gefunden jeder macht es anders und oft ist alles sehr aufwendig.

    (Ich habe nach Anleitungen auf Deutsch gesucht)

    Hatte ich versucht aber nicht verschoben die Partion sondern einfach bei der SD Karte die Überflüssige Partion gelöscht und bei der Festplatte die Boot Partion gelöscht.

    2 Mal editiert, zuletzt von raspberryfan (14. November 2017 um 01:51)

  • Löschen brauchst du nichts.

    Wichtig ist einfach nur zu wissen dass der Pi nur von einer FAT32 Partition booten kann, bzw die GPU übernimmt diesen Part und kann daher nur auf FAT zugreifen.

    Ab dem Moment wo der Pi eingeschaltet wird übernimmt die GPU den ersten Startvorgang und sucht nach einer FAT32 Partition. In dieser Partition sucht er dann wiederum nach bestimmten Dateien... Siehe dazu Bootverlauf des RaspberryPI's

    Was du also nur brauchst ist eine FAT32 Partition auf der SD Karte und kopierst direkt darauf alle Dateien aus /boot/ des Raspbian Images.

    Dann bearbeitest du die cmdline.txt und änderst das Parameter root=/dev/mmcblk0p2 so ab das es auf dein USB-Stick bzw USB-Festplatte zeigt. Viele verwenden dafür einfach nur den Device-Path zur 1.Partition wie zB /dev/sda1, was aber zu Problemen führen kann wenn man später mal ein weiteren USB-Datenträger anschließt. Besser wäre meiner bescheidenen Meinung nach die UUID oder das Partitions-Label zu verwenden, siehe dazu Bootreihenfolge der USB-Ports?


    PS: Merk dir blos nicht was im Video gesagt wird. Gefährliches Halbwissen und falsche Beschreibung bzw Begriffsverwendung.

  • Was ist denn im Video genau falsch. Das er nicht alles genau erklärt ist schon klar.

    dwc_otg.lpm_enable=0 console=serial0,115200 console=tty1 root=PARTUUID=11eccc69-02 rootfstype=ext4 elevator=deadline fsck.repair=yes rootwait quiet init=/usr/lib/raspi-config/init_resize.sh

    steht bei mir.

    Also nicht root=/dev/mmcblk0p2.

    Dennoch genauso ändern ?

    Bei /dev/sda1 habe ich was in Bild 1 ist.

    Bei /dev/sda2 was in Bild 2 ist.

    Ich habe einfach eine Flat32 Partion auf der Micro sd und auf der Festplatte halt einfach das Raspberry Image per Win32DiskImager.

    3 Mal editiert, zuletzt von raspberryfan (14. November 2017 um 01:50)

  • Ich schaffe es einfach nicht und weiß nicht warum:

    pi@raspberrypi:~ $ sudo blkid

    /dev/mmcblk0p1: LABEL="boot" UUID="B60A-B262" TYPE="vfat" PARTUUID="fb7689f6-01"

    /dev/mmcblk0p2: UUID="9a7608bd-5bff-4dfc-ac1d-63a956744162" TYPE="ext4" PARTUUID="fb7689f6-02"

    /dev/sda1: LABEL="system" UUID="9a7608bd-5bff-4dfc-ac1d-63a956744162" TYPE="ext4" PARTUUID="11eccc69-01"

    /dev/mmcblk0: PTUUID="fb7689f6" PTTYPE="dos"

    Hatte ich und habe dann einfach bei die PARTUUID= xy in PARTUUID=11eccc69-01 geändert.

    Das stand ja dort vorher:

    dwc_otg.lpm_enable=0 console=serial0,115200 console=tty1 root=PARTUUID=11eccc69-02 rootfstype=ext4 elevator=deadline fsck.repair=yes rootwait quiet init=/usr/lib/raspi-config/init_resize.sh

  • Du hast zwar die Partitions UIDs geändert, nicht aber die Device UUIDs.

    Jetzt hast Du 2 Devices mit identer UUID="9a7608bd-5bff-4dfc-ac1d-63a956744162, sodass die UUID nicht einmalig ist.

    Du kannst versuchen die USB-HD abzustecken und von der SD alleine zu booten, dann die UUID="9a7608bd-5bff-4dfc-ac1d-63a956744162 im Disk-Label der SD zu ändern, z.B. auf UUID="9a7608bd-5bff-4dfc-ac1d-63a956744161 und dann mit angesteckter USB-HD ein reboot durchzuführen.

    Servus !

    RTFM = Read The Factory Manual, oder so

  • Das erste Bild in Beitrag#5 zeigt ein Problem mit dem Inhalt deiner Festplatte, das zweite Bild ist zu unscharf... Das Bild in Beitrag#6 zeigt auch Fehler vom Inhalt der Festplatte - dh also er konnte sehr wohl die Festplatte einbinden/mounten, allerdings hast du offensichtlich doch das gemacht was im Video beschrieben wird, nämlich irgendwelche Partitionen zu löschen.

    Was in dem Video alles falsch ist möchte ich nicht wiederkauen. Der labert da auf jeden Fall ziemlich viel Mist und nutzt falsche Begriffe.

    Mach das bitte noch mal neu und flashe ein Raspbian Image ganz normal auf die Festplatte ohne daran irgend etwas zu verändern.

  • Ok mache ich gleich.

    Ohne irgendetwas gemacht zu haben sieht es so aus (Also jetzt beides Karte und Festplatte unverändert vom Raspbian Image mit Win32DiskImager):

    sudo blkid

    /dev/mmcblk0p1: LABEL="boot" UUID="B60A-B262" TYPE="vfat" PARTUUID="ff8f1463-01"

    /dev/mmcblk0p2: UUID="9a7608bd-5bff-4dfc-ac1d-63a956744162" TYPE="ext4" PARTUUID ="ff8f1463-02"

    /dev/mmcblk0: PTUUID="ff8f1463" PTTYPE="dos"

    /dev/sda1: LABEL="boot" UUID="B60A-B262" TYPE="vfat" PARTUUID="11eccc69-01"

    /dev/sda2: UUID="9a7608bd-5bff-4dfc-ac1d-63a956744162" TYPE="ext4" PARTUUID="11e ccc69-02"


    Also sind wieder die UUID gleich.

    Mal den Befehl zum ändern suchen. Wenn mir den jemand schreiben könnte wäre gut.

    Code
    sudo tune2fs -U NEUER_UUID /dev/sdaX

    Geht schon mal aber nur bei sda2.

    sda1 kann man damit nicht ändern.

    /dev/mmcblk0p1: LABEL="boot" UUID="B60A-B262" TYPE="vfat" PARTUUID="ff8f1463-01"

    /dev/mmcblk0p2: UUID="9a7608bd-5bff-4dfc-ac1d-63a956744162" TYPE="ext4" PARTUUID="ff8f1463-02"

    /dev/sda1: LABEL="boot" UUID="B60A-B262" TYPE="vfat" PARTUUID="11eccc69-01"

    /dev/sda2: UUID="5ffd9927-0ed9-44c5-848b-9ef5a1563dba" TYPE="ext4" PARTUUID="11eccc69-02"

    /dev/mmcblk0: PTUUID="ff8f1463" PTTYPE="dos"

    So jetzt startet er doch.

    Ich hatte vergessen noch die ssh Datei auf die Boot Partion der Festplatte zu packen deshalb war kein ssh Zugriff mehr möglich.

    Jetzt muss ich noch die Partion auf der Festplatte vergrößern.

    Mal nach dem Befehl suchen.

    7 Mal editiert, zuletzt von raspberryfan (13. November 2017 um 14:21)

  • Du musst die UUID des Disk-Labels, nicht des Partitions Labels (= File System Header) ändern.

    Also von /dev/mmcblk0, nicht /dev/mmcblk0p1 oder /dev/mmcblk0p2

    oder /dev/sda, nicht /dev/sda1 oder /dev/sda2

    Das Label heisst unter MSDOS auch Master Boot Record=MBR

    tune2fs ändert nur eine EXT4 Partition.

    Du brauchst sowas wie fdisk, cfdisk, sfdisk, parted, cgdisk, sgdisk, gdisk,

    wobei das eine, oder andere Programm eine bestehende UUID auch nur ändern kann, ohne die Partitionen neu zu definieren.

    Servus !

    RTFM = Read The Factory Manual, oder so

    2 Mal editiert, zuletzt von RTFM (13. November 2017 um 14:41)

  • Ok läuft jetzt alles. Bis auf das ich noch die Partionsgröße ändern muss.

    Das denke ich mal werde ich mit einer Boot DVD und GParted ändern.

    Oder kann man das auch im laufenden Betrieb des Raspberrys machen wenn ja wie ?

    Ihr Tipp mit den gleichen Device UUIDs war die Lösung des Problems.

    Danke euch beiden !

    Und ich konnte mal wieder mein Linux Wissen erweitern.

    Ich plane bald meinen Pc auf Linux umzustellen und dann brauche ich ein gute Linux Kentnisse.

    Ich will ja nicht nur wie viele es machen ein Image installiern und dann nichts ändern und Hilflos sein.

  • raspi-config macht das. Das root Ext4 FS krallt sich dann aber die gesamte HD.

    Sonst kannst Du den Endesektor der root Partition nach hinten verschieben und das EXT4 Filesystem bis dorthin ausdehnen.

    Das geht auch mit der gemounteten Partition. Umgekehrt, zum Verkleinern, darf die Partition (bei EXT4) nicht gemountet sein.

    GParted unter Linux kann so ziemlich alles, was das Herz begehrt. Es setzt aber auf GTK und Gnome auf (wie alle G-Programme).

    Bevor Du Deinen PC ganz auf Lunux umrüstest, kannst Du ihn auch im Dual Mode, neben Windows betreiben.


    Servus !


    Ahja, und den Thread als erledigt markieren, damit die Nachwelt weiß, dass es zum Thema wahrscheinlich eine Lösung gibt.

    RTFM = Read The Factory Manual, oder so

    Einmal editiert, zuletzt von RTFM (13. November 2017 um 15:28)

  • raspi-config funtkioniert halt eben genau nicht. (Siehe Bild)

    Wird verweigert weil es keine Speicherkarte ist.

    Alles klar. Danke nochmal.

    Wird ein File Server für die Bilder einer Webcam auf dem Hausdach. (Auf dem Hausdach habe ich mit dem Pi Zero eine um 180 Grad drehbare Webcam gebaut) Außerdem habe ich das Pidrive 1 Tb und das WD PiDrive Node Zero und einen Zero w besorgt.

    So das ich das WD PiDrive Node Zero umbauen kann auf einen Zero w und halt statt der kleinen 314 Gb Platte mit der 1 TB Platte.

    Bei den Bildern das Wlan habe ich mitlerweile durch Lan ersetzt.

  • raspi-config ist auch nur ein Script.

    Was du nur zu machen brauchst ist die Partition zu vergrößern, das Ende neu setzen - die Umzäunung der Daten neu zu setzen wenn man so will. Daten gehen dabei nicht verloren.

    ...via copy&paste alles auf einmal in die Konsole einfügen...

    Zu guter Letzt muss das Dateisystem auf die neue Größe resized werden: sudo resize2fs /dev/sda2

  • Leider der Fehler bei resize2fs: Bad magic number in super-block while trying to open /dev/sda2.

    Code
    pi@raspberrypi:~ $ sudo blkid
    /dev/mmcblk0p1: LABEL="boot" UUID="B60A-B262" TYPE="vfat" PARTUUID="a6caaf70-01"
    /dev/mmcblk0p2: UUID="9a7608bd-5bff-4dfc-ac1d-63a956744162" TYPE="ext4" PARTUUID="a6caaf70-02"
    /dev/sda1: LABEL="boot" UUID="B60A-B262" TYPE="vfat" PARTUUID="11eccc69-01"
    /dev/mmcblk0: PTUUID="a6caaf70" PTTYPE="dos"
    /dev/sda2: PARTUUID="11eccc69-02"

    Das ganze natürlich mit einem unveränderten Image das ich vorher auf die Festplatte geschrieben habe mit Etcher.

    Das Raspberry System habe ich von der Speicherkarte gebootet und halt mit angeschlossener Festplatte.

    Ich habe mal in Windows geschaut dort sieht es wie auf dem Bild aus.

    Es scheint so als das die Partion vor der Boot Partion erstellt worden ist.

    Ob das wohl falsch ist ?

  • Gratuliere, Du hast erfolgreich eine 3 MB grosse Partition Nr2 vor die P1 gequetscht, so wie die Default-Sektoren dies auch angezeigt haben.

    Ausserdem wurde diese Mini-Partition noch mit keinem EXT4 Filesystem formatiert. Wie soll ein nichtvorhandenes Filesystem ausgedehnt werden ?

    Endlich versuchst Du mit den Sektor/Blockeinstellung der SD-Karte 512/512 eine 1 TB grosse HD zu verwalten, was vermutlich nicht gelingen wird.


    Servus !

    RTFM = Read The Factory Manual, oder so

  • Hab vergessen den Mode zu wechseln...

    notfalls kannst du die 'echo' Befehle natürlich auch manuell ausführen/eingeben... Probier maln bissal selbst rum, solange du nicht "w" machst kannst du mit "q" auch ohne Änderungen wieder von vorne anfangen. Ggf hilft dir halt auch gparted wenn du lieber ne GUI haben willst.

Jetzt mitmachen!

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