[HowTo] SAS Sicherung des Raspi-Images auf eine kleinere SD-Karte

JL3

Aktives Mitglied
Mitglied seit
4 Dez 2010
Beiträge
1,995
Punkte für Reaktionen
8
Punkte
38
Zugegeben, der Titel ist nicht sehr geistreich gewählt, denn es geht eigentlich darum, ein Raspi-Image (Raspbian) zu verkleinern, um es auf eine andere ggf. auch kleinere Speicherkarte zu bringen.

Ich beschreibe das hier mal in groben Zügen, weil ich noch an einer weniger aufwändigen Methode feile. Danach kommt diese Beschreibung auch ins SAS-Web.

Was man braucht:
Eine CD-Live-Version von Debian (ich benutze eine von Debian wheezy)

  • Die wird am PC ohne Installation live gestartet.
  • Konsole öffnen.
  • sudo su
  • Wenn GParted fehlt: apt-get install gparted
  • Konsole offen lassen.
  • Die SD-Karte, deren Image verkleinert werden soll, am PC in den Kartenleser schieben.
  • GParted starten.
  • Das Device wählen, was das Medium der SD-Karte darstellt wählen. (Als Beispiel hier mal /dev/sdd)
  • Alle Partitionen, die von dem Device gemounted sind im GParted umounten. (Jede Partition anklicken und dann umount im Menü wählen)
  • Die ext4-Partition wählen (letzte Partition auf dem Device (sind normal auch nur 2 drauf).
  • Jetzt verkleinern im Menü wählen und so klein wie möglich einstellen. Dann ein paar MB als Puffer dazugeben (max. +100 MB).
  • GParted die Aktion ausführen lassen.
  • GParted beenden.
  • Zur Konsole wechseln.
  • fdisk /dev/sdd
  • p
  • Jetzt den End-Wert der Linux-Partition merken (ext4, letzte Partition) und um 1 erhöhen. ( Als Beispiel 1234567 plus 1 ist 1234568 )
  • q
  • dd count=1234568 bs=512 if=/dev/sdd of=/media/MeinLaufwerk/x.img (/media/MeinLaufwerk steht hier als Beispiel für ein gemountedes Laufwerk, wo genug Platz für die zu erzeugende Datei x.img ist; kann eine ext. USB-Festplatte oder sonstwas sein)
  • Debian beenden.
  • Windows starten.
  • Win32DiskImager starten und nun die x.img auf eine kleinere SD-Karte schreiben lassen.
  • Im Raspi dann neue SD-Karte mit neuem Image rein:
  • Starten.
  • raspi-conf
  • Expand Filesystem.
  • reboot
  • Fertig. :)


Nachtrag: Habe das vorhin zwei mal mit einer 64GB-Karte gemacht, von der nur 7GB genutzt wurde, um sie auf eine 8GB zu bekommen. Kein Problem. :)
 
Zuletzt bearbeitet:
Habe inzwischen ein 8GB großes Image von Debian wheezy für den PC für einen USB-Stick erstellt, welches eine Komplettinstallation mit gparted ist. Man kann es mit Win32DiskImager auf einen Stick schreiben und davon booten. Das Problem ist noch die Größe, aber das bekomme ich noch kleiner.
Falls jemand Interesse dran hat (und ich es auch auf ein erträgliches Maß verkleinern kann), stelle ich es ins SAS-Web, da dort alle Komponenten und Funktionen zum SD-Karten-Verkleinern drauf sind. :)
 
Wenn kein Interesse, bastle ich nicht weiter dran. Hab ja meinen Stick. ;)
Wenn doch, postet kurz hier.

Ist ja sinnlos Zeit zu investieren, wenns eh keiner braucht oder haben will. :mrgreen:
 
Hallo,
Bisher habe ich es noch nicht gebracht, aber eine gute Anleitung ist nie weg :mrgreen:
Den SAS habe ich zwar auf der Karte, aber immer eine Kopie auf dem Stick am RaspPI. Den habe ich mir schon oft zerschossen, bastel ihn aber immer von Grund auf neu zusammen ;) (Das OS)
 
Habe ein bootfähiges Image nach 23 Debian-wheezy-Installationen auf einen (nicht besonders schnellen) USB-Stick. Grub2 hat mich dabei richtig Nerven gekostet. Verkleinerung der lauffähigen Version hat aber jetzt funktioniert. Muss das Image noch einmal etwas schrumpfen, dann passt es zum Download. Es ist kein Live-Image sondern eine boot- und ablauffähige (etwas abgespeckte) Vollinstallation auf dem Stick.

