Plop Linux - Build ToolsInhaltsverzeichnis
EinleitungSie können das gesamte Plop Linux mit den Build Tools von Grund auf selbst kompilieren und mit den Release Tools eigene Versionen erstellen. Download
Aktuelle Version: 24.2, 15/Feb/2024
Sources und Compile SkriptsLaden Sie ploplinux-src-24.2.tar.gz (5.07 GB) herunter um die Sources und Compile Skripts zu erhalten. ploplinux-nosrc-24.2.tar.gz (65.16 MB) enthällt nur die Build Skripts. Die Source Code Dateien können mittel Download Skript heruntergeladen werden. Sie können die Dateien auch einzeln hier herunterladen.
Inhalt: 05-configs/ <- Minimales /etc Verzeichnis und Compile Skripts 10-kernel/ <- Linux Kernel Source Code + Firmware Archive 15-build-tools/ <- Ein paar Skripts zur Unterstützung 20-core/ <- Kern Programme 30-console/ <- Konsole Programme (Tools, Netzwerk) 40-X/ <- Xorg, Xfce, Fluxbox, GUI Programme 50-server/ <- Server Programme (Webserver, MySQL, PHP, Mail) 99-cleanup/ <- Skripts für abschliesende arbeiten 99-optional/ <- Optionale Pakete Compile SkriptsSkripts mit dem Namen 000_all werden verwendet um alle Skripts mit dem Flag b zu starten. Skripts mit dem Namen 001_continue werden verwendet um bei dem Skript fortzufahren, wo das automatische kompilieren mit 000_all unterbrochen wurde. Der Skriptname wird von der Datei x_current ausgelesen. Die Benennung der Skript Namen ist [Number]_[Flag]_[Name] Number: Für die Reihenfolge der Skriptausführung. Flag: Das Flag kann b oder X sein. b bedeutet das dieses Skript von 000_all bzw. 001_continue gestartet werden soll. X bedeutet das dieses Skript von 000_all bzw. 001_continue ignoriert wird. Name: Der Name des Software Paketes. Sie können die Skripts einzeln starten. sh 050_b_zlib Oder Sie verwenden 000_all um alle Skripts mit dem b Flag zu starten. Dieses Skript erstellt ein Log Verzeichnis
009-logs/ worin der Kompiliervorgang je Skript protokolliert wird. Dieses Skript stoppt nicht beim Fehler eines Build Skripts!
sh 000_all Die Source Codes befinden sich im 000_src/ Verzeichnis. Zusätzliche Dateien wie z.B. Patches befinden sich im 000_src-add/ Verzeichnis. Gewöhnlicherweise sieht ein Compile Skript folgendermaßen aus tar xfz 000_src/bison-3.0.2.tar.gz cd bison-3.0.2 myconfigure Es kann aber auch komplexer sein #!/bin/sh tar xfz 000_src/e2fsprogs-1.42.12.tar.gz cd e2fsprogs-1.42.12 if [ "$(uname -m)" = "x86_64" ] then myconfigure --with-root-prefix="" \ --enable-elf-shlibs \ --disable-libblkid \ --disable-libuuid \ --disable-uuidd \ --disable-fsck \ --libdir=/lib64 else myconfigure --with-root-prefix="" \ --enable-elf-shlibs \ --disable-libblkid \ --disable-libuuid \ --disable-uuidd \ --disable-fsck fi make install make install-libs cd lib/et make install if [ "$(uname -m)" = "x86_64" ] then mv -v /lib64/pkgconfig/* /usr/lib64/pkgconfig rmdir /lib64/pkgconfig ln -sfv ../../lib64/libext2fs.so /usr/lib64 ln -sfv ../../lib64/libe2p.so /usr/lib64 fi Programm aktualisierenLaden Sie die neue Version des Programms herunter und speichern es im 000_src/ Verzeichnis. Passen Sie das Compile Skript an den neuen Dateinamen des Programms an. Starten Sie das Compile Skript. Skript 002_downloadDas 002_download Skript lädt die Source Code Dateien aus dem Internet herunter. Das Skript liest die Datei URL's aus der 000_src-add/download.list Datei. Build Live ReleaseDie einzelnen Skripts sind kurz und selbsterklärend. Die wichtigsten Funktionen und Abläufe werden hier erklärt. Sie können die standard Version oder eine Version mit zusätzlichen Programmen erstellen. 1. Plop Linux Release ToolsLaden Sie die Datei ploplinux-release-24.2.tar.gz herunter. Inhalt: desktop/arm-boot/ desktop/hd-images/ desktop/release/ live/create-core-sqfs/ <- Create the core files bin.sqfs, sbin.sqfs, lib|64.sqfs, usr.sqfs live/create-opt-sqfs/ <- Create the opt.sqfs file live/initramfs/ <- Create the initramfs.gz file live/release/ <- Create the compressed files for the Live Version 2. Erstellen vom initramfsEs sind die Konfigurationen für ein i486 und ein x86_64 initramfs vorhanden. Im initramfs werden Busybox und ein paar Boot Skripts verwendet. Der Busybox Source Code und die Konfigurationsdateien befinden sich im busybox/ Verzeichnis. Um das initramfs.gz zu erstellen gibt es die 2 Skripts 1makeimage-i486 und 1makeimage-x86_64. Das initramfs.gz enthällt ein reduziertes etc/ Verzeichnis mit den notwendigsten Konfigurationsdateien um Plop Linux zu booten. 3. etc.tgzDie etc.tgz Datei wird beim Booten zu /etc entpackt. Sie können dem etc.tgz eigene Konfigurationsdateien hinzufügen und bestehende ändern. 4. Basis SQFS DateienSie können eine Live Version von Ihrem persönlichen Plop Linux mit all den von Ihnen installierten Programmen erstellen. Weiters ist es möglich, eine Live Version mit von Ihnen ausgewählten Programmen zu erstellen, um eine kleinere Größe des Live Plop Linux zu erhalten. Die Basis SQFS Squashfs Dateien sind bin.sqfs, sbin.sqfs, lib.sqfs, lib64.sqfs, usr.sqfs. 4.1. Standard VersionIm Verzeichnis create-core-sqfs/01-standard/ gibt es 2 Skripts. 10_copy-files-all wird verwendet um die Verzeichnisse /bin, /sbin, /lib, /lib64, /usr in das files/ Verzeichnis zu kopieren. 20_mksquashfs erstellt die Squashfs Dateien bin.sqfs, sbin.sqfs, lib.sqfs, lib64.sqfs, usr.sqfs von den Verzeichnissen im files/ Verzeichnis. Die Squashfs werden ebenfalls im files/ Verzeichnis gespeichert. 4.2. Reduzierte GrößeWenn Sie kleinere Squashfs Dateien wollen, bzw. eine Live Version ohne bestimmte Programme wie z.B. GCC dann können Sie die Skripts im create-core-sqfs/02-reduced-size/ Verzeichnis verwenden. Das skel-files/ Verzeichnis wird als Vorlage verwendet. Alle Dateien im skel-files/ Verzeichnis werden von / in das files/ Verzeichnis kopiert. Sie können das Vorlagenverzeichnis skel-files/ auch händisch erstellen oder eigene Skripts verwenden. Das 10_copy-all-to-skel Skript kopiert alle Dateien von / in das skel-files/ Verzeichnis. Dann verwenden Sie 30_cleanup-skel-files um alle ungewollten Dateien zu entfernen. Das 30_cleanup-skel-files Skript entfernt gcc und viele andere Dateien. Modifizieren Sie das Skript nach belieben. Alternativ zum Vorlagenverzeichnis skel-files/ kann man auch eine Datei mit Dateinamen verwenden. Das Skript 10_copy-to-skel-from-list liest die Dateinamen aus der Datei skel-files.list aus und kopiert sie in das skel-files/ Verzeichnis. Wenn das Vorlagenverzeichnis skel-files/ fertig ist, dann starten Sie das Skript 40_copy-files zum kopieren der Dateien von / in das files/ Verzeichnis. Sie können das Skript
50_stripfiles verwenden um strip bei den binären Dateien durchzuführen. der letzte Schritt is das Starten des Skripts 90_mksquashfs um die bin.sqfs, sbin.sqfs, lib.sqfs, lib64.sqfs, usr.sqfs Dateien zu erstellen. Die Squashfs Dateien werden im files/ Verzeichnis gespeichert. 5. Die opt.sqfs Datei erstellenDie opt.sqfs Datei wird mit dem create-opt-sqfs/ Skript erstellt. Die opt.sqfs Datei ist optional und wird nicht zum Booten der Live Version von Plop Linux benötigt. Die opt.sqfs Datei ist die komprimierte Version vom /opt/ Verzeichnis. Wenn Sie die Programme aus dem /opt/ Verzeichnis nicht benötigen, dann können Sie die opt.sqfs Datei von Ihrer Plop Linux Live Version entfernen. Das additional/ Verzeichnis wird verwendet um automatisch Dateien der opt.sqfs Datei hinzuzufügen. Benutzen Sie das Skript 10_copy-opt zum Kopieren des /opt/ Verzeichnisses und dem ./additional/ Verzeichnis in das ./opt/ Verzeichnis. Das Skript 30_mksqfs nimmt noch ein paar Modifikationen im opt/ Verzeichnis vor und erstellt die opt.sqfs Datei. Die opt.sqfs Datei hat eine eigene etc.tgz Datei mit den Konfigurationen für die Programme in /opt. Diese etc.tgz Datei wird beim Booten entpackt. Auf die Konfigurationsdateien kann man dann im /etc/opt/ Verzeichnis zugreifen. Die root.conf.tgz Datei in der opt.sqfs Datei beinhaltet zusätzliche Dateien für das Root Home Verzeichnis. 6. Release Dateien erstellenBenutzen Sie die Skripts im release-live/ Verzeichnis zum Erstellen der ISO und der komprimierten Release Dateien. Um Ihre eigenen Squashfs Datein zu verwenden, überschreiben Sie die SQFS Dateien im ploplinux Verzeichnis mit Ihren Dateien. Entfernen Sie die opt.sqfs Datei wenn Sie sie nicht brauchen. Benutzen Sie das Skript make-all.sh um die iso, tar.gz und zip Dateien für i486 und x86_64 zu erstellen. Man muß die Release Version in dem Skript angeben. Hinweis: Die Datei ploplinux/ploplinux.version wird verwendet um Plop Linux beim Booten zu finden. Außerdem beinhaltet diese Datei die Release Information. Build Desktop ReleaseDie einzelnen Skripts sind kurz und selbsterklärend. Die wichtigsten Funktionen und Abläufe werden hier erklärt. Plop Linux Release ToolsLaden Sie die Datei ploplinux-src-24.2.tar.gz herunter. Inhalt: desktop/arm-boot/ <- Boot files for ARM desktop/hd-images/ <- Create the hard disk images desktop/release/ <- Create the compressed files for the Desktop Version live/create-core-sqfs/ live/create-opt-sqfs/ live/initramfs/ live/release/ Verzeichnisse und Skriptsarm/ <- ARM Plop Linux files arm-diff/ <- Different files for ARM etc/ <- Default etc files root/ <- Default root user directory var/ <- Default var files 00_all.sh <- Run all x86 scripts 00_arm-all.sh <- Run all ARM scripts 10_arm-copy-files <- Use arm/ directory 10_copy-files-all <- Use / directory 20_prepare <- Plop Linux Desktop default modifications 30_arm-compress <- Create tar.gz for ARM 30_compress <- Create tar.gz for x86 arm/: Kopieren Sie die ARM Plop Linux Dateien in dieses Verzeichnis. arm-diff/: In diesem Verzeichnis werden die Dateien, dies sich von der x86 Version unterscheiden, abgespeichert. etc/: Standard Dateien, wie z.B. Passwortdateien, die sich vom laufendem Linux unterscheiden. root/: Root User Verzeichnis. var/: var Dateien die sich vom laufendem Linux unterscheiden. 00_all.sh: Dieses Skript startet ale x86 relevanten Skripts: 10-copy-files-all, 20-prepare, 30-compress. 00_arm-all.sh: Dieses Skript startet alle ARM relevanten Skripts: 10-arm-copy-files, 20-prepare, 30-arm-compress. 10_arm-copy-files: Dieses Skript kopiert die ARM Dateien aus dem arm/ Verzeichnis in das ploplinux-desktop/ Verzeichnis zur Weiterverarbeitung. 10_copy-files-all: Dieses Skript kopiert die Dateien aus dem / Verzeichnis in das ploplinux-desktop/ Verzeichnis zur Weiterverarbeitung. 20_prepare: Das ploplinux-desktop/ Verzeichnis für den Release vorbereiten. 30_arm-compress: ARM Umbenennen des ploplinux-desktop/ Verzeichnisses zum Releasenamen und als tar.gz komprimieren. 30_compress: x86 Umbenennen des ploplinux-desktop/Verzeichnisses zum Releasenamen, abhängig vom Laufendem System (i486-x86_64) und als tar.gz komprimieren. Festplatten Images erstellen (x86 und ARM)Plop Linux Release ToolsLaden Sie die Datei ploplinux-src-24.2.tar.gz herunter. Inhalt: create-core-sqfs/ create-opt-sqfs/ hd-images/ <- Festplatten Image erstellen initramfs/ release-desktop/ release-live/ Die Skripts zum Erstellen eines Festplatten Images befinden sich im hd-images/ Verzeichnis. Festplatten Image erstellenStarten Sie sh 10_create-img um die Image Datei zu erstellen. Die Dateigröße kann in dem 10_create-img Skript eingestellt werden. Es ist auf 10 GB eingestellt. Das Skript erstellt eine Linux Partition in der Image Datei. Die Partition der Image Datei wird zu ./mnt/ gemountet. Kopieren/Entpacken Sie die Plop Linux Dateien in das ./mnt/ Verzeichnis.
Beim x86 Image: Starten Sie 20_x86_lilo.conf um die lilo.conf im Image zu ersetzen, damit das Image von IDE booten kann. Dies wird benötigt um das Image bootfähig zu machen. Starten Sie 90_umount zm trennen der Image Datei. Das x86 Image bootfähig machenVerwenden Sie QEMU und plopkexec um das Image bootfähig zu machen. Booten Sie das Image mit qemu -hda ploplinux.img -kernel plopkexec Machen Sie den MBR bootfähig mit lilo -M /dev/hda Installieren Sie LILO mit dem Befehl lilo Fahren Sie die virtuelle Machine herunter mit init 0 Fertig Testen des x86 ImageBooten Sie das Festplatten Image mit qemu -hda ploplinux.img -m 512 Hinweis: -m 512 stellt 512 MB RAM für die virtuelle Maschine ein. Man kann auch mehr RAM einstellen. Beispiel: -m 1024 Testen des ARM ImageSiehe hier. Optional: systemdSie finden das systemd Paket im ploplinux-src-24.2.tar.gz Archiv in dem Verzeichnis 99-optional/systemd/ oder als Download hier. Kompiliert wird systemd nach dem standart Schema. Siehe Build Tools Sources und Compile Scripts. Ich habe systemd ausprobiert, aber schlußendlich war mir das System nicht sympathisch. Ich bevorzuge das einfache Konzept von SysV. © 2024 by
Elmar Hanlhofer |