Tools zum Erstellen Ihrer eigenen Linux-Distribution

Tools Create Your Own Linux Distribution



Wenn Sie eine Linux-Distribution erstellen müssen, wird dieses Tutorial wichtige Fragen klären und gleichzeitig einen schnellen Überblick über die Erstellungsprozesse geben. Dieser Artikel konzentriert sich auf Linux From Scratch und Ubuntu Live als Möglichkeiten zum Anpassen einer Linux-Distribution. Die gezeigten Schritte und Befehle sollen nicht funktional sein, sondern den Schwierigkeitsgrad jedes Prozesses darstellen. Zukünftig wird jeder Vorgang bei neuen Updates bei LinuxHint erklärt.

LFS (Linux From Scratch) ist das beliebteste Tool, um benutzerdefinierte Linux-Distributionen aus dem Quellcode zu erstellen. Das Erstellen Ihrer eigenen Linux-Distribution kann einige Vorteile (und auch Nachteile) beinhalten. Unter anderem lernen Sie viel über Linux, indem Sie Ihre eigene Linux-Distribution erstellen. Sie wissen, wie Linux-Module interagieren und wie Sie das System anpassen.







Die Betriebsgröße ist auch abhängig von Ihren Hardwareressourcen oder der Verwendung, die Sie dem System geben möchten, von Vorteil. Auf ihrer Website sagen LFS-Entwickler, dass sie einen Webserver erstellt haben, um mit Apache auf einer Größe von 5 MB zu arbeiten. Zusammen mit Gentoo Linux ist Linux From Scratch der flexibelste Weg, ein Linux-System einzurichten. Der Bau ist ziemlich einfach und der Prozess wird Schritt für Schritt beschrieben. Im Folgenden werde ich nur die ersten Schritte zeigen, um eine Vorstellung von der Schwierigkeit und einen Link zur offiziellen Dokumentation aus der Bauphase zu vermitteln.



Um mit Linux From Scratch loslegen zu können, müssen Sie zunächst eine Partition erstellen (mindestens 3 GB aufgrund des Kompilierungsvorgangs), es empfiehlt sich auch, eine Swap-Partition zu erstellen oder Ihre vorhandene zu teilen (Anweisungen zur Partitionierung finden Sie unter Partitionierung von Festplatten unter Debian/ Ubuntu und Größenänderung von Partitionen).



Nachdem Sie die Partition erstellt haben, erstellen Sie die Variable $LFS, indem Sie Folgendes ausführen:





#Export LFS=/mnt/lfs

Sie können es überprüfen, indem Sie Folgendes ausführen:



#rauswerfen $LFS

Mounten Sie dann die Partition:

# mkdir -pv $LFS
# mount -v -t ext3 /dev/ $LFS

Notiz: Ersetzen Sie für Ihre Partition .

Führen Sie dann für die Swap-Partition aus:

#/sbin/tauschen-v /Entwickler/<Tauschen>

Sie müssen Pakete in ein bestimmtes Verzeichnis namens LFS/sources herunterladen, um die Verzeichnisausführung zu erstellen:

#mkdir -v $LFS/Quellen

Machen Sie es beschreibbar und klebrig:

#chmod -va+wt$LFS/Quellen

Laden Sie alle Pakete herunter und speichern Sie sie im Verzeichnis von http://www.linuxfromscratch.org/lfs/view/6.6/chapter03/packages.html

und

http://www.linuxfromscratch.org/lfs/view/6.6/chapter03/patches.html

Sie können die Wget-Liste verwenden http://www.linuxfromscratch.org/lfs/view/6.6/wget-list

Erstellen Sie das Tools-Verzeichnis und den symbolischen Link, indem Sie Folgendes ausführen:

# mkdir -v $LFS/tools
# ln -sv $LFS/tools /

Führen Sie die folgenden Befehle aus, um den lfs-Benutzer zu erstellen, der ihm Rechte auf dem Werkzeuge und Quellen Verzeichnisse:

# groupadd lfs
# useradd -s /bin/bash -g lfs -m -k /dev/null lfs
# passwd lfs
# chown -v lfs $LFS/tools
# chown -v lfs $LFS/sources
# su - lfs