Gehe ich die Tage nochmal an.

OT/ SAS Version 2.60 ist auch bald da. /OT
 
Hallo,
Also Karte raus und Stick rein, dann bootet alles von selbigen?
 
Die Karte wird beim PI immer gebraucht. Das System "Raspberry PI" bootet nur von einer SD/SDHC-Karte

man kann das ganze aber so umbiegen, dass nur die Boot-Partition auf der Karte genutzt wird, der Rest von einem USB-Stick.
Dazu gibt es einige Anleitungen, die ich aber nicht ausprobiert habe.
 
Moin

Ach das kenn ich noch von "früher".

Der Linuxkernel ist bootbar. ;)
So kann er einfach, mit dd, auf z.B. eine Floppy geschrieben werden (seek=0),
Und wo er das Rootfilesystem sucht oder/und die Kernelparameter werden einfach vorher mit rdev gesetzt.
Aber mit Grub lässt sich sowas Heutzutage bestimmt komfortabler erledigen, mit Auswahlmenü. :mrgreen:
 
Zuletzt bearbeitet:
Leute... das Image ist für den PC, um mit den Werkzeugen, die im Image vorhanden sind, die SD-Karte des PI am PC zu verkleinern. ;) Von dem Image wird der PC gebootet.

... und vom GRUB2 habe ich die Nase "gestrichen voll". Der hat jedesmal beim Installationsvorgang nur Unsinn geschrieben. Den musste ich letztendlich komplett manuell gerade biegen. Da habe ich schneller Windows als Realsystem bootfähig auf einem Stick, als dieses Teil.
 
Zuletzt bearbeitet:
Grub

Dann haste was falsch gemacht.
Meine Grubinstallation hat zwei installierte Windowsversionen (32/64Bit) gefunden, erkannt und ins Bootmenü aufgenommen.
Umgekehrt: Windows überschreibt Grub gnadenlos und erkennt natürlich auch kein installiertes Linux, geschweige denn Zwei.
 
Grub trug grundsätzlich die falschen Partitionen und Platten ein. Händisch funktionierte es dann endlich. Warum er ständig willkürlich falsche Plattendaten reinschrieb, weiß wohl keiner. Jedenfalls konnte ich mich mehr als einmal mit der Grub rescue-Minioberfläche rumärgern, um Debian zu starten. Egal, es läuft. Ist ja kein Hexenwerk. ;) Bedenke auch, dass nicht die eingebauten Festplatten sondern der Stick das Ziel waren. Da ist wohl irgendein Bug drin, denn das Internet schreibt einiges über verzweifelte Leute mit missglückten Grub-Installs auf USB-Medien. ;)

Der Bootloader von Windows7 bootet auch vhds, das ist auch eine feine Sache. Und wenn man sich etwas auskennt, kann man in ihn auch alles einbauen, auch Linux oder booten mit verschiedenen Win7-Kernel, andere Win-Versionen etc. ;)

Bei einem gebe ich dir schon recht. Andere Bootloader überschreibt der Windows-Bootloader gnadenlos und ohne Nachfrage. Das kommt daher, weil Microsoft seinen Benutzern überhaupt kein Wissen zutraut und einfach für sie entscheidet. Das macht Windows ohnehin gerne. Deshalb brauche ich immer bei Neuinstallationen eine Weile, dem System diese Bevormundungen abzugewöhnen. Registry-Fummelei, aber dann lässt mich das System in Ruhe arbeiten und funkt mir nicht mehr dazwischen. :mrgreen:

Windows erkennt auch keine zwei getrennte Windowsversionen, außer dem Hickhack damit, dass Boot-Teile der einen auf der anderen hinterlassen sind. Ist dann die Hauptpartition beschädigt, geht nichts mehr.

Das ist bei Linux angenehmer. Nur die Benutzerrechteverwaltung nervt manchmal beim Entwickeln. ;)

Naja, das Ganze ist jetzt ziemlich OT, aber zumindest kann ich vermelden, ein USB-Image für den PC mit den Tools in erträglicher Größe erstellt zu haben. :)
 
Windows kann schon seit Vista mit einem andern Bootloader sauber umgehen.
Dazu muss dieser aber aufder Platte installiert sein, auf der das zu startende System liegt.
Und nicht auf der ersten.
Der BCD vom Windows startet dann diesen zweiten.

