ubuntuusers.de

offline Linux Remaster

Status: Ungelöst | Ubuntu-Version: Ubuntu 18.04 (Bionic Beaver)
Antworten |

harry1234

Anmeldungsdatum:
26. November 2010

Beiträge: 32

Hallo forum,

ich moechte mir ein personalisiertes Ubuntu.iso "bauen" (mit aktuellem Linux Kernel und allen verfuegbaren Updates, zusaetzliche Anwendungen) um es als Live System booten und benutzen zu koennen.

Zwar gibt es verschiedene Remaster-Scripte, aber viele funktionieren nur auf einer ganz bestimmten Distro oder sie werden nicht mehr gepflegt.

Versucht habe ich bisher (Rechner mit LIV-DVD gebooted):

# dd if=/dev/dhc of=abbild.iso Diese Methode funktioniert zwar, aber weil dd jeden Sektor der Festplatte kopiert, wird das ISO extrem gross ☹

Fragen:

- kann mit mksisofs oder genisoimage nicht nur von Ordnern ein ISO hergestellt werden, sondern auch von einer ganzen HDD (ohne den "Umweg" ueber DD)?

- besteht die Moeglichkeit einer effektiven Kompression?

- gibt es bessere Ansaetze?

Vielen Dank fuer jeden Tipp!

Harry

tomtomtom Team-Icon

Supporter
Avatar von tomtomtom

Anmeldungsdatum:
22. August 2008

Beiträge: 55210

Wohnort: Berlin

Was ist das für ein Zielsystem?

Für ein BIOS-kompatibles System hätte ich ne Anleitung, für UEFI (noch) nicht. 😛

Lidux

Anmeldungsdatum:
18. April 2007

Beiträge: 16668

Hallo harry1234,

Wozu soll dies gut sein, wenn am "nächsten Tag" das System nicht mehr aktuell ist und Sicherheitslücken hat .....?

Gruss Lidux

harry1234

(Themenstarter)

Anmeldungsdatum:
26. November 2010

Beiträge: 32

tomtomtom schrieb:

Was ist das für ein Zielsystem?

Für ein BIOS-kompatibles System hätte ich ne Anleitung, für UEFI (noch) nicht. 😛

Für ein BIOS-kompatibles System hätte ich ne Anleitung,

Danke fuer die Rueckmeldung. Daran waere ich sehr interessiert ☺

Habe gar nicht gewusst, dass es in diesem Bereich auch Unterschiede zwischen BIOS- und UEFI-Systemen gibt.

Vielen Dank!

Harry

juribel

Anmeldungsdatum:
20. April 2014

Beiträge: 1232

Da muss ich jetzt auch meinen Senf dazu geben ☺

Ich sichere mein System seit Jahr und Tag mit remastersys, auch wenn es schon lange nicht mehr gepflegt wird. Einziges Manko, aber dafür ist nicht remastersys verantwortlich sondern das verwendete Programm genisoimage. Dies erlaubt keine ISO-Dateien größer als ca. 4 GB.

Mit dem Programm ventoy bereite ich einen Stick vor. Die ISO-Dateien gelangen dann durch simples Kopieren auf den Stick, es dürfen auch mehrere sein, die ventoy beim Booten vom Stick dann zur Auswahl anbietet, um die ausgewählte ISO-Datei zu booten.

Viele Grüße, juribel

tomtomtom Team-Icon

Supporter
Avatar von tomtomtom

Anmeldungsdatum:
22. August 2008

Beiträge: 55210

Wohnort: Berlin

juribel schrieb:

Einziges Manko, aber dafür ist nicht remastersys verantwortlich sondern das verwendete Programm genisoimage. Dies erlaubt keine ISO-Dateien größer als ca. 4 GB.

Das ist vollkommener Quatsch, eine solche Begrenzung hat genisoimage nicht. Außer du wendest es auf ein FAT32-Dateisystem an, dann liegt der Grund dafür aber weiterhin nicht bei genisoimage.

harry1234 schrieb:

Habe gar nicht gewusst, dass es in diesem Bereich auch Unterschiede zwischen BIOS- und UEFI-Systemen gibt.

