Aus SatriaWiki
Version vom 6. Januar 2023, 19:17 Uhr von Satria (Diskussion | Beiträge) (microSD Karten Image verkleinern)
Wechseln zu: Navigation, Suche

Vorbereitung von Raspbian

Das gilt für viele Images, die auf Raspbian basieren.

Nach dem Schreiben des Images auf die microSD Karte kann in der boot Partition

  1. eine Datei "ssh" erstellt werden, um den SSH Zugang gleich zu Beginn zu aktivieren.
  2. eine Datei "wpa_supplicant.conf" erstellt werden, damit sich der Raspi gleich zu Beginn mit dem darin eingetragenen WLAN verbindet. Der Inhalt ist in etwa so:
    country=DE
    ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
    update_config=1
    network=
    {
      ssid="name"
      scan_ssid=1
      psk="passwort"
      key_mgmt=WPA-PSK
    }

    scan_ssid=1 ist entscheidend, wenn der Accesspoint die SSID versteckt.
  3. LAN IP herausfinden. Wenn der Raspberry per LAN, aber nicht an einem DHCP Server betrieben wird, wird er sich eine IP aus dem Bereich 169.254.x.x geben. Man muss dem angeschlossenen Computer dann eine IP geben wie:169.254.1.1/16. Dann wird der Name raspberrypi zu dem Raspi führen, um die erste Konfiguration durchführen zu können.

Nach dem Login per SSH mit dem Standardzugang "pi:raspberry" sollte wie immer

 sudo raspi-config

ausgeführt werden, um die Basiskonfiguration des Raspi vorzunehmen und das Standardkennwort zu ändern.

RaspiOS Standardbenutzer

In der neuen Version des Raspberry Betriebssystems gibt es keinen Standardbenutzer "pi" mehr. Zusätzlich zu den Methoden "Raspberry Pi Imager" beim Bootvorgang mit anschlossener Peripherie gibt es auch die Möglichkeit, eine Datei "userconf" in der boot Partition anzulegen mit folgendem Inhalt:

 username:passwordhash

passwordhash stellt das verschlüsselte Passwort dar, das so generiert werden kann:

 echo 'passwort' | openssl passwd -6 -stdin

"passwort" ist hierbei natürlich frei zu wählen.

Verschiedene Tricks

Statische / Dynamische IP Adresse

In /etc/dhcpcd.conf werden die Interfaces konfiguriert, die statische Adressen haben sollen.

Interfaces ohne Konfiguration sind automatisch DHCP konfiguriert.

IP Adressen erneuern

Das Kommando

 sudo dhclient -v

erneuert die IP Adressen der entsprechend konfigurierten Interfaces.

Wifi abschalten

In /boot/config.txt:

 dtoverlay=disable-wifi

Periodische Tasks

Mit

 crontab -e

editiert man die periodischen Tasks, die automatisch vom System ausgeführt werden. Die temporäre Datei, die im Editor geöffnet wird, kann einfach überschrieben werden, cron nimmt sie sich anschließend und aktualisiert im Hintergrund die Task liste.

Mit

 crontab -l

ruft man sich die Liste aller derzeit geplanten Tasks ab.

Benchmarks

Einige Benchmark Kommandos:

sysbench --test=cpu --cpu-max-prime=10000 --num-threads=4 run

sysbench --test=fileio --file-total-size=512M prepare
sysbench --test=fileio --file-total-size=512M --file-test-mode=seqrd --init-rng=on --max-time=60 run
sysbench --test=fileio --file-total-size=512M --file-test-mode=seqwr --init-rng=on --max-time=60 run
sysbench --test=fileio --file-total-size=512M --file-test-mode=rndrw --init-rng=on --max-time=60 run
sysbench --test=fileio --file-total-size=512M cleanup

sysbench --test=memory --memory-total-size=3G --memory-access-mode=rnd run

Raspberry PI 4

RaspiOS (Debian 11 bullseye) Desktop

Um den Desktop zu starten und sich erfolgreich anmelden zu können, müssen 2 Pakete nachinstalliert werden:

