Dies ist eine alte Version des Dokuments!
Inhaltsverzeichnis
EFI / BIOS
Auf dem PC Bootreihenfolge auf DVD ändern, eines von zwei Einträgen.
boot_hybrid.img
OpenSuse 15.2 bootet derzeit nicht. Hier muss ein anderer Weg gefunden werden, da es eine neue Datei verwendet die vorher noch nicht implementiert war. In der neuen Version wird ein boot/x86_64/loader/boot_hybrid.img verwendet.
ISO Mounten und bearbeiten
Die Suse KDE Live ISO wird als Verzeichnis eingehängt:
mkdir -p /mnt/linux mount -o loop openSUSE-Leap-15.1-KDE-Live-x86_64.iso /mnt/linux
Die eingehängte ISO ist nur Read-only, daher den Inhalt zum neuen Arbeitsverzeichnis kopieren von wo aus es bearbeitet werden kann.
cd /mnt/ tar -cvf - linux | (cd /var/tmp/ && tar -xf - )
Danach lässt sich auf dem Inhalt der ISO Datei zugreifen. Das eigentliche Live System wird beim booten in einer RAM Disk geladen. Den Inhalt des Live Systems findet man als squashfs Image wieder:
ws19233:/var/tmp/linux # l total 0 drwx------ 1 root root 26 Sep 30 17:51 ./ drwxrwxrwt 1 root root 13058 Dec 17 12:56 ../ drwxr-xr-x 1 root root 8 Sep 30 17:51 EFI/ drwxr-xr-x 1 root root 24 Sep 30 17:51 LiveOS/ drwxr-xr-x 1 root root 52 Sep 30 17:51 boot/ ws19233:/var/tmp/linux # l LiveOS/ total 818624 drwxr-xr-x 1 root root 24 Sep 30 17:51 ./ drwx------ 1 root root 26 Sep 30 17:51 ../ -rw------- 1 root root 838270976 Sep 30 17:51 squashfs.img ws19233:/var/tmp/linux #
Squashfs Image entpacken
Das Squashfs Image lässt sich nicht direkt verwenden. Für Änderungen muss es
erst mit unsquashfs
entpackt werden, dann werden die Änderungen am Image vorgenommen und
anschließend wird es wieder mit mksquashfs
verpackt.
Ein temporäres Verzeichnis erstellen und es betreten:
mkdir /root/squashfs-temp cd /root/squashfs-temp
Um das enthaltene squashfs.img zu entpacken wird der Kommando unsquashfs
verwendet:
unsquashfs /var/tmp/linux/LiveOS/squashfs.img
l /root/squashfs-temp/squashfs-root/LiveOS/
total 4643840 drwxr-xr-x 1 root root 20 Sep 30 17:32 ./ drwx------ 1 root root 12 Sep 30 17:32 ../ -rw------- 1 root root 4755292160 Sep 30 17:36 rootfs.img
Image einhängen
Das entpackte Image einhängen.
mount rootfs.img /media/sicherung/SicherArbeit/Images_ISOs/secureDVD/imgmount/
(alt)
sudo mount squashfs-temp/squashfs-root/LiveOS/rootfs.img imgmount/
alte Struktur:
mkdir /root/rootfsimg/ mount /root/squashfs-temp/squashfs-root/LiveOS/rootfs.img /root/rootfsimg/
zusätzliche Verzeichnisse einhängen:
sudo mount --bind /sys/ /media/sicherung/SicherArbeit/Images_ISOs/secureDVD/imgmount/sys/ sudo mount --bind /proc/ /media/sicherung/SicherArbeit/Images_ISOs/secureDVD/imgmount/proc/ sudo mount --bind /run/ /media/sicherung/SicherArbeit/Images_ISOs/secureDVD/imgmount/run/
CHROOT
Mit chroot
das Live System betreten
neu
sudo chroot /media/sicherung/SicherArbeit/Images_ISOs/secureDVD/imgmount/
alt
chroot /root/rootfsimg
Nun arbeitet man direkt auf dem Dateisystem des Live-Systems!
Das Passwort nach Wunsch ändern:
passwd linux
Auch root PW setzen!!
passwd
Namensauflösung funktioniert zunächst nicht, weder nur IP-Adr. angeben oder /etc/resolv.conf
erstellen:
search fritz.box nameserver 172.19.50.80 nameserver 172.19.50.81
Alte Repos entfernen
Mit dem zypper Kommando die Software-Quellen überarbeiten und nicht benötigte Software entfernen.
zypper rr 1 2 3 4 5 6 7 8 9 10
Optional können die openSuse Repos vom lokalen smt1 eingebunden werden um besser mit zypper
arbeiten zu können:
zypper ar -e http://smt1.fritz.box/SUSE/distribution/leap/15.2/repo/non-oss/ non-oss zypper ar -e http://smt1.fritz.box/SUSE/update/leap/15.2/non-oss/ update_non-oss zypper ar -e http://smt1.fritz.box/SUSE/distribution/leap/15.2/repo/oss/ oss zypper ar -e http://smt1.fritz.box/SUSE/update/leap/15.2/oss/ update_oss
zypper cc -a zypper ref
Direkt mit zypper
nicht benötigte Software Pakete entfernen:
zypper --non-interactive rm patterns-games-games zypper --non-interactive rm libvlccore9 libvlc5 zypper --non-interactive rm patterns-office-office zypper --non-interactive rm patterns-kde-kde_office zypper --non-interactive rm MozillaFirefox zypper --non-interactive rm MozillaFirefox-branding-openSUSE zypper --non-interactive rm pulseaudio zypper --non-interactive rm alsa zypper --non-interactive rm alsa-oss alsa-plugins zypper --non-interactive rm mpg123-pulse zypper --non-interactive rm libmusicbrainz5-1 zypper --non-interactive rm libwebrtc_audio_processing1 zypper --non-interactive rm kde-print-manager yast2-printer zypper --non-interactive rm samba-libs libsamba-errors0 zypper --non-interactive rm bluez* zypper --non-interactive rm liblirc_client0 zypper --non-interactive rm phonon4qt5-backend-gstreamer zypper --non-interactive rm libmediacheck5 zypper --non-interactive rm kdeconnect-kde zypper --non-interactive rm NetworkManager-openconnect zypper --non-interactive rm openconnect zypper --non-interactive rm NetworkManager-openvpn zypper --non-interactive rm NetworkManager-pptp zypper --non-interactive rm libwicked-0-6 zypper --non-interactive rm wicked-service
Das entfernen vom wicked-service müsste noch geprüft werden, da zu viel entfernt wird. Ansonsten mit folgenden Kommando gelöschte Pakete nachinstallieren:
zypper --non-interactive in plasma5-session-wayland
Alternativ unnötige Software entfernen mit dem rpm
Kommando:
rpm -qa "*game*" patterns-games-games-20170319-lp151.2.1.x86_64
S | Name | Summary | Type --+----------------------+---------+-------- i | games | Games | pattern i | patterns-games-games | Games | package
Netzwerk deaktivieren
Beim 15.2 image folgende Zeile nicht angewendet:
In der Datei /etc/sysconfig/network/config
muss alles deaktiviert werden was mit Netzwerk zusammenhängt.
- Kernel Modul blacklisten
In der Datei /etc/modprobe.d/50-blacklist.conf
die Netzwerkkarten Module deaktivieren.
blacklist e1000e ...
l /etc/systemd/system/ total 56 drwxr-xr-x 14 root root 4096 Feb 14 14:36 ./ drwxr-xr-x 5 root root 4096 Sep 30 15:22 ../ drwxr-xr-x 2 root root 4096 Sep 30 15:23 basic.target.wants/ lrwxrwxrwx 1 root root 36 Sep 30 15:23 bootmsg.service -> /usr/lib/systemd/system/klog.service lrwxrwxrwx 1 root root 41 Sep 30 15:26 dbus-org.fedoraproject.FirewallD1.service -> /usr/lib/systemd/system/firewalld.service lrwxrwxrwx 1 root root 44 Sep 30 15:23 dbus-org.freedesktop.Avahi.service -> /usr/lib/systemd/system/avahi-daemon.service lrwxrwxrwx 1 root root 44 Sep 30 15:23 dbus-org.freedesktop.ModemManager1.service -> /usr/lib/systemd/system/ModemManager.service lrwxrwxrwx 1 root root 57 Sep 30 15:25 dbus-org.freedesktop.nm-dispatcher.service -> /usr/lib/systemd/system/NetworkManager-dispatcher.service lrwxrwxrwx 1 root root 40 Sep 30 15:26 default.target -> /usr/lib/systemd/system/runlevel5.target drwxr-xr-x 2 root root 4096 Sep 30 15:26 default.target.wants/ drwxr-xr-x 2 root root 4096 Sep 30 15:22 getty.target.wants/ drwxr-xr-x 2 root root 4096 Sep 30 15:22 graphical.target.wants/ drwxr-xr-x 2 root root 4096 Sep 30 15:26 mdmonitor.service.wants/ drwxr-xr-x 2 root root 4096 Sep 30 15:26 multi-user.target.wants/ drwxr-xr-x 2 root root 4096 Sep 30 15:26 network-online.target.wants/ lrwxrwxrwx 1 root root 46 Sep 30 15:26 network.service -> /usr/lib/systemd/system/NetworkManager.service drwxr-xr-x 2 root root 4096 Sep 30 15:23 remote-fs.target.wants/ drwxr-xr-x 2 root root 4096 Sep 30 15:23 sockets.target.wants/ drwxr-xr-x 2 root root 4096 Sep 30 15:22 spice-vdagentd.target.wants/ drwxr-xr-x 2 root root 4096 Sep 30 15:23 sysinit.target.wants/ lrwxrwxrwx 1 root root 39 Sep 30 15:23 syslog.service -> /usr/lib/systemd/system/rsyslog.service drwxr-xr-x 2 root root 4096 Sep 30 15:26 timers.target.wants/ lrwxrwxrwx 1 root root 47 Sep 30 15:22 xdm.service -> /usr/lib/systemd/system/display-manager.service rm /etc/systemd/system/network.service rm /etc/systemd/system/dbus-org.freedesktop.nm-dispatcher.service rm /etc/systemd/system/dbus-org.freedesktop.ModemManager1.service
Bearbeiten des Boot Menüs vom Grub
gfxboot --add-languages de_DE --default-language de_DE gfxboot --change-config keymap=de_DE
Aufräumen und verlassen
zypper cc -a rm ~/.bash_history rm /var/log/tallylog rm /var/log/lastlog rm /var/log/zypp/history rm /var/log/zypper.log rm -r /var/log/cups/ rm -r /var/log/krb5/ history -c
Das Live System(chroot Umgebung) verlassen mit Strg + D
Das System aushängen:
umount /root/rootfsimg
bzw. nach neuen Schema:
sudo umount /media/sicherung/SicherArbeit/Images_ISOs/secureDVD/imgmount/proc/ sudo umount /media/sicherung/SicherArbeit/Images_ISOs/secureDVD/imgmount/run/ sudo umount /media/sicherung/SicherArbeit/Images_ISOs/secureDVD/imgmount/sys sudo umount /media/sicherung/SicherArbeit/Images_ISOs/secureDVD/imgmount
squashfs wieder neu erstellen
Nach Änderungen squashfs wieder neu verpacken mit dem mksquashfs
Kommando:
Der Kommando mksquashfs
wird ab der Wurzel des entpackten squashfs aufgerufen
cd /root/squashfs-temp/
Den folgenden Kommando für suse152 genutzt:
mksquashfs squashfs-root/ livefs.squashfs -noappend -always-use-fragments -b 1048576 -comp xz -Xbcj x86
ws19233:~/suse152_squashfs-temp # l /var/tmp/suse152/LiveOS/ total 910720 drwxr-xr-x 1 root root 24 Nov 3 08:56 ./ drwxr-xr-x 1 root root 26 Nov 2 07:22 ../ -rw-r--r-- 1 root root 932577280 Nov 2 16:33 squashfs.img
Das Image ist aktuell 933MB groß
mksquashfs squashfs-root/ livefs.squashfs -noappend -always-use-fragments
mv /root/squashfs-temp/livefs.squashfs /var/tmp/linux/LiveOS/squashfs.img
neues Schema:
Datei squashfs.img ist nach den Bearbeitungs-Schritten auf über 1,2GB angewachsen von 838 MB
cd /media/sicherung/SicherArbeit/Images_ISOs/secureDVD/squashfs-temp mksquashfs squashfs-root/ livefs.squashfs -noappend -always-use-fragments mv /media/sicherung/SicherArbeit/Images_ISOs/secureDVD/squashfs-temp/livefs.squashfs /var/tmp/linux/LiveOS/squashfs.img
Die neue ISO erstellen
cd /var/tmp/linux/
nach Nutzung von sudo als haferron nicht nötig:
chown haferron . chmod 777 .
ws19233:/var/tmp/linux # l total 0 drwx------ 1 root root 26 Dec 17 13:39 ./ drwxrwxrwt 1 root root 13080 Dec 17 13:56 ../ drwxr-xr-x 1 root root 8 Sep 30 17:51 EFI/ drwxr-xr-x 1 root root 24 Dec 17 13:39 LiveOS/ drwxr-xr-x 1 root root 52 Sep 30 17:51 boot/
Optimierungen
Man könnte noch LänderSprachen entfernen die nicht benötigt werden:
Den Pfad /var/tmp/suse152/boot/x86_64/loader/
kontrollieren
Im nächsten Schritt sollten die alten zuvor erstellten iso Dateien entfernt werden, sonst wundert man sich warum die neue Iso-Datei zu groß ist
Der Relative Pfad zur isolinux.bin der ISO-Datei muss angegeben werden:
mkisofs -o suse15_secure.iso -b boot/x86_64/loader/isolinux.bin -no-emul-boot -boot-load-size 4 -boot-info-table -J -R -V "openSUSE_Leap_15.1_KDE_Live" . mkisofs -o /tmp/minicd.iso -b boot/x86_64/loader/isolinux.bin -no-emul-boot -boot-load-size 4 -boot-info-table /tmp/minicd
GFXboot.cfg
In der Datei /var/tmp/linux/boot/x86_64/loader/gfxboot.cfg
das Tastatur Layout auf deutsch ändern.
; default keymap (e.g. de-latin1-nodeadkeys or cz-lat2-us) keymap=de_DE