Neueste Seiten
Meistens besuchte Seiten
- Details
- Kategorie: Raspberry
-
Auch verfügbar:
- Zugriffe: 4147
- Details
- Kategorie: Raspberry
-
Auch verfügbar:
- Zugriffe: 27288
1. Schnellstart
1.1 Installation von QEMU
sudo apt-get install kvm qemu
1.2 Download eines Raspbianimages und des Linux kernels für qemu (wheezy or stretch)
a) wget 2012-12-16-wheezy-raspbian/2012-12-16-wheezy-raspbian.zip
Entsprechendes qemu kernel downloaden von https://github.com/dhruvvyas90/qemu-rpi-kernel. Für Wheezy ist es
curl -L wget https://github.com/dhruvvyas90/qemu-rpi-kernel/blob/master/kernel-qemu-3.10.25-wheezy > kernel-qemu
1.3 Anpassen des Images so dass es mit qemu startet
Von der Ausgabe des Befehls muss der Startsektorwert der zweiten Partition mit 512 multipliziert werden und das ist dann der Offset im folgenden Befehl
b) sudo mount 2012-12-16-wheezy-raspbian.zip -o offset=62914560 /mnt
c) sudo nano /mnt/etc/ld.so.preload
Die eine Zeile in der Datei muss auskommentiert werden mit einem # als erstes Zeichen in der Zeile
d) sudo umount /mnt
1.4 Starten des Images
1.5 Anmelden und Konfigurieren
2. Erweiterung der virtuellen Platte
2.1 Erstellung einer virtuellen Platte im Format qcow
2.2 Vergrößerung der virtuellen Platte
2.3 Erstellen von /dev/mmcblk0px
KERNEL=="sda?", SYMLINK+="mmcblk0p%n"
KERNEL=="sda2", SYMLINK+="root"
3. Script um ein Image für qemu vorzubereiten
Wer häufiger Images konvertieren muss kann auch das folgende von mir geschriebene Script benutzen. Es konvertiert ein img in qcow2, vergrößert das image und nimmt die oben beschriebenen notwendigen Änderungen vor um das Image dann in qemu starten zu können.
4. Netzwerkanbindung des KVM Images
Damit qemu über das Hostsystem ins externe Netzwerk zugreifen kann muss auf dem Hostsystem eine Brücke existieren und ein existierendes Netzwerkinterface eth0 muss an einer Brücke hängen. Dazu habe ich folgende Definitionen in /etc/network/interfaces vorgenommen
auto lo
iface lo inet loopback
auto eth0
iface eth0 inet manual
auto br0
iface br0 inet dhcp
bridge_ports eth0
bridge_stp off
bridge_fd 0
bridge_maxwait 0
5. Start eine KVM images
Ich möchte, dass mein KVM Image immer dieselbe MAC Adresse erhält, so dass der Homerouter ihm immer dieselbe IP Adresse per DHCP vergibt. Dazu benutze ich folgendes Script mit dem Namen start.sh
#!/bin/bash
DIR=$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )
F=$DIR/macdict.txt
found=0
if [ -e $F ]; then
if grep -q "^$1 " $F; then
mac=$(grep "^$1 " $F | cut -d ' ' -f 2)
found=1
echo "Reusing mac $mac for $1"
fi
fi
if (( ! found )); then
# generate a random mac address for the qemu nic
mac=$(printf 'DE:AD:BE:EF:%02X:%02X\n' $((RANDOM%256)) $((RANDOM%256)))
echo "$1 $mac" >> $F
echo "Generated mac $mac for $1"
fi
sudo qemu-system-arm -kernel $DIR/kernel-qemu -cpu arm1176 -m 256 -M versatilepb -no-reboot -append "root=/dev/sda2 panic=1" -hda $DIR/$1 -net nic,macaddr=$mac -net tap
Quellen für diesen Artikel
HOWTO: Virtual Raspbian on Qemu in Ubuntu Linux 12.10
Emulate a Raspberry Pi with Qemu+ KVM
Howto setup Raspberry Pi emulation with QEMU on LInux or Windows
KVM/ARM: The Design and Implementation of the Linux ARM Hypervisor
qemu-rpi-kernel: git repository mit rpi kernels
Raspbian on QEMU with network access
Erfahrungen mit der QEMU Emulation und Raspberry
Die Emulation wird primär dazu eingesetzt das Tool raspiBackup.sh zu testen. Beim Test des Restores des erstellten Backups ist es notwendig direkt auf das neue leere Image vom Host zuzugreifen. Das funktioniert auch gut mit den folgenden Befehlen
sudo losetup -d /dev/loop0
sudo losetup /dev/loop0 raspiBackupRestore.img
kpartx -av /dev/loop0
Danach kann man auf /dev/loop0 vom Host zugreifen und das Backup restoren. Allerdings gabe es beim restore des tar und rsync Backups beim Booten der restoreten VM immer Filesystemfehler. Das dd Backup konnte aber dagegen ohne Probleme gestartet werden. Nach längerem Debuggen fand ich raus warum es das Problem gab: Da ich immer ein ziemlich altes Standard raspbian Image benutze um es zu backuppen dachte das Image beim booten immer es würde momentan Anno 2014 gestartet werden (Jetzt ist es 2015). Da tar bzw rsync restore das Filesystem im Image mit dem aktuellsten Datum versah stellte das Image immer beim Booten fest, das das Filesystem in der Zukunft geändert wurde und verlangte ein fsck. Da beim dd restore das Filesystem nicht geändert wurde trat der Fehler dort nicht auf. Die Lösung des Problems war am Ende des restores noch folgende Aktionen auszuführen
mount /dev/loop0p2 /mnt
echo $(date +"%Y-%m-%d %T") > /mnt/etc/fake-hwclock.data
umount /mnt
Damit wird die fake-hwclock des alten raspbian Images auf die aktuelle Zeit gesetzt und es startet nicht mehr Anno 2014 sondern in der aktuellen Zeit wo das Backup restored wurde.
- Details
- Kategorie: raspiBackup
- Zugriffe: 413
The backup directory created by raspiBackup contains all information required to restore this backup also manually with standard Linux tools. The following page describes how to restore a normal tgz backup.
- Details
- Kategorie: raspiBackup
- Zugriffe: 205
Der Theorie nach sollte es möglich sein auch ein WEBDAV als Backupziel für raspiBackup zu wählen. Ich muss gestehen dass ich es nie getestet habe. Es gab aber einen Nutzer der es ausprobiert hat und in diesem github Issue seine Probleme reportet hat. Darauf hin habe ich mich mal hingesetzt und es auch bei mir getestet. Ergebnis: raspiBackup kann auf einem WEBDAV Space seine Backups ablegen. Allerdings muss dazu WEBDAV korrekt konfiguriert sein bzw die notwendigen Backupspacegrößen erlaubt sein.
- Details
- Kategorie: raspiBackup
- Zugriffe: 878
Wer keine NAS besitzt aber seine Raspberries mit raspiBackup sichern möchte kann natürlich auch den NAS Speicher einer Fritzbox nutzen. Allerdings muss dazu der Backuptyp tar genommen werden da das genutzte Sambaprotokoll keine Hardlinks unterstützt und somit auch kein rsync Backuptyp genutzt werden kann, bei dem man inkrementelle Backups erhält. Ich empfehle immer den rsync Backuptyp zu nutzen da es der beste Weg ein Backup zu erstellen ist. Deshalb sollte sich jeder überlegen ob er nicht besser eine Raspberry mit einem nfs- Server aufsetzt und dort seine Backup ablegt.
- Details
- Kategorie: raspiBackup
-
Auch verfügbar:
- Zugriffe: 656
raspiBackup bietet mit der Option -M die Möglichkeit eine Art Snapshot zu erzeugen. Dieses sind normale Backups, die aber zwei Besonderheiten haben:
- Snapshots werden nicht automatisch gelöscht durch die gewählte Backupstrategie
- Snapshots muss man eine Beschreibung als Parameter zur Option -M mitgeben.Diese wird am Ende des Verzeichnisnamens angehängt.
Somit kann man sehr leicht mal eben ein Snapshot ausser der normalen Reihe erstellen und durch die Beschreibung kann der Grund des Snapshots am Backupverzeichnisnamen erkannt werden. Das ist sehr hilfreich bevor man einen Softwareupdate vornimmt oder eine andere größere Änderung plant. Wenn der Update schief geht hat man schnell wieder den vorherigen Stand hergestellt. Wenn er erfolgreich war löscht man den Snapshot im Backupverzeichnis.
Es gibt auch ein Youtube Video in dem die raspibackup Snapshots erklärt werden sowie eine Demo gegeben wird.
- Details
- Kategorie: raspiBackup
-
Auch verfügbar:
- Zugriffe: 612
Ein agiler Nutzer von raspiBackup - Franjo-G - hat ein sehr nützliches kelines Hilfsscript mit dem Namen raspiBackupDialog geschrieben welches in einem Dialog die wichtigsten Aufrufoptionen für den Backup und den Restore abfragt und mit denen dann raspiBackup anstößt. raspiBackup Snapshots werden unterstützt. Sehr einfach ist besonders der Restore durchzuführen: Vor dem Restore wird die Liste der vorhandenen Backups angezeigt und man kann auswählen welches Backup man restoren will.
- Details
- Kategorie: raspiBackup
-
Auch verfügbar:
- Zugriffe: 1587
Aufrufsyntax und -optionen
raspiBackup muss als Benutzer root oder per sudo aufgerufen werden. Die Aufrufsyntax ist
raspiBackup.sh Option1 Option2 Option3 ... Backupverzeichnis
Alle Optionen die etwas ein- oder ausschalten könne durch ein angehängtes + oder - gezielt ein oder ausgeschaltet werden. Beispiel: Die Option -z sowie die Option -z+ schaltet die Backupcompression ein. Mit der Option -z- wird dagegen die Backupcompression ausgeschaltet. Egal was in der Konfigurationsdatei in dem Parameter DEFAULT_ZIP_BACKUP steht. Damit kann eine Option in der Befehlszeile ausgeschaltet werden obwohl sie in der Konfigurationsdatei eingeschaltet ist.
Neben /usr/local/etc/raspiBackup.conf gibt es weitere Konfigurationsdateien die sofern vorhanden, gelesen werden. Sie werden in folgender Reihenfolge eingelesen und überschreiben die vorherig eingelesenen Optionen. Zuletzt überschreiben die Optionen, die beim Aufruf mitgegeben werden die Konfigurationsoptionen.
Priorität | Dateiname |
5 | /usr/local/etc/raspiBackup.conf |
4 | ~/.raspiBackup.conf |
3 | $(pwd)/.raspiBackup.conf |
2 | -f <configFile> |
1 | Aufrufoptionen |
- Details
- Kategorie: raspiBackup
-
Auch verfügbar:
- Zugriffe: 460
raspiBackup wird bislang nur für RaspbianOS unterstützt. Mit dem Aufkommen der Raspi mit 8GB und der Raspberry400 ist Ubuntu ein gerne genutztes Betriebssystem auf der Raspberry. Deshalb wird raspiBackup im nächsten Release auch Ubuntu Desktop und Ubuntu Server offiziell unterstützen. Erfreulicherweise gab es eine Raspi mit 8GB relativ günstig zu erwerben welches ich aus den Spenden zu raspiBackup finanziert habe. Somit konnte ich den Support von raspiBackup für Ubunto einbauen und testen.
Es existiert bereits eine Beta für den Ubuntu Support die ausprobiert werden kann. Leider schafft se sie nicht mehr in die 0.6.8 Release. Die Beta wurde erfolgreich mit Ubuntu 22.10 Desktop und Ubuntu 22.10 Server mit rsync und dem normalen Modus und dem partitionsorientierten Modus getestet. Die Beta kann man wie folgt downloaded und testen:
- Details
- Kategorie: raspiBackup
-
Auch verfügbar:
- Zugriffe: 1943
Auf dieser Seite findet sich eine high Level übersicht zu raspiBackup. Detailiertere Informationen zu raspiBackup finden sich hier.
- Details
- Kategorie: raspiBackup
-
Auch verfügbar:
- Zugriffe: 1887
Gestern habe ich eine CM4 mit 1GB main memory, 32GB eMMC und 128 GB NVMe gespendet bekommen. Vielen Dank an den Spender!
CM4 war schon von raspiBackup unterstützt aber nur wenn es von einer SD Karte, dem eMMC oder per USB Boot gestartet wurde. Man kann NVMe schon nutzen aber nur wenn er sich in einem USB Stick befindet da er als normale Platte als /dev/sdx exposed wird aber es gibt bislang keinen Weg NVMe zu nutzen wenn es in die PCi Lane gesteckt wurde da er dann als /dev/nvme exposed wird. Jetzt war ich in der Lage auch diesen Support in raspiBackup einzubauen. Der Support ist ab Release 0.6.8 verfügbar.
- Details
- Kategorie: raspiBackup
- Zugriffe: 1828
Auf den folgenden Seiten werden Hinweise zu verschiedenen Anwendungen gegeben: Ob und welche Services zu stoppen und zu starten sind, welche Besonderheiten zu berücksichtigen sind, ob und welche Aktionen vor und nach dem Backup und/oder vor und nach dem Restore vorzunehmen sind.
Diese Seite lebt vom Feedback der raspiBackup Nutzer die sich mit den jeweiligen Anwendungen auskennen und genau beschreiben können worauf bei den jeweiligen Anwendungen zu achten ist. Deshalb ist Feedback in Kommentaren erwünscht.
- Details
- Kategorie: raspiBackup
-
Auch verfügbar:
- Zugriffe: 3543
raspiBackup - Unterstützte Hardware und Software
raspiBackup wird nur mit dem RaspbianOS und Raspberry Hardware unterstützt. Ubuntu auf Raspberry wird in der nächsten Release unterstützt. Es existiert bereits eine Beta. Es läuft aber auch auf anderer Hardware und Linux Distributions erfolgreich. D.h. man kann raspiBackup auf dem jeweiligen Environment ausprobieren und wenn es erfolgreich läuft kann man sich freuen und es nutzen. Wenn es aber nicht läuft bzw Fehlermeldungen bringt wird kein Support gegeben. Unter der Tatsache, dass raspiBackup umsonst ist
1) zu teuer für mich sich alle mögliche Hardware für die Tests anzuschaffen
2) zu aufwändig für mich alle mögliche Hardware- und Softwaretestkombinationen aufzubauen
3) zu aufwändig für mich jeweils alles bei einer neuen Release zu testen
Es exsitiert ein kleines Script im github mit dem man testen kann ob das Environment unterstützt ist (Siehe hier)
Unterkategorien
Seite 4 von 7