"/" auf USB-Stick, UUID in /boot/cmdline.txt geht nicht

Heute ist Stammtischzeit:
Jeden Donnerstag 20:30 Uhr hier im Chat.
Wer Lust hat, kann sich gerne beteiligen. ;)
  • Hallo,

    ich habe das "/"-Dateisystem von "/dev/mmcblk0p2" nach "/dev/sda1" verschoben.

    In der "/boot/cmdline.txt" würde ich nun gerne nicht "/dev/sda1" stehen haben, doch mit 'root=UUID=b8...' geht es nicht, es würde mit 'root=PARTUUID=b8...' funktionieren, doch die UUID ist wohl insgesamt zu lang.

    Aber der USB-Stick hat, laut "blkid" keine PARTUUID.

    Mein Problem ist nun, dass es zu Problemen führen kann, wenn beim Booten der "Root-Stick" nicht als erster erkannt wird.

    Hat jemand eine Idee, was man machen könnte?

    Geht:

    Code
    /boot/cmdline.txt:
    root=PARTUUID=c3072e18-01
    
    blkid:
    /dev/sda1: UUID="9ea6b25c-25a7-*" TYPE="ext4" PARTUUID="c3072e18-01"

    Geht nicht:

    Code
    /boot/cmdline.txt
    root=UUID=b8fd0886-b480-4224-*
    
    blkid:
    /dev/sda1: UUID="b8fd0886-b480-*" TYPE="ext4"

    Die Seite im Internet, die sich mit diesem Thema beschäftigen, habe ich gelesen ;)


    Der PI ist folgender:

    Code
    root@raspberry:~# uname -a
    Linux raspberry 4.9.59-v7+ #1047 SMP Sun Oct 29 12:19:23 GMT 2017 armv7l GNU/Linux
    root@raspberry:~#

    Computer ..... grrrrrr

    4 Mal editiert, zuletzt von Rasp-Berlin (11. Dezember 2017 um 20:23)

  • "/" auf USB-Stick, UUID in /boot/cmdline.txt geht nicht? Schau mal ob du hier fündig wirst!

  • Aber der USB-Stick hat, laut "blkid" keine PARTUUID.

    Hast Du gdisk benutzt? Welche Seite im Internet hast Du gelesen?

    The most popular websites without IPv6 in Germany.  IPv6-Ausreden

    Meine PIs

    PI4B/8GB (border device) OpenBSD 7.4 (64bit): SSH-Server, WireGuard-Server, ircd-hybrid-Server, stunnel-Proxy, Mumble-Server

    PI3B+ FreeBSD 14.0-R-p3 (arm64): SSH-Serv., WireGuard-Serv., ircd-hybrid-Serv., stunnel-Proxy, Mumble-Serv., ddclient

    PI4B/4GB Bullseye-lite (64bit; modifiziert): SSH-Server, WireGuard-Server, ircd-hybrid-Server, stunnel-Proxy, Mumble-Server, botamusique, ample

  • Das steht in meiner /boot/cmdline.txt

    Code
    dwc_otg.lpm_enable=0 console=serial0,115200 console=tty1 root=PARTUUID=8dafb191-02 rootfstype=ext4 cgroup_enable=memory elevator=deadline fsck.repair=yes rootwait

    Eine Zeile, sieh es als Beispiel, findet man so heraus:

    Code
    sudo blkid
    /dev/sda1: LABEL="boot" UUID="E5B7-FEA1" TYPE="vfat" PARTUUID="8dafb191-01"
    /dev/sda2: UUID="b4ea8e46-fe87-4ddd-9e94-506c37005ac5" TYPE="ext4" PARTUUID="8dafb191-02"

    Ich hoffe es hilft Dir weiter.

    MfG

    Jürgen
    Edit: Wobei es mich wundert das Deine Konstruktion funktioniert.

  • Eine Zeile, sieh es als Beispiel, findet man so heraus:

    Ja und ... wenn nicht, wie generiert man dann die PARTUUID?

    The most popular websites without IPv6 in Germany.  IPv6-Ausreden

    Meine PIs

    PI4B/8GB (border device) OpenBSD 7.4 (64bit): SSH-Server, WireGuard-Server, ircd-hybrid-Server, stunnel-Proxy, Mumble-Server

    PI3B+ FreeBSD 14.0-R-p3 (arm64): SSH-Serv., WireGuard-Serv., ircd-hybrid-Serv., stunnel-Proxy, Mumble-Serv., ddclient

    PI4B/4GB Bullseye-lite (64bit; modifiziert): SSH-Server, WireGuard-Server, ircd-hybrid-Server, stunnel-Proxy, Mumble-Server, botamusique, ample

  • Nochmal: sudo blkid

    Was steht denn da bei Dir?

    Nochmal: "sudo blkid" zeigt u. a. auch die PARTUUID an, wenn vorhanden. Es gibt aber auch Partitionen die (noch) keine PARTUUID haben und dann kann "sudo blkid" diese auch nicht anzeigen.

    Die Frage ist doch die: Wie "generiert" man eine PARTUUID, wenn sie nicht vorhanden ist.

    BTW: Ich habe Partiionen mit und auch welche ohne PARTUUID.

    The most popular websites without IPv6 in Germany.  IPv6-Ausreden

    Meine PIs

    PI4B/8GB (border device) OpenBSD 7.4 (64bit): SSH-Server, WireGuard-Server, ircd-hybrid-Server, stunnel-Proxy, Mumble-Server

    PI3B+ FreeBSD 14.0-R-p3 (arm64): SSH-Serv., WireGuard-Serv., ircd-hybrid-Serv., stunnel-Proxy, Mumble-Serv., ddclient

    PI4B/4GB Bullseye-lite (64bit; modifiziert): SSH-Server, WireGuard-Server, ircd-hybrid-Server, stunnel-Proxy, Mumble-Server, botamusique, ample

  • Ich habe hier noch etwas gefunden:

    https://forum.ubuntuusers.de/topic/uuid-aendern/

    https://wiki.ubuntuusers.de/UUID/

    Tante G war großzügig

    MfG

    Jürgen

  • Ich hab nur UUIDs, ...

    Lt. deinem Beitrag #3 hast Du doch auch PARTUUIDs:

    Code
    root=PARTUUID=8dafb191-02

    BTW: Es geht nicht um UUIDs.

    The most popular websites without IPv6 in Germany.  IPv6-Ausreden

    Meine PIs

    PI4B/8GB (border device) OpenBSD 7.4 (64bit): SSH-Server, WireGuard-Server, ircd-hybrid-Server, stunnel-Proxy, Mumble-Server

    PI3B+ FreeBSD 14.0-R-p3 (arm64): SSH-Serv., WireGuard-Serv., ircd-hybrid-Serv., stunnel-Proxy, Mumble-Serv., ddclient

    PI4B/4GB Bullseye-lite (64bit; modifiziert): SSH-Server, WireGuard-Server, ircd-hybrid-Server, stunnel-Proxy, Mumble-Server, botamusique, ample

    Einmal editiert, zuletzt von rpi444 (11. Dezember 2017 um 16:59)

  • Servus,

    Die Frage ist doch die: Wie "generiert" man eine PARTUUID, wenn sie nicht vorhanden ist.

    vielleicht hilft das weiter -> https://gparted.org/display-doc.php%3Fname%3Dhelp-manual

    Unter dem Punkt "Changing a Partition UUID" ...

    cu,

    -ds-

  • Hallo Rasp-Berlin !

    Wenn Du tatsächlich die ganze Partition verschoben hast, gibt es sie auf der sd (p2) nicht mehr.

    Wenn Du aber nur mit dd die Partition kopiert hast, haben auf beiden Devices die / Partition dieselbe Partitions UUID.

    Daneben gibt es auch eine UUID für das ganze Block-Device. Und jedes Block Device und die darin enthaltenen Partitionen können auch noch eine eigene Bezeichnung (Label) erhalten.

    Mit Ersatzzeichen kannst Du eine UUID nicht ergänzen, noch weniger kannst Du mit einer UUID eine Partition ansprechen, wenn die UUID mehrmals auf verschiedenen Block-Devices vorkommt.


    Servus !

    RTFM = Read The Factory Manual, oder so

    Einmal editiert, zuletzt von RTFM (11. Dezember 2017 um 17:01)

  • vielleicht hilft das weiter -> https://gparted.org/display-doc.php%3Fname%3Dhelp-manual

    Unter dem Punkt "Changing a Partition UUID" ...

    ... oder das: https://www.raspberrypi.org/forums/viewtopic.php?f=29&t=44177

    ... denn der TE will ja die PARTUUID nicht ändern, weil es sie noch gar nicht gibt.

    The most popular websites without IPv6 in Germany.  IPv6-Ausreden

    Meine PIs

    PI4B/8GB (border device) OpenBSD 7.4 (64bit): SSH-Server, WireGuard-Server, ircd-hybrid-Server, stunnel-Proxy, Mumble-Server

    PI3B+ FreeBSD 14.0-R-p3 (arm64): SSH-Serv., WireGuard-Serv., ircd-hybrid-Serv., stunnel-Proxy, Mumble-Serv., ddclient

    PI4B/4GB Bullseye-lite (64bit; modifiziert): SSH-Server, WireGuard-Server, ircd-hybrid-Server, stunnel-Proxy, Mumble-Server, botamusique, ample

  • Naja ...

    ... denn der TE will ja die PARTUUID nicht ändern, weil es sie noch gar nicht gibt.

    von "leer" nach "Inhalt" ist ja auch ein ändern.

    btw: -> https://gparted.org/display-doc.ph…-partition-uuid

    Zitat
    1. Select an unmounted partition. See the section called “Selecting a Partition”.
    2. Choose: Partition → New UUID. The application displays the set a new random UUID operation in the Operations Pending pane.

    cu,

    -ds-

  • Was sagt den ls -l /dev/disk/by-partuuid?

    Das was "sudo blkid" auch schon gesagt hat. Wenn die PARTUUID nicht vorhanden ist, z. B.:

    Code
    ~ $ ls -l /dev/disk/by-partuuid
    ls: cannot access /dev/disk/by-partuuid: No such file or directory

    The most popular websites without IPv6 in Germany.  IPv6-Ausreden

    Meine PIs

    PI4B/8GB (border device) OpenBSD 7.4 (64bit): SSH-Server, WireGuard-Server, ircd-hybrid-Server, stunnel-Proxy, Mumble-Server

    PI3B+ FreeBSD 14.0-R-p3 (arm64): SSH-Serv., WireGuard-Serv., ircd-hybrid-Serv., stunnel-Proxy, Mumble-Serv., ddclient

    PI4B/4GB Bullseye-lite (64bit; modifiziert): SSH-Server, WireGuard-Server, ircd-hybrid-Server, stunnel-Proxy, Mumble-Server, botamusique, ample

  • Zitat

    denn der TE will ja die PARTUUID nicht ändern, weil es sie noch gar nicht gibt.

    Na ja, wenn man von 'keiner PARTUUID' zu einer kommen will, wäre das schon eine Änderung ;)

    Der Stick ist 64 GByte groß, da muss man wohl keine GPT drauf anlegen, oder?

    Ich habe ihn, so wie auch auf dem anderen System, auf dem der Stick eine PARTUUID hat, auf der PI-Console mittels 'fdisk' erstellt.

    Der Stick, der funktioniert, ist 32GB groß und auf den gleichen weg partitioniert wie der größere Stick. Es sind aber zwei unterschiedliche Hersteller.

    Der Stick, bei dem es nicht geht:

    Code
    root@raspberry:~# blkid
    /dev/mmcblk0p1: SEC_TYPE="msdos" LABEL="boot" UUID="0EF2-CA4B" TYPE="vfat" PARTUUID="60ee494f-01"
    /dev/mmcblk0p2: UUID="e093a5bb-b180-4f87-9d60-467b3e79811d" TYPE="ext4" PARTUUID="60ee494f-02"
    /dev/sda1: UUID="b8fd0886-b480-4224-*" TYPE="ext4"/dev/mmcblk0: PTUUID="60ee494f" PTTYPE="dos"
    root@raspberry:~#

    Der Stick/PI, auf dem es geht:

    Code
    root@tel-ansage:~# blkid
    /dev/mmcblk0p1: LABEL="boot" UUID="3AFB-2896" TYPE="vfat" PARTUUID="f28f709e-01"
    /dev/mmcblk0p2: UUID="62ca0b6d-6291-4c40-b1fd-11bc291e4a38" TYPE="ext4" PARTUUID="f28f709e-02"
    /dev/sda1: UUID="9ea6b25c-25a7-4e68-*" TYPE="ext4" PARTUUID="c3072e18-01"
    /dev/mmcblk0: PTUUID="f28f709e" PTTYPE="dos"
    root@tel-ansage:~#
    Zitat

    Wobei es mich wundert das Deine Konstruktion funktioniert.

    Sie funktioniert, bis man beim Booten einen weiteren Datenträger am USB-Port hängen hat, und der gewünschte Stick eben nicht mehr /dev/sda ist.

    Zitat

    Wenn Du tatsächlich die ganze Partition verschoben hast, gibt es sie auf der sd (p2) nicht mehr.

    Ich habe die Partition nicht verschoben, und auch nicht mit "dd" kopiert, sondern auf dem Stick erst eine neue Partition erstellt, und dann die SD und den Stick in einen anderen Rechner gesteckt, und mittels "tar"die Daten von der "/"-Partition der SD auf den Stick kopiert.

    Sobald man in der /boot/cmdline.txt den Eintrag für "root" ändert, und in der "fstab" ebenfalls "/" anders einbindet, bootet der PI auch vom USB-Stick. Auf jeden Fall mit einem Stretch und einem älteren B

    Denn die /boot bleibt ja auf der SD.

    Zitat

    Mit Ersatzzeichen kannst Du eine UUID nicht ergänzen, noch weniger kannst Du mit einer UUID eine Partition ansprechen, wenn die UUID mehrmals auf verschiedenen Block-Devices vorkommt.

    Das ist mir klar. Doch die UUID muss ja nicht jeder sehen. Der * ist nur für das Posten ;)

    Ich würde den Stick nur ungern neu partitionieren, denn dann müsste ich alles sichern, um es anschließend zurück zu spielen, ohne alles neu zu konfigurieren.

    Ach ja:

    Computer ..... grrrrrr

    2 Mal editiert, zuletzt von Rasp-Berlin (22. Dezember 2017 um 16:49)

  • Na ja, wenn man von 'keiner PARTUUID' zu einer kommen will, wäre das schon eine Änderung ;)

    Ja, für dich wäre das eine Änderung, aber nicht für die PARTUUID, denn was nicht existiert kann m. E. auch nicht geändert werden. ;)

    The most popular websites without IPv6 in Germany.  IPv6-Ausreden

    Meine PIs

    PI4B/8GB (border device) OpenBSD 7.4 (64bit): SSH-Server, WireGuard-Server, ircd-hybrid-Server, stunnel-Proxy, Mumble-Server

    PI3B+ FreeBSD 14.0-R-p3 (arm64): SSH-Serv., WireGuard-Serv., ircd-hybrid-Serv., stunnel-Proxy, Mumble-Serv., ddclient

    PI4B/4GB Bullseye-lite (64bit; modifiziert): SSH-Server, WireGuard-Server, ircd-hybrid-Server, stunnel-Proxy, Mumble-Server, botamusique, ample

  • root@raspberry:~# lsblk -o UUID,NAME

    Die derzeit neben /dev/sda1 ersichtliche UUID trägst Du als Rootpartition (UUID=) ein und löscht den /dev/sda1 Descriptor.

    Sonst würde nur dann vom UUID Filesystem gebootet werden, wenn das auch auf /dev/sda1 liegt - und umgekehrt.


    Servus !

    RTFM = Read The Factory Manual, oder so

  • Zitat

    Die derzeit neben /dev/sda1 ersichtliche UUID trägst Du als Rootpartition (UUID=) ein und löscht den /dev/sda1 Descriptor.

    Ähmmm, ich hatte doch geschrieben:

    Zitat

    In der "/boot/cmdline.txt" würde ich nun gerne nicht "/dev/sda1" stehen haben, doch mit 'root=UUID=b8...' geht es nicht, es würde mit 'root=PARTUUID=b8...' funktionieren, doch die UUID ist wohl insgesamt zu lang

    Meine Frage kommt ja, weil es mit der UUID nicht funktioniert.

    Computer ..... grrrrrr

Jetzt mitmachen!

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