Naja, in der Erstellung des Systems an sich nicht, solange es nicht mit Secure Boot laufen muss. Aber beim Bootloader geht es dann schon los. 😉

Vorbereitung:

Debian (und somit auch Ubuntu) bringen bereits fertige Pakete mit, die das System "Live-tauglich" machen. Also das installierte System um diese ergänzen:

sudo apt install live-boot-initramfs-tools live-tools live-boot

anschließend das initramfs noch neubauen.

sudo update-initramfs -u

Den Paketcache leeren spart Platz beim Erstellen des Livesystems.

sudo apt-get clean

Dann ein Livesystem starten. Ist es ein Standard-Ubuntu müssen hier noch die universe-Quellen freigeschaltet werden, bei allen offiziellen Derivaten fällt der Schritt weg, die beziehen ihre Oberflächen sämtlichst aus universe und haben daher die Quelle schon freigeschaltet.

sudo bash -c 'echo -e "deb http://archive.ubuntu.com/ubuntu bionic universe\ndeb http://archive.ubuntu.com/ubuntu bionic-updates universe" >> /etc/apt/sources.list'

(das bezieht sich jetzt auf die von dir angegebene Version 18.04, ansonsten ist der Codename natürlich auszuwechseln, für 20.04 würde man also die bionic-Bestandteile durch focal ersetzen.)

und die Quellen neu einlesen

sudo apt update

danach noch isolinux, syslinux-utils und dvd+rw-tools installieren.

sudo apt install isolinux syslinux-utils dvd+rw-tools

Die Partition, die das System enthält, einhängen.

sudo mount /dev/sdxX /mnt

(sdxX ist natürlich durch die korrekte Bezeichnung zu ersetzen)

Werden mehrere Partitionen genutzt hängt man diese analog zu ihrem Einhängepunkt im installierten System unterhalb von /mnt ein, also z.B. eine eigene Bootpartition auf /dev/sda2 mittels

sudo mount /dev/sda2 /mnt/boot

Dann die fstab des installierten Systems umbenennen

sudo mv /mnt/etc/fstab /mnt/etc/fstab.backup

und eine neue für das Livesystem erstellen

sudo bash -c 'echo -e "overlayfs / overlayfs rw 0 0\ntmpfs /tmp tmpfs nosuid,nodev 0 0" > /mnt/etc/fstab'

Dann auf dem gewünschten Zielpfad Verzeichnisse für das Livesystem und den Bootloader anlegen.

sudo mkdir -p /PFAD/ZUM/ZIEL/{isolinux,live}

Und schon kann man ein SquashFS erstellen, dass das installierte System beinhaltet.

sudo mksquashfs /mnt/. /PFAD/ZUM/ZIEL/live/filesystem.squashfs -comp xz

/PFAD/ZUM/ZIEL/ muss natürlich durch den gewünschten Zielpfad ersetzt werden, der Ordner live bleibt so stehen, filesystem.squashfs ist der Name der Datei, die erstellt wird und das SquashFS beinhaltet, -comp xz ist die Komprimierung des SquashFS, in diesem Fall xz.

Die Erstellung dauert jetzt je nach Prozessor und RAM eine Weile. Nach dem Erstellen nicht vergessen, die fstab des installierten Systems wieder zurückzuspielen.

sudo mv /mnt/etc/fstab.backup /mnt/etc/fstab

Ist das erledigt kann das Verzeichnis des Bootloaders befüllt werden.

