Womit erstelle ich aus der angepassten Distro eine Custom Live ISO

Started by stefsion, 2025/08/13, 05:01:54

Previous topic - Next topic

stefsion

Nachdem ich meine Siduction Installation nach meinen Vorstellungen angepasst habe, würde ich gerne daraus eine Live ISO erstellen. Damit könnte ich dann noch einem anderem alten Rechner aufsetzen, den ich nicht mehr großartig anpassen müsste. Zudem würde ich gerne damit ein Windows Laptop booten und mit der Live ISO einzelne Partitionen des Laptops sichern.

Im Internet habe ich bereits etwas recherchiert und Distroshare-Ubuntu-Imager als eine Lösung zum erstellen von Live Images gefunden und Systembackup. Ich bin mir aber nicht sicher ob sie auch für die Siduction Distro geeignet sind.

Bevor ich mich also intensiver mit dem Thema beschäftige, würde ich gerne Eure Meinung wissen ob diese beiden Lösungen geeignet wären, oder ob es noch eine bessere Lösung für Siduction Distros gibt?

Danke im voraus schon einmal für Euer Interesse an meinen Fragen :-)

ro_sid

Da sich niemand sonst äußern mag, hier "meine" Variante:
Ich baue kein Live-Image aus einer installierten Variante, sondern baue es so, wie die Siduction-"Maintainer" selbst - halt mit meinen Änderungen. Das ist nicht wirklich schwierig.
Man verwende dazu das Siduction Git Repository https://github.com/siduction/ und dort speziell den Zweig "pyfll" und darin wiederum "pyfll" Im README ist sehr gut erklärt, wie man "(s)ein" ISO bauen kann. Jetzt muß man nur seine "Sonderwünsche" einbauen.

T-ampfer

Persönlich nutze ich Debian live helper. Ich baue mindestens alle drei Wochen ca 15 angepasste DVDs.

stefsion

Vielen Danke euch beiden. Ich werde mir beides ansehen und ausprobieren. Ich werde dann bei Zeiten berichten, wie ich mit  euren Vorschlägen zurecht gekommen bin. Im Internet hatte ich auch noch ein Tool Namens Systembak gefunden. Das wollte ich auch einmal ausprobieren. Ich bin schon gespannt wie weit ich komme :-)

stefsion

Ich habe mir Eure Vorschläge einmal angesehen.

@ro_sid ehrlich gesagt steige ich nicht ganz durch, wie ich bei pyfll vorgehen muss. Es liest sich so, als handelt es sich um ein Scriptfile. Damit kenne ich mich nicht aus. Bei Repositories handelt es sich doch um eine Zusammenstellung von verschiedenen Programmen aus denen man sich einige aussucht, oder? Aber wie binde ich das Reprository in das System ein? Das wäre dann auch meine Frage. Muss ich einfach nur eine Datei von der Github Seite herunter laden, die ich dann unter meinem Distrosystem ausführe, oder muss ich ein Paket runterladen wie ein DEB Paket das installiert werden muss?

@T-ampfer  Es sieht so aus, das man sich mit dem Debian live helper eine komplett neue Distro zusammenstellt. Da verstehe ich nicht wo da der Bezug zu Siduction ist? Ist das dann eine ganz eigene Distrobution auf Debian Basis.? Dann wüsste ich natürlich nicht was es alles an grundsätzlicher Tools bedart, damit eine grafische Oberfläche erscheint und ein Dateimanager mit dem man Partitionen mounten oder unmounten kann. Außerdem wüsste ich auch nicht, welche Abhängigkeiten für ein Image Tool wie qt-fsarchiver alle vorher mit aufgenommen werden müssen, damit das Tool dann nachher auch funktioniert.

Bei dem Tool Systemback hatte ich leider keinen Erfolg und bei dem Versuch, die vorher angelegte Partitions Sicherung mit foxclone  wieder zurück zu sichern, hat leider nicht richtig funktioniert.

Das zurücksichern an sich hat schon geklappt, aber grub hat dann beim erneuten booten einen Fehler gemeldet das es kein System gefunden hat. Ich habe dann letztendlich Siduction noch einmal neu installiert, damit der Fehler behoben wurde.

