Rettungsinstallation auf USB-Stick

Diskussion rund um unser Wiki.
GosuSan
Beiträge: 40
Registriert: 27.02.2010 11:32:35

Re: Rettungsinstallation auf USB-Stick

Beitrag von GosuSan » 10.02.2021 10:01:58

Feedback Rettungssystem:

Disclaimer: Ich habe Teile der alten und neuen Anleitung kombiniert um mein System zu installieren. Ich hätte auch auf den neuen Artikel warten können, aber da smutbert bereits um Feedback gebeten hat, dachte ich ich schreibe gleich was mir aufgefallen ist.

Leider ist sind meine Stichpunkte etwas unsortiert, ich bitte dies zu entschuldigen.

1. einen allgemeineren Namen wählen
Eventuell für die überarbeitete Version des Artikels einfach ein wenig weg von "Rettungssystem" und mehr in Richtung "portable Debian Vollinstallation".
ich habe mich zwar auch etwas dämlich angestellt beim Suchen nach einer solchen Anleitung, aber eventuell stoßen in Zukunft so mehr Leute auf diese nützliche Anleitung.

2. kernel-img.conf (alte Anleitung)
Die »/mnt/tmp/etc/kernel-img.conf« sorgt dafür, dass in »/boot« symbolische Links zum jeweils aktuellen und vorigen Kernel erzeugt werden, was dann bei der Installation des Bootloaders ausgenutzt wird:
Ich habe in der Dokumentation nachgelesen was die beiden Einstellungen tun. Jetzt weiß ich zwar was das ändert, aber nicht wirklich welche Auswirkungen das auf diese spezielle Installation hat, bzw. was wir dabei ausnutzen. Weil ich mir unsicher war habe ich diesen Teil einfach mal weggelassen um eventuell später festzustellen welche Auswirkungen das hat, aber bisher ist mir nichts aufgefallen.

3. außerdem installieren wir ein paar Pakete (neue Anleitung)
Das ist definitv persönliche Meinung, aber mMn ist hier weniger mehr. Pakete wie "eject, debootstrap, screen, gddrescue, nmap, netcat-traditional" sind sicherlich für viele Anwender nützlich, aber ich persönlich würde mich mehr auf die Basics einer allgemeinen Installation beschränken. (siehe 1.)

4. Firmware Installation (neue Anleitung)
Ich habe alle Schritte in einer Debian bullseye (lxqt / nonfree) VM durchgeführt, da das Übernehmen der apt sources.list etc. so einfacher war. Obwohl ich die VM von einem non-free Live-Image installiert habe sind in der sources.list weder "contrib" noch "non-free" eingetragen. Vielleicht sollte man im Absatz "Firmware Installation" kurz darauf hinweisen dass man unter Umständen die sources.list per

Code: Alles auswählen

sed -i 's/main/main contrib non-free/g' /etc/apt/sources.list
(stimmt das so..?)
anpassen muss um bestimmte Firmware nachinstallieren zu können.

5. zuverlässiger im Textmodus (alte Anleitung)
... aber zuverlässiger ist ein Rettungssystem, das nur im Textmodus bootet
Wieso ist das deiner Meinung nach so? Meiner Erfahrung nach bin ich in einer GUI flexibler wenn ich z.B. etwas im Internet suchen möchte um ein Problem zu beheben. Ich bin kein Freund von CLI-Webbrowsern. Davon abgesehen kann man eigentlich immer in eine TTY droppen, sollte die Desktopumgebung Probleme verursachen.

6. grub config (neue Anleitung)
Geschmackssache, aber ich persönlich hab unter "set default=0" noch ein "set timeout=2" hinzugefügt.
Einfach weil ich gewohnt bin dass GRUB meine Standard-Auswahl nach ein paar Sekunden bootet.

7. Erstellung des btrfs subvolumes (neue Anleitung)
In diesem Abschnitt wird das Subvolume nach seiner Erstellung gemountet. Hierfür musste ich zuerst mal /dev/sdb3 unmounten, was nicht in der Anleitung aufgeführt ist.

