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/QuellenMachen Sie es beschreibbar und klebrig:
#chmod -va+wt$LFS/QuellenLaden 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/bashUnd Renn:
#EOFErstelle 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/WerkzeugeDie 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:
- LFS-Bootscripts-20100124
- Wie funktionieren diese Bootscripts?
- Setclock-Skript konfigurieren
- Konfigurieren der Linux-Konsole
- Konfigurieren des sysklogd-Skripts
- Erstellen der Datei /etc/inputrc
- Die Startdateien der Bash-Shell
- Geräte- und Modulhandhabung auf einem LFS-System
- Erstellen von benutzerdefinierten Symlinks zu Geräten
- Konfigurieren des localnet-Skripts
- Anpassen der Datei /etc/hosts
- Konfigurieren des Netzwerkskripts
Erstellen der /etc/fstab-Datei - Linux-2.6.32.8
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.
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-KunstwerkInstallieren Sie einen beliebigen X Window Manager, den Sie möchten:
#apt-get installieren-y plymouth-theme-ubuntu-logo ubuntu-gnome-desktop ubuntu-gnome-wallpapersFü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.