Benutzer-Werkzeuge

Webseiten-Werkzeuge


projekte:raspberry_pi

Dies ist eine alte Version des Dokuments!


Raspberry Pi

Hier entsteht eine Sammlung an Anleitungen rund um's Raspberry Pi.

Backup

Komprimiertes Image

Ein Vollständiges Image einer SD Karte belegt erst mal so viel Platz wie die SD Karte gross ist. Das ist unter Umständen viel mehr als der tatsächlich auf der Karte belegte Platz. Kompression mit z.B. GZip hilft da. Damit kann man dann aber nicht mehr direkt auf die Daten zugreifen, ohne das Komprimierte Image wieder zu entpacken.

Die Lösung: Ein mittels SquashFs komprimiertes Image, das gemountet werden kann ohne zu entpacken.

  1. Die SD Karte aus dem ausgeschalteten RasPi entnehmen und mit einem anderen Computer verbinden.
  2. Sicherstellen, dass das Paket „squashfs-tools“ installiert ist.
  3. Herausfinden, welches Gerät die SD Karte auf dem System ist. z.B. mit „lsblk -f“.
  4. Eine leeres Verzeichnis erstellen. Das ist erforderlich weil „mksquashfs“ ein Quellverzeichnis erfordert. Wir wollen aber kein Verzeichnis komprimieren, daher geben wie ein leeres an.
  5. Das Image direkt in komprimiert auslesen.
  6. Den SquashFs Container mounten.
  7. Das Image innerhalb des Containers als Loopback-Device einbinden.
  8. Eine Partition innerhalb des Images mounten.
  9. Kontrollieren ob die Dateien lesbar sind.
  10. Dateisysteme aushängen
# find the SD card device
lsblk -f
 
# create empty directory
mkdir /tmp/empty
 
# create SquashFs using the empty directory and reading the SD card directly
mksquashfs /tmp/empty rasPi_2026-02-03.squashfs -p 'rasPi_2026-02-03.img f 444 root root sudo dd if=/dev/sdb bs=4k status=progress' -no-progress
 
# create mountpoints
mkdir -p /tmp/mnt/container
mkdir -p /tmp/mnt/image
 
# mount compressed container and the contained image
sudo mount -o ro rasPi_2026-02-03.squashfs /tmp/mnt/container/
sudo losetup -Pf /tmp/mnt/container/rasPi_2026-02-03.img 
losetup --list | grep container
sudo mount -o ro /dev/loop38p2 /tmp/mnt/image/
 
# unmount everything
sudo umount /tmp/mnt/image
sudo losetup -d /dev/loop38
sudo umount /tmp/mnt/container 

BTRFS

Zu BTRFS Konvertieren

  1. Raspberry Pi OS ganz normal installieren
  2. Im installierten System das Paket „btrfs-tools“ installieren
  3. Sauber herunterfahren
  4. Die SD Karte entnehmen.
  5. Mit einer anderen SD Karte booten.
  6. Die zu konvertierende SD Karte in einem USB Kartenleser mit dem RasPi verbinden
  7. usw…
# find the device
lsblk -f
 
# convert 
sudo fsck.ext4 /dev/sda2
sudo btrfs-convert /dev/sda
sudo mount /dev/sda2 /mnt/
cd /mnt/
sudo rm -r lost+found ext2_saved
sudo btrfs subvolume snapshot . @
sudo rm bin lib sbin
sudo rm -r boot dev etc home media mnt opt proc root run srv sys tmp usr var
sudo vim /mnt/@/etc/fstab
 
sudo mount /dev/sda1 /mnt/@/boot/firmware/
sudo vim @/boot/firmware/cmdline.txt
proc                                       /proc           proc    defaults                                   0       0
PARTUUID=920be9a3-01                       /boot/firmware  vfat    defaults                                   0       2
UUID=0ba076f5-a8cb-4a1d-b01c-eba081cd3e09  /               btrfs   defaults,noatime,discard=async,subvol=@    0       0
console=serial0,115200 console=tty1 root=UUID=0ba076f5-a8cb-4a1d-b01c-eba081cd3e09 rootfstype=btrfs rootflags=subvol=@ rootwait cfg80211.ieee80211_regdom=CH
projekte/raspberry_pi.1770154345.txt.gz · Zuletzt geändert: von wene