Positives Feedback:

genug in den Krümeln gesucht, jetzt kommt das Lob ;)

1. Deaktivieren von APT recommends and suggests
In '/mnt/tmp/etc/apt/apt.conf.d/99local'

Code: Alles auswählen

APT::Install-Recommends "0";
APT::Install-Suggests "0";
Super Sache! Habe mich nie groß mit der Konfiguration von apt auseinandergesetzt und es meist so genommen wie es ausgeliefert wird, aber für ein solches System das man eher schlank halten will ist das eine tolle Sache. Würde ich auf jeden Fall drin behalten.

2. bootbar auf allen Systemen
Ich habe gelesen dass du im Forum-Thread zu der Anleitung kurz mit dem Gedanken gespielt hast die Anleitung zu vereinfachen indem du nur 64bit UEFI Bootloader installierst. Du hast den Gedanken zwar ein paar Posts später verworfen, aber ich wollte dennoch Feedback dazu geben. mMn macht genau der Umstand dass das System auf jedem PC booten kann (wenn er USB-boot unterstützt) so wertvoll und ich würde es nicht streichen. Wenn man nur eine Debian-Installation mit 64bit UEFI bootloader auf einem Stick möchte kann man auch einfach einen Debian Live-Installer auf einem zweiten Stick nehmen und Debian ganz normal installieren.

3. Nutzung von tmpfs für /tmp
Auch hier ein großes Plus, vor allem für die Installation auf einem USB Stick. Jeder Schreibzugriff auf den Flash weniger ist super!

4. ganz Allgemein eine tolle Anleitung
Abschließend möchte ich sagen dass die Anleitung(en) gut strukturiert und wirklich sehr hilfreich sind. Ich möchte nicht dass das hier rüberkommt was wäre dem nicht so. Keine der oben aufgeführten Punkte ist eine große Sache, nur kleine Dinge die mir aufgefallen sind. Und viele davon sind auch nur persönliche Präferenz. Auch die deutliche Trennung zwischen dem ersten (nicht-chroot) Abschnitt und den Befehlen in der chroot-Umgebung ist deutlich und sehr wichtig.

PS: Auch der Wechsel auf UUIDs für die fstab in der neuen Anleitung ist sinnvoll und zeitgemäß.

Danke fürs Lesen,

Tobias
Zuletzt geändert von GosuSan am 10.02.2021 12:37:41, insgesamt 1-mal geändert.

Benutzeravatar
smutbert
Beiträge: 7611
Registriert: 24.07.2011 13:27:39
Wohnort: Graz

Re: Rettungsinstallation auf USB-Stick

Beitrag von smutbert » 10.02.2021 11:33:32

Danke für deine Rückmeldung. Das muss ich mir noch einmal in Ruhe durchlesen, aber einen Punkt kann ich gleich beantworten:
Ind3X hat geschrieben: ↑ zum Beitrag ↑
10.02.2021 10:01:58
[...]
2. kernel-img.conf (alte Anleitung)
Die »/mnt/tmp/etc/kernel-img.conf« sorgt dafür, dass in »/boot« symbolische Links zum jeweils aktuellen und vorigen Kernel erzeugt werden, was dann bei der Installation des Bootloaders ausgenutzt wird:
Ich habe in der Dokumentation nachgelesen was die beiden Einstellungen tun. Jetzt weiß ich zwar was das ändert, aber nicht wirklich welche Auswirkungen das auf diese spezielle Installation hat, bzw. was wir dabei ausnutzen. Weil ich mir unsicher war habe ich diesen Teil einfach mal weggelassen um eventuell später festzustellen welche Auswirkungen das hat, aber bisher ist mir nichts aufgefallen.
[...]
Bei einer gewöhnlichen Installation wird die grub-Konfiguration vom System aktualisiert, das heißt jedes Mal, bei jeder Kernelinstallation oder -deinstallation und jedem Kernelupdate wird update-grub aufgerufen, das die grub.cfg neu schreibt (und damit die aktuell installierten Kernel in das Bootmenü aufnimmt) und bei uefi auch den Booteintrag von neuem ins nvram schreibt.
Das würde grundsätzlich auch auf USB-Sticks und anderen externen Datenträgern funktionieren, aber wenn man die grubs für drei Bootmechanismen (bios, uefi-amd64, uefi-ia32) installiert haben will, kann das zu Nebeneffekten führen, weil man nicht mehrere grub-Versionen parallel installiert haben kann. Obendrein ist das Schreiben von Booteinträgen ins nvram, wenn es sich um einen externen Datenträger handelt, meistens auch unerwünscht.

