Antworten:
Wenn Sie Linux lernen wollen, wie Sie den Quellcode kennenlernen, sollten Sie Linux von Grund auf ausprobieren
Wenn Sie lernen möchten, ist Gentoo eine gute Option - die minimale Gentoo-Installation besteht aus einer Root-Shell und einem Paket-Manager, und Sie bauen den Rest Ihres Systems von dort aus. Gentoo bleibt auch bei Paketen in der Nähe des Upstreams, so dass Sie nicht auf zu viele Probleme stoßen, wenn Sie einige Pakete selbst herunterladen und erstellen möchten (und Sie können sie tatsächlich der Datei /etc/portage/package.provided hinzufügen nachdem sie installiert sind, und verwenden Sie sie als Abhängigkeiten!)
Wenn Sie nach dem absolut kleinstmöglichen Linux-System suchen, erstellen Sie Ihren eigenen Kernel, entfernen Sie alle Treiber und Funktionen, die Sie nicht verwenden möchten, und fügen Sie ein initramfs hinzu, das eine ähnlich minimierte Version von Busybox enthält. Das Ergebnis ist ein vollständig bootfähiges Linux-System in einer einzigen ausführbaren Datei (auf die Sie Ihren Bootloader verweisen können), auf die Sie weniger als 10 MB einpassen können, ohne es zu versuchen.
Archlinux verwendet eine Basisgruppe von Dateien für eine minimale Installation.
Zusammen mit einer Basisentwicklungsgruppe , wenn Sie eine Systementwicklung durchführen wollen.
Wenn Sie wirklich nur das Nötigste von einem Linux-System wollen, können Sie Distributionen für eingebettete Systeme wie Router ausprobieren. Sie enthalten normalerweise nur das absolute Minimum an Software und das Fehlen einer grafischen Benutzeroberfläche zwingt Sie, sich mit der Befehlszeile vertraut zu machen. Ein Nachteil ist, dass diese Systeme häufig die Konventionen regulärer Linux-Distributionen verletzen, z. B. Software an ungewöhnlichen Orten installieren oder vereinfachte Init-Systeme verwenden.
Wenn Sie es versuchen möchten , können Sie zB openwrt in einer virtuellen Maschine ausprobieren .
Einzelne ausführbare Rootfs
Das absolute Minimum-System führt ein einzelnes /init
Programm aus, wie ich unter Linux für einzelne Anwendungen | erläutert habe Super User
Minimales Linux Live
https://github.com/ivandavidov/minimal
Für ein interessanteres interaktives System ist dies ein (meist lehrreiches) kleines Skript, das:
Die ISO lässt Sie dann in einer Minimal-Shell mit Busybox zurück.
Mit QEMU können Sie problemlos in das System booten.
Ich habe es so geändert, dass es über das Kernel-Quellverzeichnis ausgeführt werden kann: https://github.com/cirosantilli/runlinux
Verwendung:
git clone https://github.com/ivandavidov/minimal
cd minimal/src
./build_minimal_linux_live.sh
# Wait.
# Install QEMU.
# minimal_linux_live.iso was generated
./qemu64.sh
und Sie werden in einem QEMU-Fenster mit Ihrem neuen Minimalsystem zurückgelassen. Genial.
Da es klein ist, ist dies eine gute Option, um die Quelle zu lesen und zu verstehen, was los ist.
Getestet unter Ubuntu 16.04.
Baumwurzel
Große Auswahl an Makefile-Skripten, die Folgendes verwalten:
Minimales Beispiel:
git clone git://git.buildroot.net/buildroot
cd buildroot
git checkout 2016.05
make qemu_x86_defconfig
# Can't use -jN, use `BR2_JLEVEL=2` instead.
BR2_JLEVEL=2 make
# Wait.
# cat board/qemu/x86_64/readme.txt
qemu-system-x86_64 -M pc -kernel output/images/bzImage -drive file=output/images/rootfs.ext2,if=virtio,format=raw -append root=/dev/vda -net nic,model=virtio -net user
# You are now in a shell with BusyBox utilities.
Es gibt sogar Rezepte, um X11 von Grund auf neu zu erstellen: Wie installiere ich X11 auf meinem eigenen Linux Buildroot-System?
Professionelles, kampferprobtes Material, das von einigen großen Unternehmen verwendet wird.
Alpines Linux
https://github.com/gliderlabs/docker-alpine
Embedded Distribution mit einem Paketmanager, der vorkompilierte Binärdateien von einer Website anbietet.
Siehe auch
Du könntest Slackware Linux ausprobieren. Mit der menügesteuerten Installation können Sie ein Minimum an System installieren. Sie können Manpages, X11, Tcl und Emacs einfach weglassen. Sie können in die Installation eintauchen und nur ein Minimum an Paketen installieren.
Danach kompiliere ich den Kernel speziell für den Computer, auf dem Sie installiert haben.
Slackware verwendet weiterhin standardmäßig den Lilo-Boot-Manager, sodass Sie am Ende ein wenig mehr über die Boot-Sektoren wissen, welche Partition als bootfähig markiert ist, was Ihre initrd enthält usw. usw. als bei Grub-Boot-Distributionen.
Für mich hat Damn Small Linux den Namen "die kleinstmögliche Linux-Distribution"! Allerdings habe ich gehört, dass es irgendwie eingestellt ist. Sie können auch eine Liste ähnlicher Distributionen ("Mini Linux" genannt) auf dieser Wiki-Seite sehen .
Wenn der Speicherplatz nicht Ihr Ziel ist, schlage ich Gentoo oder Arch Linux vor , beide installieren ein Basissystem. Sie entscheiden, welche Pakete verwendet und installiert werden sollen, wenn Ihre Anforderungen wachsen.
Sie müssen make menuconfig
lediglich den neuesten Kernel von kernel.org herunterladen, einen Blick auf die Optionen werfen und diesen als Ausgangspunkt für Recherchen und Untersuchungen verwenden. Sie werden viel lernen.
Sie könnten sich Puppy Linux ansehen . Es ist vielleicht nicht das kleinste, aber es hat den Ruf, klein zu sein.
Allerdings neigen Linux-Distributionen, die klein sein sollen, dazu, klein zu bleiben. Um Linux zu lernen, würde ich irgendwo ein Live-Debian sein. Ich würde die Debian-Kernel-Quellen, Bash-Quellen und Grub-Quellen über Kreuz kompilieren und installieren lassen. Dann installieren Sie einen Editor, apt und gcc. Dann generiere eine Liste von Paketen aus dem Debian Live. Installieren Sie den Quellcode für jedes Paket, kompilieren und installieren Sie es. Dann füge X hinzu und dann den Wm deiner Wahl. Dann hast du die Basis für das, was du tun möchtest.
PS: Mit apt-get source erhalten Sie die Quelle für ein Debian-Paket.