apt install lightdm und apt install lxsession

Danach kann über raspi-config das System so eingestellt werden, dass es in den Desktop bootet.

microSD Karten Image verkleinern

Den Speicher (microSD Karte) des PI zu sichern ist denkbar einfach. Z.B. mit Win32DiskImager kann man den Karteninhalt als .img Datei sichern und zum Beschreiben einer neuen microSD Karte verwenden. 2 Probleme gibt es dabei:

  1. Das Image hat immer die volle Größe der microSD Karte. Das ist aus Platzgründen schon nicht sehr schön.
  2. Die zu beschreibende microSD Karte darf nicht auch geringfügig kleiner sein als das Image, weil sonst das Schreiben gar nicht erst gestartet wird.

Es gibt eine Möglichkeit, das Image zu verkleinern und zwar auf die minimal nötige Größe:

Voraussetzungen für diese Anleitung:

  • microSD Karteninhalt existiert bereits als .img Datei und heißt exemplarisch microCD.img
  • Die .img Datei liegt auf einer externen USB Festplatte bereit. Diese soll hier exemplarisch "BackupHDD" heißen.
  • Es steht ein PI zur Verfügung mit einer extra microSD Karte und Raspbian oder RaspiOS.
  • Dieses OS wird im Desktop-Modus betrieben (lxsession und lightdm sind installiert) und hat die Pakete dcfldd und gparted installiert.
  • Basis-Linux Kenntnisse, da diese Anleitung nur als Gedankenstütze für nicht Selbstverständliches dienen soll.

Es ist Zeit, den PI mit Raspbian oder RaspiOS hochzufahren und sich anzumelden. Dann wird ein Terminal-Fenster geöffnet.

Startposition der 2. Partition ermitteln

Ich gehe davon aus, die externe Festplatte wurde in /media/pi/BackupHDD gemounted.

sudo fdisk -l /media/pi/BackupHDD/microCD.img

Die Sektorangabe für microCD.img2 unter "Start" ist zu notieren! Sie sei exemplarisch 524288

Mounten der 2. Partition des Images

Für die Zahl 524880 ist hier die tatsächlich notierte zu verwenden:

sudo losetup /dev/loop0 /media/pi/BackupHDD/microSD.img -o $((524288*512))

GParted

sudo gparted /dev/loop0

In GParted wird jetzt die große Partition verkleinert auf eine Größe von 500MB mehr als das vorgeschlagene Minimum. Wenn die Operation fehlschlagen sollte, wählt man eine Größe +500MB, bis es funktioniert.

Nach Fertigstellung, klappt man die Details auf bis man den Befehl resize2fs findet. Am Ende dieses Befehls steht eine Zahl, welche zu notieren ist! Sie sei exemplarisch 4963328K.

Die Partition kann jetzt wieder freigegeben werden:

sudo losetup -d /dev/loop0

Größenanpassungen im Image mit fdisk

Es wird jetzt das ganze Image gemounted:

sudo losetup /dev/loop0 /media/pi/BackupHDD/microSD.img

Jetzt werden per fdisk die Metadaten der 2. Partition neu erstellt:

sudo fdisk /dev/loop0
d
2
n
p
2
524288 (der tatsächlich notierte Wert)
+4963328K (der tatsächlich notierte Wert)
w

Zur Kontrolle:

sudo fdisk -l /dev/loop0

/dev/loop0p2 wird in der "End" Spalte einen Wert haben, der zu notieren ist! Er sei exemplarisch 9926656

Das Image kann unmounted werden:

sudo losetup -d /dev/loop0

Das Image verkleinern

Jetzt kann mit diesem Befehl die .img Datei verkleinert (abgeschnitten) werden. Für die Zahl 9926656 ist der tatsächlich notierte Wert zu verwenden:

truncate -s $(((9926656+1)*512)) /media/pi/BackupHDD/microSD.img

Fertig. Quelle: https://www.instructables.com/How-to-BackUp-and-Shrink-Your-Raspberry-Pi-Image/