In der Anleitung wird grub dagegen sozusagen unabhängig von Debian installiert und die grub.conf manuell angelegt. Das heißt aber auch, dass sie nicht automatisch bei jedem Kernelupdate oä neu geschrieben wird und hier kommt die »/mnt/tmp/etc/kernel-img.conf« ins Spiel (oder auch nicht). In dieser Datei kann man festlegen ob und wo symbolische Links auf den aktuellen und vorigen Kernel samt initrd angelegt werden sollen
  1. ohne diese Konfigurationsdatei werden die Links per default in / angelegt (»/vmlinuz« und »/initrd.img«)
  2. mit der Datei und dem Inhalt aus der alten Anleitung werden die Links dagegen in /boot angelegt (»/boot/vmlinuz« und »/boot/initrd.img«)
Diese Links werden in der grub.cfg zum Laden von Kernel und initrd verwendet und der Pfad unterscheidet sich bei den beiden Varianten durch das boot/.

Die zweite Variante mit den Links in /boot habe ich früher bevorzugt, weil es dabei egal ist, wenn /boot auf einem anderen Dateisystem liegt als / (das war zu Beginn bei btrfs notwendig oder zumindest von Vorteil). Inzwischen legt aber auch bei btrfs niemand mehr eine eigene Partition für /boot an und man kann einfach die per default angelegten Links verwenden.

GosuSan
Beiträge: 40
Registriert: 27.02.2010 11:32:35

Re: Rettungsinstallation auf USB-Stick

Beitrag von GosuSan » 10.02.2021 12:36:15

smutbert hat geschrieben: ↑ zum Beitrag ↑
10.02.2021 11:33:32
[..]
Die zweite Variante mit den Links in /boot habe ich früher bevorzugt, weil es dabei egal ist, wenn /boot auf einem anderen Dateisystem liegt als / (das war zu Beginn bei btrfs notwendig oder zumindest von Vorteil). Inzwischen legt aber auch bei btrfs niemand mehr eine eigene Partition für /boot an und man kann einfach die per default angelegten Links verwenden.
Ah alles klar, das ergibt jetzt Sinn, danke für die Erklärung :)

GosuSan
Beiträge: 40
Registriert: 27.02.2010 11:32:35

Re: Rettungsinstallation auf USB-Stick

Beitrag von GosuSan » 12.02.2021 11:10:52

Ich habe noch zwei Fragen, ich hoffe ich nerve nicht ;)

1. Wieso erstellen wir ein btrfs subvolume?
btrfs liegt noch etwas außerhalb meiner Komfortzone, aber ich finde es sehr interessant und experimentiere hin und wieder damit (nur auf eher unwichtigen Installationen).
Ich habe unter https://btrfs.wiki.kernel.org/index.php ... Subvolumes nachgelesen wann üblicherweise Subvolumes zum Einsatz kommen und keiner der aufgeführten Punkte scheint hier relevant zu sein. Und wir mounten in der fstab ja auch nur das Haupt-Volume, oder?

