Ja, meines Wissens ist das völlig möglich!
Was Sie tun mögen ist die Root - Partition über auf einen USB - Stick zu kopieren und dann die ändern /etc/fstab
und , /boot/cmdline.txt
um es von dem externen Laufwerk stattdessen auf der SD - Karte der zweiten Partition zu booten.
Wenn ich ein Tutorial gefunden habe, es aber leider nicht auf Englisch ist, werde ich versuchen, das Verfahren in meinen eigenen Worten zu erklären.
Starten Sie den Pi neu, wobei das einzige externe Laufwerk der USB-Stick ist (auf diese Weise vermeiden wir, dass bei jedem Start unterschiedliche Laufwerksnummern verwendet werden, da eindeutige Laufwerks-IDs nicht möglich sind, wenn Sie die USB-Sticks später austauschen möchten).
Die Laufwerksnummer erhalten Sie über sudo blkid
. Es sollte nur eine sein , die wie folgt aussieht: /dev/sda1
.
Mit dem Befehl können mount
wir sehen, ob es automatisch gemountet wurde. Ist dies nicht der Fall, fahren Sie mit dem nächsten Schritt fort. Wenn dies der Fall ist, führen sudo umount /dev/sda1
Sie den Befehl aus (bei unterschiedlichen Nummern korrigieren, falls diese nicht identisch sind), um den USB-Stick zu entfernen.
Als nächstes wollen wir den USB-Stick formatieren, um das richtige Dateisystem für die Debian-Root-Partition zu haben ext4
. Sie können dies tun , indem Sie den Befehl ausführen: sudo mkfs.ext4 /dev/sda1
.
Danach müssen wir den USB-Stick an einem temporären Ort (neu) mounten, um die Root-Partition von der SD-Karte zu kopieren. Das tun wir durch Laufen: sudo mount /dev/sda1 /mnt
. (Wenn sich der Befehl darüber beschwert /mnt
, dass kein Ordner vorhanden ist, erstellen Sie einen Ordner mit diesem Namen, indem Sie Folgendes sudo mkdir /mnt
ausführen :, und versuchen Sie es erneut.
Jetzt ist es Zeit , indem zuerst Umschalten in den Top-Verzeichnis alle Daten aus der Root - Partition kopieren mit: cd /
und dann läuft diese tar-Befehl: sudo tar cf - * --exclude /mnt/* | ( cd /mnt; sudo tar xfp -)
. Es ist wahrscheinlich nicht die kompakteste Lösung, aber es hat bei mir funktioniert. Beachten Sie, dass dies abhängig von der Geschwindigkeit Ihrer SD-Karte und Ihres USB-Laufwerks einige Zeit dauern kann.
Als nächstes müssen wir das ändern, das /etc/fstab
die Laufwerke enthält, die beim Booten durch Ausführen gemountet werden sollen sudo nano /mnt/etc/fstab
. ( Beachten Sie, dass sich dies auf dem USB-Stick befindet, seit wir es hinzugefügt haben /mnt
. ) Sie müssen die entsprechenden Leitungen ändern, damit sie so aussehen:
/dev/mmcblk0p1 /boot vfat defaults 0 0
/dev/sda1 / ext4 defaults,noatime 0 0
Schließlich müssen wir die Boot-Partition auf der SD-Karte anweisen, stattdessen vom USB-Laufwerk zu booten. Aber zuerst ist es wahrscheinlich eine gute Idee , eine Sicherungskopie der Datei zu machen , die wir jetzt ändern werden, bevor wir daran , den Schalter, indem Sie verpflichten: sudo cp /boot/cmdline.txt /boot/cmdline.txt.save
.
Führen Sie sudo nano /boot/cmdline.txt
den Befehl nano
aus, um die Startparameter auf der ersten Partition der SD-Karte zu ändern. Grundsätzlich müssen wir den Eintrag für die Root-Partition auf das USB-Laufwerk ändern. Das Tutorial bietet an, dies dort einzutragen (1 Zeile):
dwc_otg.lpm_enable=0 root=/dev/sda1 rootfstype=ext4 noatime quiet rootwait loglevel=1 zram.num_devices=2
Sie können lesen , was in diese Parameter bedeuten hier .
Jetzt speichern und beenden nano
und beim nächsten Neustart sollte Ihr Raspberry Pi vom USB-Stick booten, aber natürlich wird die SD-Karte weiterhin benötigt, wie Sie bereits erwähnt haben.
Solange das USB-Laufwerk (abgesehen von der SD-Karte) beim Booten das einzige Laufwerk ist, sollte dies funktionieren. Sie müssen es etwas dynamisch haben und ich sehe keine andere Art, sich auf das Laufwerk zu beziehen, als es zu verwenden /dev/diskX
.
Bearbeiten: Ich habe vergessen zu erwähnen, dass Sie das USB-Laufwerk duplizieren müssen, nachdem Sie fertig sind oder die gleichen Schritte mit anderen Installationen auf anderen Laufwerken ausführen. Wenn die Raspian-Version einschließlich der installierten Pakete alle gleich sind, sehe ich keinen Grund, warum dies nicht funktionieren sollte.
Die /boot
Partition ist ziemlich einfach und die Zeile, die ich in 9 erwähnt habe, ist im Grunde alles, was sie tut. Es muss nur an die richtige Partition mit dem richtigen Dateisystem übergeben werden und es sollte funktionieren.
Ich hoffe das war hilfreich für dich.
Für den deutschsprachigen Raum lasse ich den Quelllink hier: Quelle .