Mir ist natürlich mittlerweile klar, das es auch Befehle gibt die Grub Loader upzudaten und zu reparieren, Wo aber bei meinem 15 Jahre alten Laptop mit 4 verschiedenen Systemen befindet sich eigentliche der Grub Loader?

Ich habe wie geschrieben einen alten Laptop zum ausprobieren von Linux genommen, der noch mit einem MBR Bios arbeitet und die Möglichkeit das  modernere GBT zu nutzen, indem man auf einer 8 MB großen Partition am Anfang der Festplatte eine Tabelle für das alte MBR Bios erstellt, habe ich bis jetzt noch nicht genutzt, da ich ja sonst mein System auf der ersten Partition verlieren würde.

Also frage ich mich jetzt für neuere Sicherungen, wie ich solche Fehler beim erneuten Sichern vermeiden kann und ohne Gefahr eine vermurkste Installation einfach auf den vorherigen Zustand zurücksichern kann. Also welchen Grub Loader müsste ich sichern und wie? Den in dem MBR Reckord am Anfang der Festplatte, oder einen Grub Loader auf einen der bootbaren Partitionen mit den unterschiedlichen Distros?

Es wäre nicht schlecht wenn es eine Lösung gäbe, mit der ich eine Rescue ISO starten könnte wenn der Laptop keine System mehr starten kann, und die vorher erstellte Sicherung zurück schreibt und der Grub Loader auch wieder wie vor der Sicherung fuktionieren würde.

Ich hoffe das geht jetzt nicht zu weit und ich müsste dafür ein neues Thema erstellen.

LG und vielen Dank für Euer Interesse an meinen Problemen

ro_sid

Quote@ro_sid ehrlich gesagt steige ich nicht ganz durch, wie ich bei pyfll vorgehen muss. Es liest sich so, als handelt es sich um ein Scriptfile. Damit kenne ich mich nicht aus. Bei Repositories handelt es sich doch um eine Zusammenstellung von verschiedenen Programmen aus denen man sich einige aussucht, oder? Aber wie binde ich das Reprository in das System ein? Das wäre dann auch meine Frage. Muss ich einfach nur eine Datei von der Github Seite herunter laden, die ich dann unter meinem Distrosystem ausführe, oder muss ich ein Paket runterladen wie ein DEB Paket das installiert werden muss?
Bei pyfll (in pyfll/) handelt es sich tatsächlich um ein einzelnes Skript, welches die komplette Arbeit übernimmt, jedoch "seine Arbeitsumgebung" dafür braucht, die man anpassen kann. Dort werden unter anderem auch die Repositorys und die Pakete aufgeführt, die man jedoch seinem Bedarf anpassen kann.
Zum Ausführen sollte/muß man das gesamt Verzeichnis "pyfll" lokal zur Verfügung haben. Das kann man gut mit dem Kommandozeilenprogramm "git" machen. Falls man das nicht kann oder will, gibt es im Web-Browser "in pyfll" aber auch rechts oben den "Knopf" "<> Code". Wenn man da drauf klickt, ist eine Wahl "Download [als] ZIP". Diese Datei herunterladen, auspacken und so verfahren, wie es im Web-Browser angezeigt wird, wenn man auf das Verzeichnis (links) "pyfll" klickt und dann nach unten scrollt.
[Das ist die README.md-Datei dort. Eine Markdown-Datei die auch in dem ZIP-Baum enthalten ist.]
Zunächst zur Übung einfach mal eine ISO Datei erstellen, so wie im README.md beschrieben. Dann erkunden, wie man die Auswahl anpassen kann.
Leider funktioniert das augenblicklich nicht, was aber daran liegt, daß so kurz nach dem "stable" werden von Trixie, der "unstable" Zweig noch nicht wieder vernünftig "funktioniert" - die Abhängigkeiten sind nicht erfüllt/ausbalanciert! Das sollte sich jedoch schnell wieder ändern.
QuoteIch habe wie geschrieben einen alten Laptop zum ausprobieren von Linux genommen, der noch mit einem MBR Bios arbeitet und die Möglichkeit das  modernere GBT zu nutzen, indem man auf einer 8 MB großen Partition am Anfang der Festplatte eine Tabelle für das alte MBR Bios erstellt, habe ich bis jetzt noch nicht genutzt, da ich ja sonst mein System auf der ersten Partition verlieren würde.
Grub arbeitet sowohl mit dem MBR-, als auch dem GPT-Format. [Für UEFI und BIOS sind das allerdings zwei verschiedene "Pakete".] Wichtig ist, daß die Konfigurationsdatei (grub.cfg) gefunden wird.
QuoteEs wäre nicht schlecht wenn es eine Lösung gäbe, mit der ich eine Rescue ISO starten könnte wenn der Laptop keine System mehr starten kann, und die vorher erstellte Sicherung zurück schreibt und der Grub Loader auch wieder wie vor der Sicherung fuktionieren würde.
Für solche Zwecke eignet sich etwa das Programm REAR (relax and recover), das (auch) als Debian-Paket (.deb) im Repository verfügbar ist und "beliebige" (Linux-)Rechner durch Sichern auf ein (externes) Speichermedium wieder lauffähig machen kann. Es sichert allerdings nicht den kompletten Rechner, sondern nur "was es braucht" - das kann auch der ganze Rechner sein ;).

