English / Deutsch | Druckversion Plop Linux  

Plop Linux - Build Tools



Inhaltsverzeichnis


• Einleitung
• Download
• Sources und Compile Skripts
• Build Live Release
• Build Desktop Release
• Festplatten Images erstellen (x86 und ARM)
• Optional: systemd

Einleitung


Sie können das gesamte Plop Linux mit den Build Tools von Grund auf selbst kompilieren und mit den Release Tools eigene Versionen erstellen.


Download


Unterstützen Sie das kostenlose Plop Linux mit einer Spende.

Spendenbetrag   oder mit Bitcoin


Aktuelle Version: 24.2, 15/Feb/2024

Web directory Source Codes  
Compile scripts only ploplinux-nosrc-24.2.tar.gz 65.16 MB
Source code files, compile scripts ploplinux-src-24.2.tar.gz 5.07 GB
Release tools and scripts ploplinux-release-24.2.tar.gz 285.57 MB

Sources und Compile Skripts


Laden 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 Skripts


Skripts 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
sh 020_X_glibc
sh 660_b_openssl

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 aktualisieren


Laden 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_download


Das 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 Release


Die 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 Tools


Laden 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 initramfs


Es 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.tgz


Die 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 Dateien


Sie 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 Version


Im 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öße


Wenn 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.
Hinweis: Ignorieren Sie die Warnungen des Skripts.

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 erstellen


Die 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 erstellen


Benutzen 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 Release


Die einzelnen Skripts sind kurz und selbsterklärend. Die wichtigsten Funktionen und Abläufe werden hier erklärt.


Plop Linux Release Tools


Laden 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 Skripts


arm/                   <- 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 Tools


Laden 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 erstellen


Starten 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.

  • x86 32-Bit: ploplinux-desktop-24.2-i486.tar.gz
  • x86 64-Bit: ploplinux-desktop-24.2-x86_64.tar.gz
  • ARM: ploplinux-desktop-24.2-arm.tar.gz

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 machen


Verwenden 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 Image


Booten 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 Image


Siehe hier.


Optional: systemd


Sie 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
Die Seite wurde zuletzt am 15/Feb/2024 geändert.