Auch kann Widows seit Vista ohne Probleme und Plattenhickhack mit mehreren Windows-Versionen auf einem Rechner umgehen.
Nur müssen die Versionen in eigenen Partitionen installiert sein.
Dann kann man die Laufwerksbucstaben auch so verteilen, wie man es selber will.
Windows erwartet nicht mehr, von LW C: gestartet zu werden.

----
zum Debian:
Hast du die Platten über ihre UUIDs oder ihre Device-IDs gemountet?
Eventuell kommt grub2 mit per dev-id gemounteten Partitionen durcheinander.
 
Windows überschreibt Grub gnadenlos und erkennt natürlich auch kein installiertes Linux, geschweige denn Zwei.
Deshalb installiert man in solchen Fällen den Bootloader vom Linux nicht auf der ersten Platte sondern auf der Linux-Platte.
Und lässt diesen dann vom BCD starten.
Das kann Windows.
 
Zuletzt bearbeitet:
...
zum Debian:
Hast du die Platten über ihre UUIDs oder ihre Device-IDs gemountet?
Eventuell kommt grub2 mit per dev-id gemounteten Partitionen durcheinander.
Mit beiden Varianten gab es Probleme. Aber läuft ja jetzt. (Bei UUID waren sie mir gänzlich unerklärlich, da dies ja eindeutig die Partition bezeichnet... )

Vista war und ist eine kleine Katastrophe, deswegen mein Win7-Vergleich. Win 8 und 8.1 ist ebenfalls wieder eine Katastrophe und Win 10 sieht wieder besser aus. ;)
Und, ja, der BCD kann mehr als man denkt und auch mehr als so Tools wie EasyBCD einem Glauben machen wollen (ist auch nur die halbe Miete, was da umgesetzt ist). :mrgreen:
 
Habe jetzt auch eine komplette Windows-Lösung zum Verkleinern eines RaspberryPI-Images... Kein Wechsel auf Linux, kein Hin und Her.

Benötigte Software (alles Freeware):
Win32DiskImager (kennen wir ja schon, zum Schreiben benötigt)
dd for Windows 0.6beta3 (Pendant zum dd in Linux, bisschen langsam, aber funktioniert gut)
Paragon Partition Manager™ 2014 Free (Pendant zum GParted, kann auch ext3, ext4 verkleinern/vergrößern)

Wie es geht, beschreibe ich die Tage... ;)
 
Der Paragon Partition Manager™ 2014 Free hängt sich bei einigen ext4-Partitionen auf und zerstört sie. Kann man also leider vergessen, denn mal geht es und mal nicht ist keine gute Lösung. Suche weiter. ;)

Die Debian4PC-Lösung läuft dagegen sauber und ohne Probleme mit dem GParted. :)

Nachtrag: Beim Paragon Partition Manager war ich wohl etwas zu ungeduldig. Er scheint schon zu funktionieren, aber er ist etwas... langsam. ;)

Ich teste bei Gelegenheit nochmal weiter...
 
Zuletzt bearbeitet:
Downloads und Beschreibung ist in die Komplettlösung für den Pi im SAS-Web integriert worden.
 
Zuletzt bearbeitet:
Hallo,
Eine Verständnisfrage:
Wenn ich das neue Image (Wheezy vom 18.02.15) nehme, die Installation ausführe (auf einer 16GB-Karte), wie in Deinem HowTo, es aber nicht "vergrößer" (expand filesystem), bleibt es bei der Sicherung dann auch so klein, oder erstelle ich damit wieder eine 16GB-Datei?
 
W32DiskImager liest immer die gesamte SD-Karte aus. Es ist vollkommen egal, was da drauf ist, Partitionen oder ungenutzter Platz. Die Größe entspricht immer der Größe der Karte.
 
Holen Sie sich 3CX - völlig kostenlos!
Verbinden Sie Ihr Team und Ihre Kunden Telefonie Livechat Videokonferenzen

Gehostet oder selbst-verwaltet. Für bis zu 10 Nutzer dauerhaft kostenlos. Keine Kreditkartendetails erforderlich. Ohne Risiko testen.

3CX
Für diese E-Mail-Adresse besteht bereits ein 3CX-Konto. Sie werden zum Kundenportal weitergeleitet, wo Sie sich anmelden oder Ihr Passwort zurücksetzen können, falls Sie dieses vergessen haben.