Edit: Klarstellung, daß die verschiedenen GRUB-Pakete von UEFI und BIOS abhängen, nicht direkt von MBR oder GPT.

stefsion

Super ausführliche Antwort ro_sin. Recht herzlichen Dank.
Ich habe nicht alles verstanden, aber ich werde mich versuchen reinzufuchsen und sicherlich vieles im nachhinein verstehen.

Auf jeden Fall wieder viel Input an dem ich mir Zähne ausbeißen kann :-).

Die Grub.cfg finde ich ja eigentlich bei jeder der 4 Partitionen mit einer eigenen Distro. Dort im /boot/grub Verzeichnis. In dem MBR kann ich natürlich  nicht nachschauen. Entscheidet man das dann selbst von welcher grub.cfg der Computer nachschauen soll wenn er startet?


ro_sid

QuoteDie Grub.cfg finde ich ja eigentlich bei jeder der 4 Partitionen mit einer eigenen Distro. Dort im /boot/grub Verzeichnis. In dem MBR kann ich natürlich  nicht nachschauen. Entscheidet man das dann selbst von welcher grub.cfg der Computer nachschauen soll wenn er startet?
Jein :), gerade beim BIOS/MBR-Grub liegt die Information (leider) binär hinter dem MBR-Bereich. Im UEFI-Fall ist das leichter in der zugehörigen FAT-Partition zu finden.
Allerdings ist GRUB ein Superprogramm - falls man bereit ist sich mit dem eingebauten Kommandozeilenprogramm auseinanderzusetzen. Es lohnt sich.
So kann man, egal von wo man GRUB gestartet hat, mit Drücken auf "c" sobald das Boot-Menü erscheint in diesen Modus kommen. Mit "ls" kann man sehen, welche Datenspeicher wie angesteuert werden und so mittels "configfile"-Kommando tatsächlich das Boot-Menü einer beliebigen .cfg-Datei auslösen.

ro_sid

Erstellen einer Siduction-Live-ISO:
QuoteLeider funktioniert das augenblicklich nicht, was aber daran liegt, daß so kurz nach dem "stable" werden von Trixie, der "unstable" Zweig noch nicht wieder vernünftig "funktioniert" - die Abhängigkeiten sind nicht erfüllt/ausbalanciert! Das sollte sich jedoch schnell wieder ändern.
Es geht nun wieder :)!

stefsion

Wunderbar. Danke für die Info.
Ich bin dieses Wochenende unterwegs und werden leider nicht dazu kommen es auszuprobieren, aber nächste Woche werde ich es auf jeden Fall versuchen.

In der Zwischenzeit habe ich versucht mit dem Tool penguin-eggs aus dem bestehendem System eine Iso zu erstellen. Das wollte erst nicht, da es die Distro nicht kannte, aber mit Hilfe des Entwicklers habe ich es in einer Configurationsdatei eintragen können. Der Prozess des Erstellens hat zwar geklappt, aber ich habe zur Zeit nur einer 34 kbit große Iso mit zusätzlichen 3 Verzeichnissen.

Ich habe den Entwickler noch einmal kontaktiert und um Hilfe gebeten. Mal schauen ob ich daraus eine startbare Iso hinbekomme. Ich werde dann berichten wie es weiter ging.

