Benutzung eines USB Sticks oder einer USB Platte für die Rootpartition


  • Allerdings verstehe ich noch nicht warum es dann ohne diesen Parameter in Deiner cmdline.txt mit uuid funktioniert wenn der Parameter rootdelay Dein Problem fixed :s

    "Eigentlich" sollte rootdelay nicht nötig sein. Der parameter "rootwait" ist ja defaultmäßig schon enthalten. Wenn mann sich die Dokumentation der Kernelparameter durchliest https://www.kernel.org/doc/Documentat…-parameters.txt]

    Code
    rootwait [KNL] Wait (indefinitely) for root device to show up.
    Useful for devices that are detected asynchronously
    (e.g. USB and MMC devices).


    bedeutet das, dass sowieso hier so lange gewartet wird, bis das rootfs angezogen werden kann. "rootdelay"

    Code
    rootdelay= [KNL] Delay (in seconds) to pause before attempting to
    mount the root filesystem

    würde das nach meinem Verständnis ja sogar abschwächen, weil dann nur einige Sekunden gewartet wird?

    EDIT:
    Aber davon unabhängig: PARTUUID (Parameter in Großbuchstaben) in der cmdline.txt und UUID (Parameter in Kleinbuchstaben) in der fstab sind wohl die richtige Kombination. Zumindest in wheezy hat PARTUUID in der fstab noch nicht funktioniert, da bin ich mir ziemlich sicher. Mich wundert, dass bisher niemand anders das Problem hat?


    /H.

    Einmal editiert, zuletzt von c64emulator (18. März 2016 um 15:24)

  • Benutzung eines USB Sticks oder einer USB Platte für die Rootpartition? Schau mal ob du hier fündig wirst!

  • Wenn ich das dann richtig verstanden habe, kann ich dann win32 Disk Image nehmen und muss dann den Stick und die Boot SD card sichern, richtig?

    Wobei die SD card einmalig ist und der USB Stick halt, so oft wie man wieder was ändert?
    Oder wird die SD card auch ab und an mit etwas beschrieben, wenn ich zb programme installiere?


  • Wenn ich das dann richtig verstanden habe, kann ich dann win32 Disk Image nehmen und muss dann den Stick und die Boot SD card sichern, richtig?

    Jein.

    Zitat

    Wobei die SD card einmalig ist und der USB Stick halt, so oft wie man wieder was ändert?

    Jein

    Zitat

    Oder wird die SD card auch ab und an mit etwas beschrieben, wenn ich zb programme installiere?

    Jein

    D.h. also:

    1) I.d.R. reicht es die SD einmal zu sichern, da sie sich i.d.R. nicht ändert. Änderungen kommen durch firmwareupdates und u.U. Kernelupdates auf die SD Karte (apt-get update bzw rpi-update). Letzteres sollte man sowieso nur tun wenn man genau weiss was man tut. Wenn man kein apt-get update ausführt ist man sicher dass sich die SD Karte nicht ändert. Alternativ kann man nach jedem apt-get update prüfen ob es neue Dateien auf dem SD Kartenimage gibt mit

    Code
    stat --printf="%y %n\n" $(ls -tr $(find /boot/* -type f)) | sort -r | head -1

    2) Den USB Stick kann man mit dem Windiskimager sichern.

    Oder man nimmt raspiBackup :shy:

  • Danke dafür.

    Jetzt hatte ich mein backup aufspielen wollen und es ging nicht.

    Jetzt bin ich wieder am Anfang. Als erstes ändere ich immer mein Benutzer. Das vollendet, möchte ich es jetzt über USB Stick benutzen. Jedoch bekomme ich folgende Fehlermeldung.

    sudo tar cf - --one-file-system --exclude=/mnt/* --exclude=/proc/* --exclude=/lost+found/* --exclude=/sys/* --exclude=/media/* --exclude=/dev/* --exclude=/tmp/* --exclude=/boot/* --exclude=/run/* | ( cd /mnt; sudo tar xfp -)
    tar: Cowardly refusing to create an empty archive
    Try 'tar --help' or 'tar --usage' for more information.
    tar: This does not look like a tar archive
    tar: Exiting with failure status due to previous errors

    Dein script funktioniert bei mir auch nicht mehr. Hatte beim ersten mal auf Anhieb geklappt aber nach dem neu aufsetzen des raspbian komischerweise nicht mehr.

    Hast du eine Idee?


  • sudo tar cf - --one-file-system --exclude=/mnt/* --exclude=/proc/* --exclude=/lost+found/* --exclude=/sys/* --exclude=/media/* --exclude=/dev/* --exclude=/tmp/* --exclude=/boot/* --exclude=/run/* | ( cd /mnt; sudo tar xfp -)
    tar: Cowardly refusing to create an empty archive
    Try 'tar --help' or 'tar --usage' for more information.
    tar: This does not look like a tar archive
    tar: Exiting with failure status due to previous errors

    :blush: Da fehlt noch ein * im Befehl.

    Code
    sudo tar cf - --one-file-system --exclude=/mnt/*  --exclude=/proc/* --exclude=/lost+found/* --exclude=/sys/* --exclude=/media/* --exclude=/dev/* --exclude=/tmp/* --exclude=/boot/* --exclude=/run/* * | ( cd /mnt; sudo tar xfp -)

    Ich habe es auch oben korrigiert.

    Zitat

    Dein script funktioniert bei mir auch nicht mehr. Hatte beim ersten mal auf Anhieb geklappt aber nach dem neu aufsetzen des raspbian komischerweise nicht mehr.

    Hast du eine Idee?

    Nein. Ohne dass Du irgendwelche Fehlermeldungen berichtest ist es mir nicht möglich. Das Script erzeugt auch ein Logfile. Steht da was hilfreiches drin?

  • Kannst du nicht hellsehen?
    Sry, ohne Fehlermeldung ist das natürlich echt nicht so einfach [WINKING FACE]

    GNU nano 2.2.6 File: raspiSD2USB.log
    2016-03-21 21:30:31,089 INFO raspiSD2USB.py V0.2.3.1 2015-12-03/22:52:31 90027062016-03-21 21:30:31,091 INFO RSD0002I --- Detected following partitions
    2016-03-21 21:30:31,473 INFO RSD0003I --- /dev/mmcblk0p1 - Size: 60.00 MB - Fre$2016-03-21 21:30:31,482 INFO RSD0003I --- /dev/mmcblk0p2 - Size: 3.69 GB - Free$2016-03-21 21:30:31,484 INFO RSD0003I --- /dev/sda1 - Size: 7.50 GB - Free: 7.4$2016-03-21 21:30:31,571 INFO RSD0028I --- Skipping /dev/mmcblk0p1 - Partition l$2016-03-21 21:30:31,572 INFO RSD0028I --- Skipping /dev/mmcblk0p2 - Partition l$2016-03-21 21:30:31,641 INFO RSD0015W !!! Skipping /dev/sda1 - Partition has in$2016-03-21 21:30:31,643 INFO RSD0009I --- Target root partition candidates: 2016-03-21 21:30:31,694 INFO RSD0011I --- Source root partition /dev/mmcblk0p2:$2016-03-21 21:30:31,695 INFO RSD0004E ??? No eligible target root partitions fo$

    Habe es so gestartet "sudo python ./raspiSD2USB.py".

  • Das Log ist leider unvollständig und verschwurbelt :( Ich habe es erst einmal soweit in den Urzustand gebracht.

    Die folgende Meldung gibt den Grund aus:

    Code
    2016-03-21 21:30:31,641 INFO RSD0015W !!! Skipping /dev/sda1 - Partition has in$


    Da fehlt zwar Text :( aber die RSD0015W sagt auf alle Fälle, dass der Partitionstyp auf /dev/sda1 nicht stimmt.

    Reinstallation is unnötig. Deine Partition ist nicht richtig formatiert ;) Ich tippe mal darauf dass sie ntfs ist. Sie muss aber ext4 sein.

  • Fast richtig getippt :)

    Fat32 war es. Auf jeden Fall, ging das script jetzt durch aber beim reboot kamen mehrere Fehlermeldungen. Host nicht gestartet etc. Hat wahrscheinlich nicht alles rueber gepackt, per script.

    Werde jetzt mal eine andere variante versuchen. Die allerdings 2 image auf sd und usb enthaelt. Finde die Loesung nicht ganz sauber. Aber ich habe keine Lust mehr :D Immer und immer wieder neu, ist echt nervig. So habe ich mir das nicht vorgestellt :D
    Komme aber bestimmt bald hier wieder zurueck :D

    Danke so weit erst einmal.

  • Aber ich habe keine Lust mehr :D Immer und immer wieder neu, ist echt nervig. So habe ich mir das nicht vorgestellt :D


    Wie ich schon schrieb: Immer wieder neu ist nicht notwendig und ineffizient. Das Script funktioniert. Irgendwas ist bei Dir merkwürdig aufgesetzt und das muss man rausbekommen :s Dazu musst Du aber etwas Geduld mitbringen :shy:

  • Alles klar.

    Ich fange ganz von vorne an. Sd Karte ist drin.
    USB wurde per windows und sd formatter formatiert (fat32).

    Ich gehe jetzt deine step by step tutorial durch. Kein script. Muss als erstes gpart installieren. Den USB Stick unmount, weil ich ihn sonst nicht formatieren kann per

    Code
    sudo mkfs.ext4 /dev/sda1


    Funnktioniert soweit.

    Code
    sudo mount /dev/sda1 /mnt
    cd /
    sudo tar cf - --one-file-system --exclude=/mnt/*  --exclude=/proc/* --exclude=/lost+found/* --exclude=/sys/* --exclude=/media/* --exclude=/dev/* --exclude=/tmp/* --exclude=/boot/* --exclude=/run/* * | ( cd /mnt; sudo tar xfp -)


    Das wird gerade ausgefuehrt.

    Code
    /dev/mmcblk0p1  /boot           vfat    defaults         0       0
    
    
    /dev/mmcblk0p2    /               ext4    defaults,noatime 0       0


    Den teil verstehe ich nicht. Wie fuhre ich es aus?

    Werde noch eine Festplatte anschliesen, fuer backup etc. Muss ich das dann auch machen:

    Code
    /dev/mmcblk0p1  /boot           vfat    defaults         0       0
    
    
    PARTUUID=7C32EB25-0462-429F-BF92-90FFD81FC8FE    /               ext4    defaults,noatime 0       0


    ?

    Edit:

    Hahaha ::D
    Der Befehl zum aendern !! :D

    Code
    sudo nano /mnt/etc/fstab


    Den vllt weiter oben hin packen. Bevor es los geht oder ich lese einfach alles komplett durch ;)


    sys/module/debug_core/uevent: Cannot open: Permission denied

    tar: tmp/.X11-unix/X0: socket ignored

    Das wars. Dann hoert er auf.

    Er kann irgendwie nicht auf die ordner/dateien zu greifen, die in sys/module sind.

    Code
    tar: sys/module/joydev/uevent: Cannot open: Permission denied

    Einmal editiert, zuletzt von DanSman (22. März 2016 um 23:15)

  • Na klar! [GRINNING FACE WITH SMILING EYES]

    Sudo

    Als root, mit Kaffee, später Bier. So schnell gebe ich da nicht auf. Hänge zur Zeit ca. 24/7 an dem ding.

    Andere SD Karte, habe ich auch ausprobiert. Raspbian neu runter geladen.
    Ich habe keine Ahnung. Vor allem kapiere ich nicht, das es schon mal funktioniert hat. Hätte es wenigstens noch nie funktioniert, dann wäre es ja noch verständlich.

  • Als root, mit Kaffee, später Bier. So schnell gebe ich da nicht auf. Hänge zur Zeit ca. 24/7 an dem ding.

    Den Streichhölzerlieferanten musst Du mir verraten. 24 Tage 7 Stunden aktiv ... das ist Rekord :D

    Zitat

    Andere SD Karte, habe ich auch ausprobiert. Raspbian neu runter geladen.

    Nee, das ist nur Zeitverschwendung :no_sad:

    Zitat

    Vor allem kapiere ich nicht, das es schon mal funktioniert hat. Hätte es wenigstens noch nie funktioniert, dann wäre es ja noch verständlich.


    Du weisst wie Du einen Entwickler bei der Ehre packst :thumbs1: Einfach behaupten dass sein Script Mist ist :baeh2:

    Daraufhin habe ich mir ein Environment aufgebaut um Deinen Fehler zu reproduzieren.

    Image: jessie
    USB Platten:
    1) ext4
    2) ntfs


    Danach restart - und alles funktioniert.
    Check ob alles von der Platte läuft und in /boot eine Backupkopie der cmdline.txt existiert damit ich gleich alles wieder auf die SD zurückdrehen kann:

    Alles OK

    Nun wieder reverten auf die SD Karte mit

    Code
    root@jessie:/boot# cp /boot/cmdline.txt.sd cmdline.txt

    reboot - und es wird keine Platte mehr benötigt :)

    D.h. also das Script funktioniert perfekt :cool:

    Aber die manuelle Beschreibung hat tatsächlich einen Typo :blush: Sie muss heissen (ist schon oben korrigiert)

    Code
    sudo tar cf - --one-file-system --exclude=/mnt/*  --exclude=/proc/* --exclude=/lost+found/* --exclude=/sys/* --exclude=/media/* --exclude=/dev/* --exclude=/tmp/* --exclude=/boot/* --exclude=/run/* / | ( cd /mnt; sudo tar xfp -)

    Leider gibt es kein git um nachzusehen wann und wie dieser Typo in das Tutorial gelangt ist.

  • Zitat

    [font="Source Sans Pro, Tahoma, Helvetica Neue, Arial, sans-serif"]Den Streichhölzerlieferanten musst Du mir verraten. 24 Tage 7 Stunden aktiv ... das ist Rekord [/font]undefined[font="Source Sans Pro, Tahoma, Helvetica Neue, Arial, sans-serif"] [/font]


    Guck... wie uebermuedet ich bin. Bekomme selbst das nicht mehr auf die Reihe ;)

    Zitat

    [font="Source Sans Pro, Tahoma, Helvetica Neue, Arial, sans-serif"]Nee, das ist nur Zeitverschwendung [/font]undefined


    Anscheinend, habe ich genug ... :-/

    Zitat

    [font="Source Sans Pro, Tahoma, Helvetica Neue, Arial, sans-serif"]Du weisst wie Du einen Entwickler bei der Ehre packst [/font]undefined[font="Source Sans Pro, Tahoma, Helvetica Neue, Arial, sans-serif"] Einfach behaupten dass sein Script Mist ist [/font]undefined


    Naja, so habe ich das ja nicht gesagt. Dein script funktioniert halt nur nicht :baeh2:
    Dieser Mensch hier vor dem PC, der bekommt das einfach nicht hin. :blush:

    Wenn ich das script ausfuehre, per

    Code
    sudo python ./raspiSD2USB.py

    dann bekomme ich ne Fehlermeldung. Weis schon gar nicht mehr welche, habe schon so viele Fehlermeldungen in letzter Zeit bekommen ::D

    Ich probiere das spaeter mal wieder aus.
    :danke_ATDE:

  • Ich probiere das spaeter mal wieder aus.
    :danke_ATDE:


    Schlafe Dich mal aus nach 24 Tagen. Dann sieht die Welt gleich ganz anders aus ;)

    Dann hast Du 3 Möglichkeiten weiterzumachen:
    1) Aufhören
    2) Manuelle Steps durchgehen
    3) Script benutzen

    1 - kein Kommentar :no_sad:
    2 - Aufwändiger als das Script - aber dann kann man, wenn Du alles per script protokollierst und postest gut nachzuvollziehen :thumbs1:
    3 - Weniger aufwändig - aber auch schwerer zu Verfolgen. Wenn Du es eilig hast - probiere es noch mal. Dann aber das vollständige ;) Log posten. Vielleicht kann ich da schon sehen was nicht stimmt.

  • Gestern habe ich kaum vorgesessen. Aber ganz die Finger von gelassen, ging auch nicht [GRINNING FACE WITH SMILING EYES]

    1 2 oder 3... letzte Chance.... Vorbei! Alle klatschen [CLAPPING HANDS SIGN] Nummer 2 ist die richtige Antwort.

    Jetzt wird sich erst mal aufgerichtet. Ein neuer Tag beginnt. Heute klappt das. Ich spüre das! Werde mich später nochmal melden [GRINNING FACE WITH SMILING EYES]

    PS. Ich wohne auf der anderen Seite der Welt. Deswegen, neuer Tag.

  • Yep, so ist es.

    Habe jetzt so ein paar Sachen drauf. Nginx, php, MySQL...

    Jetzt soll noch Seafile drauf. Danach soll alles rüber auf den Stick.

    Wie groß ist denn dann die SD Karte nur für Boot? Reicht 512mb? Ist DD oder tar besser als Backup?

    Einmal editiert, zuletzt von DanSman (26. März 2016 um 09:34)

  • Wenn Du Dir die Ausgaben von

    Code
    lsblk

    anssiehst

    Zitat von "framps seafile server"
    Code
    root@seafile:~# lsblk 
    NAME        MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
    sda           8:0    0 931.5G  0 disk 
    └─sda1        8:1    0 931.5G  0 part /disks/sec
    sdb           8:16   0 931.5G  0 disk 
    └─sdb1        8:17   0 931.5G  0 part /
    mmcblk0     179:0    0   1.9G  0 disk 
    ├─mmcblk0p1 179:1    0    56M  0 part /boot
    └─mmcblk0p2 179:2    0   1.8G  0 part


    steht da was um die 56M. Also kannst Du alles was größer/gleich 64MB ist nehmen. Um Luft bei Firmwareupgrades zum haben würde ich wenigstens 128MB nehmen.

    Welches Backuptool Du nimmst musst Du entscheiden. Ich benutze raspiBackup mit rsync. tar wird am häufigsten bei raspiBackup benutzt (tar: 50%, dd: 30%, rsync: 20%). Hier findest Du auch eine kurze Übersicht über die Vor- und Nachteile der jeweiligen Linuxbackuptools.

Jetzt mitmachen!

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