sudo cp /usr/lib/syslinux/modules/bios/*.c32 /PFAD/ZUM/ZIEL/isolinux/
sudo cp /usr/lib/ISOLINUX/isohdpfx.bin PFAD/ZUM/ZIEL/isolinux/
sudo cp /usr/lib/ISOLINUX/isolinux.bin PFAD/ZUM/ZIEL/isolinux/

Jetzt noch die Konfigurationsdatei für isolinux erstellen

bash -c 'echo -e "default menu.c32\nprompt  0\nmenu title ISOLINUX\ntimeout 100\nlabel default\nmenu label Ubuntu-Live\n \nkernel /vmlinuz\nappend initrd=/initrd boot=live" > /PFAD/ZUM/ZIEL/isolinux/isolinux.cfg'

Jetzt noch Kernel und Initramfs des installierten Systems in den Ordner live kopieren.

sudo cp /mnt/boot/KERNEL /PFAD/ZUM/ZIEL/live/vmlinuz
sudo cp /mnt/boot/INITRD /PFAD/ZUM/ZIEL/live/initrd

Hier sind KERNEL und INITRD durch den gewünschte Kernel und initrd zu ersetzen (müssen beide die selbe Version haben. Also z.b.

sudo cp /mnt/boot/vmlinuz-5.4.0-26-generic /PFAD/ZUM/ZIEL/live/vmlinuz
sudo cp /mnt/boot/initrd.img-5.4.0-26-generic /PFAD/ZUM/ZIEL/live/initrd

Daraus kann man jetzt eine ISO-Datei erstellen, die bootfähig von einer DVD(9) ist.

Dazu wechselt man mit cd zum Zielpfad

cd /PFAD/ZUM/ZIEL

und führt durch:

sudo genisoimage -o Ubuntu-Live.iso -b isolinux/isolinux.bin -c isolinux/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table -r -V "Ubuntu-Live" -cache-inodes -J -l live

Es wird eine Datei namens Ubuntu-Live.iso angelegt.

Da die ISO auch auf einem Stick bootbar sein soll setzt man isolinux da nochmal drauf an.

sudo isohybrid Ubuntu-Live.iso

Die fertige ISO kann dann z.B. mit dd (Abschnitt „Live-USB-Stick-erstellen“) oder cp (Abschnitt „Live-USB-Stick-erstellen“) auf einen USB-Stick gebracht werden.

juribel

Anmeldungsdatum:
20. April 2014

Beiträge: 1232

@tomtomtom: Soso, völliger Quatsch...

Dann schreib doch lieber bitte, was da falsch ist. Ich benutze kein FAT-Dateisystem. Mit der Option allow-limited-size wird zwar eine grosse ISO-Datei erstellt, aber sie bootet nicht.

Grüße juribel

tomtomtom Team-Icon

Supporter
Avatar von tomtomtom

Anmeldungsdatum:
22. August 2008

Beiträge: 55210

Wohnort: Berlin

juribel schrieb:

Dann schreib doch lieber bitte, was da falsch ist.

Die Behauptung der Größenbegrenzung auf 4GB.

Ich benutze kein FAT-Dateisystem. Mit der Option allow-limited-size wird zwar eine grosse ISO-Datei erstellt, aber sie bootet nicht.

Der Manpage nach soll diese Option verwendet werden, um Dateien größer als 2(!)GB mit einer falschen (kleineren) Größe im Dateisystem einzutragen. Diese Größenbegrenzung betrifft aber nur ISO9660 bis Level 2, die Größenbegrenzung für Level 3 liegt bei 8 TiB.

Übrigens: Die Debian-Installations-DVDs (mit genisoimage erstellt) sind seit mehr als einem Jahrzehnt bis zu 4,4GB groß.

fbw

Anmeldungsdatum:
31. August 2007

Beiträge: 84

Wohnort: Lauterbach

Hallo,

wenn ich das hier mal einwerfen darf: Cubic

https://launchpad.net/cubic

Das wäre doch genau das, was gesucht wird...!?

Gruß fbw

Ps. Obligatorische Warnung vor Fremdquellen!

harry1234

(Themenstarter)

Anmeldungsdatum:
26. November 2010

Beiträge: 32

fbw schrieb:

Hallo,

wenn ich das hier mal einwerfen darf: Cubic

https://launchpad.net/cubic

Das wäre doch genau das, was gesucht wird...!?

Gruß fbw

Ps. Obligatorische Warnung vor Fremdquellen!

Vielen Dank fbw fuer den guten Tipp. In der Ziwschenzeit habe ich schon einige Remasters mit Cubic gemacht:) Um Ubuntu Server zu remastern, muessten vermutlich einige Pakete nachinstalliert werden.

Harry

Antworten |