2. Ich habe versucht, zusätzlich zu den in der Anleitung aufgeführten Partitionen, eine vierte, mit NTFS formatierte Partition einzurichten.
Aber sobald ich den Stick von meiner VM auswerfe versucht mein Hostsystem (Debian Buster) ihn zu mounten und sagt das btrfs-Dateisystem ist beschädigt. (Hab die Fehlermeldung nicht notiert, muss das die Tage nochmal versuchen) Ich kann den Stick dann auch nicht mehr verwenden (auch in der VM nicht) - er findet die »/vmlinuz« und »/initrd.img« dann nicht mehr. Bin nicht sicher ob das an der Installation in einer VM liegt, beim mounten im Hostsystem irgendwas schiefläuft oder ob es überhaupt an der vierten Partition liegt. Würde mich diesbezüglich glaube ich nochmal mit mehr Informationen melden, aber vielleicht fällt ja schon jemandem etwas dazu ein.

PS: Nicht wundern, ich habe meinen Benutzernamen ändern lassen - hab den alten Namen schon vor langem abgelegt. :o

Benutzeravatar
smutbert
Beiträge: 7611
Registriert: 24.07.2011 13:27:39
Wohnort: Graz

Re: Rettungsinstallation auf USB-Stick

Beitrag von smutbert » 12.02.2021 14:35:51

Man könnte sich das subvolume auch ersparen, aber das wäre eher unüblich und ein eigenes Subvolume schadet jedenfalls nicht.
Dafür hat es den Vorteil, dass wenn man irgendetwas vor hat, was man möglicherweise hinterher wieder rückgängig machen will, man einfach vorher einen Snapshot anlegen kann. Man kann dann entweder direkt den Snapshot statt dem ursprünglichen Subvolume dazu verwenden oder hinterher das originale Subvolume löschen und durch den Snapshot ersetzen.

Das Anlegen und das Löschen eines Snapshots geht in Sekundenschnelle – gerade auf einem tendentiell langsamen USB-Stick ist das ein großer Vorteil.

Auf die Art lassen sich auch mehrere Distributionen oder zB Debian stable und unstable auf unterschiedliche Subvolumes auf einem Stick installieren.
Da ist auch die besondere grub-Installation von Vorteil:
Für weitere Debian-Installationen (oder andere Distributionen, arch wird ja zB ohnehin meist mit einem debootstrap-ähnlichen Tool installiert), genügt es ein eigenes Subvolume zu erstellen, sie (ohne Bootloader) dorthinein zu installieren und den passenen Booteintrag zur grub.cfg hinzuzufügen. So gibt es keine konkurrierenden Bootloader, die sich bei jedem Update gegenseitig überschreiben und ersetzen.
GosuSan hat geschrieben: ↑ zum Beitrag ↑
12.02.2021 11:10:52
Und wir mounten in der fstab ja auch nur das Haupt-Volume, oder?
Es stimmt, dass in der fstab kein subvolume angegeben ist, aber gemountet wird das /-Dateisystem ja schon früher, während noch die initrd abgearbeitet wird und das bekommt die Information von den Parametern, mit denen der Kernel aufgerufen wird:

linux /debian/vmlinuz root=UUID=$debian_uuid rootflags=subvol=debian ro quiet loglevel=2

Das subvolume ist also debian (=/debian) und das wird dann beibehalten, auch wenn es in der fstab gar nicht drin steht.

Das hat wieder den Vorteil, dass man einen Snapshot direkt ohne Änderung der fstab booten kann – man muss nur in die grub.cfg einen Booteintrag mit dem richtigen Subvolume schreiben.



zu deinem 2. fällt mir nicht viel ein:
Wenn du die Partition von Anfang an angelegt hast, sehe ich keinen Grund warum etwas daran scheitern sollte. Wenn du die vierte Partition erst hinterher anlegst, musst du möglicherweise grub neu installieren (und wenn, dann in allen drei Varianten), weil grub mitunter recht empfindlich auf Änderungen der Partitionierung reagiert.

Wenn du außerdem vorher noch Platz frei machen, also etwa die btrfs-Partition verkleinern musst(est), wobei das glaube ich bei btrfs ja gar nicht funktioniert, ist es ohnehin einfacher die Daten vom Stick zu kopieren, neu zu partitionieren und formatieren und hinterher die Daten wieder zurückzukopieren – die subvolumes müssen halt auch neu angelegt werden, die UUIDs in der fstab und grub.cfg angepasst und schließlich grub neu installiert werden.
(Das war übrigens ein Grund weshalb ich in der alten Anleitung statt UUIDs die Dateisystemlabel verwendet habe. Die sind leichter zu ändern bzw. direkt dieselben wieder zu verwenden und dann muss man bei so einer Aktion die fstab und grub.cfg nicht mehr anpassen sondern nur mehr grub neu installieren.)