stefsion

@ro_sid  Da es mit einem Update von eggs penguin auch nicht geklappt hat, eine iso Datei zu erstellen, habe ich versucht pyfll ein neue ISO zu erstellen.
Leider habe ich auch hier Probleme und mache wieder irgendetwas flasch.

Ich habe das ganze Paket runter geladen und entpackt und nach Anleitung die fll.conf in das höhere Verzeichnis kopiert und editiert. Da ich erst einmal grundsätzlich Testen wollte habe ich nur die Sprache auf nur Deutsch geändert und alles andere belassen. Bei dem Versuch das Script mit dem angebenen Befehl auszuführen habe ich allerdings gleich eine Fehlermeldung bekommen mit der ich nichts anfangen kann:
siduman@siduman-t4310:/media/siduman/Austausch/Downloads/Pyfll/pyfll-master/pyfll$ sudo ./fll -c ../fll.conf -b /tmp/fll/ o- /tmp/fll/
[sudo] Passwort für siduman:
Requires root!
Traceback (most recent call last):
  File "/media/siduman/Austausch/Downloads/Pyfll/pyfll-master/pyfll/pyfll", line 8, in <module>
    from configobj import ConfigObj
ModuleNotFoundError: No module named 'configobj'



In der fll.conf finde ich in Zeile 8 kein configobj und auch an keiner anderen Stelle in der Datei. Auch der Versuch das ganze als Root auszuführen brachte das gleiche Ergebnis.

towo

Ich gehe nicht zum Karneval, ich verleihe nur manchmal mein Gesicht.

stefsion

Danke für die Info @towo. Das hat schon mal geklappt. Die Fehlermeldung mit fehlendem configobj kommt nicht mehr. Leider kommen jetzt aber noch andere Fehlermeldungen die wohl auf fehlende Konfigurationen hinweisen. Gibt es eigentlich eine einfache Anleitung wie genau die fll.config aufgebaut sein muss?

Mit der der Anleitung aus der readme.md Datei bin ich leider überfordert,

Hier die neue Ausgabe nach der Installation von phyton3-configobj:
2025-09-04 00:50:16,218 INFO  - reading configuration file...
Traceback (most recent call last):
  File "/media/siduman/Austausch/Downloads/Pyfll/pyfll-master/pyfll/pyfll", line 2561, in <module>
    fll.main()
  File "/media/siduman/Austausch/Downloads/Pyfll/pyfll-master/pyfll/pyfll", line 2449, in main
    self.parseConf()
  File "/media/siduman/Austausch/Downloads/Pyfll/pyfll-master/pyfll/pyfll", line 576, in parseConf
    self.conf = ConfigObj(self.opts.c)
                ^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/configobj/__init__.py", line 1224, in __init__
    self._load(infile, configspec)
  File "/usr/lib/python3/dist-packages/configobj/__init__.py", line 1313, in _load
    raise error
configobj.ParseError: Invalid line ('\tde_DE') (matched as neither section nor keyword) at line 32.
siduman@siduman-t4310:/media/siduman/Austausch/Downloads/Pyfll/pyfll-master/pyfll$



Danke noch einmal an alle für die Unterstützung bis hier hin

ro_sid

Sind denn jetzt alle Pakete die im README als "Dependencies" stehen installiert (apt install ...)?
Denn python3-configobj gehört ja auch dazu und war es offensichtlich nicht:

Zur Erinnerung:

Dependencies:
-------------
  python3
  python3-apt
  python3-configobj
  cdebootstrap | debootstrap
  xorriso
  squashfs-tools
  reprepro (for liveapt functionality and extras (uefi))
Recommends:
  gdisk (for gpthybrid used with grub, not needed if using isolinux)
Suggests:
  isolinux (and the following syslinux* if you want to use isolinux)
  syslinux
  syslinux-utils

stefsion

@ro_sid Das müsste ich dann noch einmal kontrollieren. Ich hatte mich an deinen Vorschlag gehalten und unter den Code Knopf das Pyfll Zip Packet runtergeladen und entpackt und dachte, damit alle nötigen Pakete zu haben. Da habe ich dann wohl etwas falschen verstanden. 

Da muss ich dann wohl noch etwas nachsitzten :-)).  Entschuldigung