Linux Distribution mit nur Busybox und Bash?

18

Ich möchte nur eine Linux-Distribution, die schnell bootet, ein Bash-Terminal (kein GUI) und eine Busybox hat.

Gibt es eine solche Distribution oder ist es schwierig, einen Kernel zu kompilieren und selbst einen zu erstellen?

Daniel Gratz
quelle
1
Ich verstehe nicht, was diese Frage mit dem Kernel zu tun hat. Busybox und Bash sind nur Programme. Der Kernel ist für alle Distributionen ziemlich gleich (mit kleinen Patches natürlich).
Setzen Sie Monica
1
Brauchen Sie wirklich Bash? Busybox kommt schon mit sh.
Ciro Santilli

Antworten:

20

Ttylinux

Was Sie suchen, heißt ttylinux.

Hauptkomponenten

  • Kernel
  • Glibc
  • Iptables
  • Dropbear (scp, ssh, sshd)
  • GPM
  • Bash
  • Busybox
  • E2fsprogs

Nicht gepflegt

Die Distribution wurde auf Ttylinux.net gehostet und wird derzeit nicht gepflegt.

Herunterladen

Die neueste Version von ttylinux ist vom 2015.02 (aktualisiert am 2015.03) .

Andrejs Cainikovs
quelle
Kann ich es auf einem USB-Flash-Stick installieren und die Datei behalten? Wenn ja, dann klingt es perfekt.
Daniel Gratz
ttylinux hat seine Homepage geändert .
Insider
@ AndrejsCainikovs Link ist kaputt. Einrichten eines USB - Flash - Laufwerk oder: ttylinux.net/Documents/multi/node10.html
DanteTheEgregore
@AndrejsCainikovs April 2016 ww1.ttylinux.net liefert nur Anzeigen.
Pro Backup
6

Eine gute Linux-Distribution, in die ich mich verliebt habe (und die auch keine GUI hat), ist MicroCore Linux . Es hat auch einen älteren Bruder TinyCore Linux , der eine GUI hat (eine ziemlich beschissene allerdings).

Du könntest immer DSL ausprobieren (Damn Small Linux)

Ich glaube nicht, dass eine dieser Versionen explizit mit busybox geliefert wird (ich kenne keine Distribution, die mitgeliefert wird), aber es sollte nicht zu schwierig sein, sie danach zu installieren. Soweit ich weiß, ist Ihr Hauptanliegen ein kleines schnelles System mit einer anständigen Shell.

n0pe
quelle
Ich habe Microcore Linux ausprobiert, mein Ethernet-Adapter wird nicht erkannt, daher habe ich kein Internet (zum Herunterladen und Installieren der Bash-Erweiterung ist dies nicht erforderlich, da Bash standardmäßig nicht enthalten ist).
Daniel Gratz
MaxMackie: Faszinierend, stimmen Sie von mir ab.
Ruairi Fullam
1
@MaxMackie, Als ich das letzte Mal nachgesehen habe, wurde DSL nicht mehr entwickelt, daher empfehle ich stattdessen generell Puppy Linux.
CarlF
@CarlF: Du hast recht, ich habe es gerade überprüft. Das letzte Update war um 2008, danke für das Heads-Up.
Nr.
5

Die derzeit beste Distribution, die ich mir vorstellen kann, ist Debian NetInst: http://www.debian.org/CD/netinst/

Es gibt eine Reihe kleiner Linux-Distributionen, aber diese wird meiner Meinung nach zu den am besten gepflegten gehören. Eine andere Sache ist, wenn Sie es auf volle Größe vergrößern müssen, ist es eine triviale Operation.

Ruairi Fullam
quelle
+1 für debians netinstall, habe dieses vergessen.
Nr.
also dieses netinstall ... es ist im grunde nur ein cli und bootet sehr schnell? Ich brauche es in der Lage, von USB mit Syslinux gebootet zu werden und Datei-Persistenz zu haben.
Daniel Gratz
Sie können all diese Dinge mit Debian machen, es ist sehr flexibel.
Ruairi Fullam
3

" Alpine Linux ist eine sicherheitsorientierte, schlanke Linux-Distribution, die auf musl libc und busybox basiert."

n.st
quelle
2

Minimal Linux Live https://github.com/ivandavidov/minimal

Für ein interessanteres interaktives System ist dies ein (meist lehrreiches) kleines Skript, das:

  • Lädt die Quelle für den Kernel und die Busybox herunter
  • kompiliert sie
  • erzeugt daraus eine bootfähige 8Mb ISO

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.

Buildroot https://buildroot.org/

Große Auswahl an Makefile-Skripten, die Folgendes verwalten:

  • GCC Cross Compilation Toolchain
  • Kernel-Kompilierung
  • Bootloader-Kompilierung
  • Generierung von Rootfs
  • hat Unmengen von Rezepten zum Herunterladen / Erstellen von Paketen im Quellbaum, einschließlich komplexer Dinge wie GTK. Es gibt ein Abhängigkeitssystem.

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.

Professionelles Zeug.

Alpine Linux https://github.com/gliderlabs/docker-alpine

Embedded-Distribution mit einem Paketmanager, der vorkompilierte Binärdateien von einer Website anbietet.

Einzelne ausführbare Rootfs

Das absolute Minimum-System führt ein einzelnes /initProgramm aus, wie ich unter /superuser//a/991733/128124 erklärt habe

Ciro Santilli ist ein Schauspieler
quelle
1

Sie sollten Arch Linux ausprobieren. Hier können Sie auswählen, was Sie auf Ihrem System installieren möchten und was nicht. Sie können auch festlegen, dass bash nicht installiert werden soll : p Alternativ können Sie Gentoo ausprobieren, bei dem Sie alles von Grund auf neu kompilieren müssen.

RobinJ
quelle
Nicht ganz korrekt, wenn man bedenkt, dass alle SysVinit-Skripte auf Arch geschrieben wurden bash. (Es ist jedoch einfach, SysVinit durch systemd zu ersetzen.)
grawity
Ja, aber während der Installation haben Sie immer noch die Möglichkeit, Bash nicht zu installieren . : p
RobinJ
0

Minimale Entwicklungsdistribution:

busybox, musl C library, gcc, binutils, make, bash und der Linux-Kernel.

oder

Minimale Nicht-Entwicklungs-Distribution:

busybox, musl und der Linux Kernel

user202342
quelle
Ich denke, die OP wollte eine bestimmte Distribution, nicht selbst eine bauen.
Geselle Geek