Wenn du die ntfs-Partition mit Windows anlegst, weiß ich auch nicht ob nicht Windows da noch irgendetwas macht – das hat ja schon früher gerne den MBR überschrieben und vielleicht macht das jetzt zusätzlich noch gerne ähnliches mit der EFI System Partition.

GosuSan
Beiträge: 40
Registriert: 27.02.2010 11:32:35

Re: Rettungsinstallation auf USB-Stick

Beitrag von GosuSan » 07.04.2021 11:54:25

Danke für deine ausführlichen Erklärungen, und entschuldige dass ich so spät antworte, war viel Los in letzter Zeit.

Ich konnte mich über Ostern endlich mal wieder damit beschäftigen.
Mein Problem mit der zusätzlichen Partition (die tatsächlich gar keine Schuld traf) konnte ich lösen.
Wenn man sich entscheidet das Subvolume anders zu nennen sollte man natürlich auch die /mnt/grub/grub.cfg entsprechend anpassen ;)

Benutzeravatar
B52
Beiträge: 307
Registriert: 07.08.2011 12:35:02
Wohnort: Bern (CH)
Kontaktdaten:

Re: Rettungsinstallation auf USB-Stick

Beitrag von B52 » 07.04.2021 17:20:07

smutbert hat geschrieben: ↑ zum Beitrag ↑
10.03.2017 16:05:49
Hab gerade die Art und Weise verewigt, auf die ich ein System für den Notfall auf USB-Stick installiere

Wiki-Artikel zum Thema Ein Notfallsystem auf einem USB-Stick installieren
Ich habe mir die Zeit genommen, das Tutorial durchzulesen. Respekt! da steckt viel Arbeit dahinter. Für einen Laien ist dies jedoch abschreckend.

Stimmt! Es wird Anfangs erwähnt, dass es sich nicht um ein simples Live-System handelt, welches ab Stick gebootet wird. Dabei wäre es so einfach: knoppix herunterladen und mit dd auf den Stick schreiben. Fertig! Jetzt geht es an die Rettung des Systems.

Für den Neueinsteiger ist dies die falsche Plattform und es sollte dringendst darauf hingewiesen werden, dass sich diese Anleitung primär an fortgeschrittene User hält. Versetzt euch ein paar Sekunden in einen Neueinsteiger, welcher einfach sein System versucht zu retten...

B52
Computer lösen uns Probleme, die wir ohne sie gar nicht hätten

Benutzeravatar
smutbert
Beiträge: 7611
Registriert: 24.07.2011 13:27:39
Wohnort: Graz

Re: Rettungsinstallation auf USB-Stick

Beitrag von smutbert » 08.04.2021 15:32:46

Du hast schon einmal zumindest insofern recht, als der Artikel nicht (nur) für Rettungssystem sondern allgemein als Installationen mittels debootstrap gedacht ist. Auf meinem stationären PC habe ich Debian ja auch (ungefähr) so installiert wie in meinem Artikel beschrieben.
Wenn dadurch nicht einige Links aus dem Forum kaputt würden, hätte ich den Artikel längst umbenannt. So warte ich zumindest bis ich den Artikel überarbeitet habe. Damit wäre das in gewisser Weise weitgehend hinfällig, hoffe ich zumindest:
B52 hat geschrieben: ↑ zum Beitrag ↑
07.04.2021 17:20:07
[...]
Für den Neueinsteiger ist dies die falsche Plattform und es sollte dringendst darauf hingewiesen werden, dass sich diese Anleitung primär an fortgeschrittene User hält. Versetzt euch ein paar Sekunden in einen Neueinsteiger, welcher einfach sein System versucht zu retten...

Antworten