Melden Sie sich als lfs-Benutzer an und führen Sie Folgendes aus:

#Katze >~/.bash_profile<< 'EOF'

Geben Sie dann ein:

#ausführender env -ich HEIMAT=$HOME BEGRIFF=$TERM PS1='u:w$' /bin/bash

Und Renn:

#EOF

Erstelle eine neue .bashrc beim Laufen:

#Katze >~/.bashrc<< 'EOF'

Und füge hinzu:

# setze +h
# umask 022
# LFS=/mnt/lfs
# LC_ALL=POSIX
# LFS_TGT=$(uname -m)-lfs-linux-gnu
# PATH=/tools/bin:/bin:/usr/bin
# LFS exportieren LC_ALL LFS_TGT PATH

# EOF

Dann renne:

# Quelle ~/.bash_profile
# setze MAKEFLAGS='-j 2'

Dann können Sie die Tools speichern, um mit der Erstellung Ihrer Linux-Distribution zu beginnen, indem Sie die Schritte unter . befolgen http://www.linuxfromscratch.org/lfs/view/6.6/chapter05/introduction.html

Ändern Sie nach Abschluss den Besitz des Tools-Verzeichnisses, indem Sie Folgendes ausführen:

#chown -Rroot:root$LFS/Werkzeuge

Die offizielle Dokumentation zum Erstellen Ihrer Distribution, Vorbereiten des Kernels und der Basissoftware finden Sie Hier . Es handelt sich um eine Abfolge von Schritten, die Sie zum Erstellen einer benutzerdefinierten Verteilung benötigen. Die Schritte sind um virtuelle Kernel-Dateisysteme vorzubereiten , Paketverwaltung , Einstieg in die Chroot-Umgebung , Verzeichnisse erstellen , Erstellen von Essential Files und Symlink s, Installation zusätzlicher aufgeführter Software Hier Wieder Strippen und Aufräumen .

Um mit der Anpassung des Systems zu beginnen, besuchen Sie die Kapitel:

Installieren Sie endlich GRUB Verwenden von GRUB zum Einrichten des Bootvorgangs und folge dem Schritte vor dem ersten Neustart

Ubuntu Live


Das Erstellen eines angepassten Linux basierend auf Ubuntu ist ziemlich einfach, es kann sehr schnell gemacht werden, es ist im Vergleich zu Linux From Scratch extrem einfach, aber es ist überhaupt nicht flexibel, Sie können Software hinzufügen, den Hintergrund anpassen und einige Details Grundlegende Anpassungen wie die Edition des Anwendungsmenüs werden jedoch nicht unterstützt.

#sudodebootstrap

Und füge hinzu:

--Bogen=amd64
--Variante=minbase
bionisch
$HOME/live-ubuntu-von-kratzer/chroot

http://us.archive.ubuntu.com/ubuntu/

Mount-Punkte setzen:

# sudo mount --bind /dev $HOME/live-ubuntu-from-scratch/chroot/dev
# sudo mount --bind /run $HOME/live-ubuntu-from-scratch/chroot/run
# sudo chroot $HOME/live-ubuntu-from-scratch/chroot
# mount keine -t proc /proc
# mount keine -t sysfs /sys
# mount keine -t devpts /dev/pts
# export HOME=/root
# exportieren LC_ALL=C
# echo 'ubuntu-fs-live' > /etc/hostname

Dann müssen Sie die Repositorys aktualisieren und apt update und den folgenden Befehl ausführen:

# apt-get install -y systemd-sysv
# dbus-uuidgen > /etc/machine-id
# ln -fs /etc/machine-id /var/lib/dbus/machine-id
# dpkg-divert --local --rename --add /sbin/initctl
# ln -s /bin/true /sbin/initctl
# apt-get install -y ubuntu-standard casper lupin-casper entdecken laptop-detect os-prober network-manager resolvconf net-tools wireless-tools wpagui locales linux-generic

Wenn Sie Konfigurationsbildschirme wie GRUBs aufrufen, drücken Sie EINTRETEN zu den Standardoptionen, um fortzufahren. Dann renne:

#apt-get installieren-y Allgegenwart Allgegenwärtigkeit-Casper Allgegenwart-Frontend-gtk Allgegenwart-Diashow-Ubuntu Allgegenwart-Ubuntu-Kunstwerk

Installieren Sie einen beliebigen X Window Manager, den Sie möchten:

#apt-get installieren-y plymouth-theme-ubuntu-logo ubuntu-gnome-desktop ubuntu-gnome-wallpapers

Fügen Sie Ihrer Distribution beliebige zusätzliche Software hinzu und führen Sie dann Folgendes aus:

# apt-get-Update
# apt-get install -y Code

Wählen Sie Ihr Gebietsschema aus und konfigurieren Sie die resolv.conf und den Netzwerkmanager neu:

# dpkg-Gebietsschemas neu konfigurieren
# dpkg-reconfigure resolv.conf
# dpkg-reconfigure network-manager

Dann renne:

# truncate -s 0 /etc/machine-id
# rm /sbin/initctl
# apt-get clean
# rm -rf /tmp/* ~/.bash_history

Unmounten Sie alle Dateisysteme:

# umount /proc
# umount /sys
# umount /dev/pts
# export HISTSIZE=0exit
# sudo umount $HOME/live-ubuntu-from-scratch/chroot/dev
# sudo umount $HOME/live-ubuntu-from-scratch/chroot/run

Erstellen Sie Verzeichnisse und kopieren Sie den Kernel und die Binärdateien:

# cd $HOME/live-ubuntu-from-scratch
# mkdir -p image/{casper,isolinux,install}
# sudo cp chroot/boot/vmlinuz-**-**-generisches Image/casper/vmlinuz
# sudo cp chroot/boot/initrd.img-**-**-generisches Image/casper/initrd
# sudo cp chroot/boot/memtest86+.bin image/install/memtest86+
# wget --progress=dot https://www.memtest86.com/downloads/memtest86-usb.zip -O image/install/memtest86-usb.zipunzip -p image/install/memtest86-usb.zip memtest86-usb. img > image/install/memtest86rm image/install/memtest86-usb.zip

GRUB einrichten

Führen Sie alle folgenden Befehle aus:

# cd $HOME/live-ubuntu-from-scratch
# sudo mksquashfs chroot image/casper/filesystem.squashfs
# printf $(sudo du -sx --block-size=1 chroot | cut -f1) > image/casper/filesystem.size
# cd $HOME/live-ubuntu-from-scratch
# cd $HOME/live-ubuntu-from-scratch/image
# grub-mkstandalone --format=x86_64-efi --output=isolinux/bootx64.efi --locales='' --fonts='' 'boot/grub/grub.cfg=isolinux/grub.cfg'
# grub-mkstandalone --format=i386-pc --output=isolinux/core.img --install-modules='linux16 linux normal iso9660 biosdisk memdisk search tar ls' --modules='linux16 linux normal iso9660 biosdisk search' - -locales='' --fonts='' 'boot/grub/grub.cfg=isolinux/grub.cfg'
# cat /usr/lib/grub/i386-pc/cdboot.img isolinux/core.img > isolinux/bios.img
# sudo /bin/bash -c '(find . -type f -print0 | xargs -0 md5sum | grep -v './md5sum.txt' > md5sum.txt)'
# sudo xorriso -as mkisofs -iso-level 3 -full-iso9660-filenames -volid '' -eltorito-boot boot/grub/bios.img -no-emul-boot -boot-load-size 4 -boot-info- Tabelle --eltorito-catalog boot/grub/boot.cat
--grub2-boot-info --grub2-mbr /usr/lib/grub/i386-pc/boot_hybrid.img -eltorito-alt-boot -e EFI/efiboot.img -no-emul-boot -append_partition 2 0xef isolinux /efiboot.img -output '../.iso' -graft-points '.' /boot/grub/bios.img=isolinux/bios.img /EFI/efiboot.img=isolinux/efiboot.img

Wie Sie sehen, ist der Prozess mit Ubuntu Live viel schneller und einfacher, aber es ist nicht mehr als eine Ubuntu-Distribution mit leichten Anpassungen im Gegensatz zu Linux From Scratch, das vollständig anpassbar ist. Ich hoffe, Sie fanden dieses Tutorial nützlich. Folgen Sie LinuxHint für zusätzliche Tipps und Updates zu Linux und Netzwerken.