Risposte:
Se intendi imparare Linux come conoscere il codice sorgente, potresti provare Linux da zero
Se stai cercando di imparare, Gentoo è una buona opzione: l'installazione minima di Gentoo è una shell di root e un gestore di pacchetti, e da lì costruisci il resto del tuo sistema. Gentoo rimane anche abbastanza vicino all'upstream sui pacchetti, quindi non si verificheranno troppi problemi se si desidera scaricare e creare alcuni pacchetti da soli (e in effetti, è possibile aggiungerli al file /etc/portage/package.provided dopo che sono stati installati e li usano come dipendenze!)
Se stai cercando il sistema Linux più piccolo possibile in assoluto, quindi crea il tuo kernel, eliminando tutti i driver e le funzionalità che non hai intenzione di utilizzare, quindi aggiungi un initramfs contenente una build minimamente simile di Busybox. Il risultato è un sistema Linux completamente avviabile in un unico eseguibile (su cui è possibile puntare il bootloader) e che può essere inserito in meno di 10 MB senza nemmeno provarci.
Archlinux utilizza un gruppo base di file per un'installazione minima.
Insieme a un gruppo di sviluppo di base , se hai intenzione di fare uno sviluppo del sistema.
Se vuoi davvero solo il minimo indispensabile di ciò che è un sistema Linux, potresti provare le distribuzioni per sistemi embedded come i router. Normalmente portano solo il minimo assoluto di software e la mancanza comune di un'interfaccia utente grafica ti costringe a familiarizzare con la riga di comando. Uno svantaggio è che spesso quei sistemi infrangono le convenzioni delle normali distribuzioni Linux, ad esempio installano software in luoghi non comuni o usano sistemi init semplificati.
Se vuoi provarlo, potresti provare ad esempio openwrt in una macchina virtuale .
Rootfs eseguibili singoli
Il sistema minimo assoluto esegue un singolo /init
programma, come ho spiegato in Single Application Linux | Super utente
Minimo Linux Live
https://github.com/ivandavidov/minimal
Per un sistema interattivo più interessante, questo è un piccolo script (principalmente educativo) che:
L'ISO ti lascia quindi in una shell minima con busybox.
Con QEMU è possibile avviare facilmente il sistema.
L'ho modificato per consentirne l'esecuzione dalla directory dei sorgenti del kernel: https://github.com/cirosantilli/runlinux
Uso:
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
e sarai lasciato in una finestra QEMU con il tuo nuovo sistema minimo. Eccezionale.
Dato che è piccolo, questa è una buona opzione per leggere la fonte e capire cosa sta succedendo.
Testato su Ubuntu 16.04.
buildroot
Grande set di script Makefile che gestiscono:
Esempio minimo:
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.
Ha anche ricette per costruire X11 da zero: come installare X11 sul mio sistema Linux Buildroot?
Roba testata in battaglia professionale utilizzata da alcune grandi aziende.
Alpine Linux
https://github.com/gliderlabs/docker-alpine
Distribuzione integrata con un gestore di pacchetti che offre file binari precompilati da un sito Web.
Guarda anche
Come mai nessuno ha menzionato tomsrtbt ? (Linux su un singolo floppy da 1,44 ")
Potresti provare Slackware Linux. L'installazione basata su menu ti consentirà di installare un sistema quasi minimo. Puoi facilmente lasciare pagine man, X11, Tcl, Emacs e questo è solo dall'installazione di altissimo livello. Puoi immergerti nell'installazione e installare solo un minimo di pacchetti.
Dopodiché, ricompilerei il kernel appositamente per la macchina su cui hai installato.
Lo slackware è ancora predefinito con il boot manager di Lilo, quindi finisci per sapere un po 'più di quello che vuoi sapere sui settori di boot, quale partizione è contrassegnata come avviabile, cosa contiene il tuo initrd, ecc ecc. Rispetto alle distro avviate da Grub.
Per me, Damn Small Linux ha ottenuto il nome di "la più piccola distribuzione Linux possibile"! Tuttavia ho sentito che è un po 'fuori produzione. Puoi anche vedere un elenco di distribuzioni simili (chiamato "Mini Linux") su questa pagina wiki .
Se lo spazio non è il tuo obiettivo, suggerirò Gentoo o Arch Linux , entrambi installano un sistema di base. Scegli cosa usare e installare i pacchetti man mano che crescono le tue esigenze.
Quello che devi fare è scaricare l'ultimo kernel da kernel.org, fare uno make menuconfig
e guardare semplicemente le opzioni e usarlo come punto di partenza per la ricerca e l'indagine. Imparerai molto.
Potresti guardare Puppy Linux . Potrebbe non essere il più piccolo, ma ha una ripetizione di essere piccolo.
Tuttavia, le distribuzioni Linux che devono essere piccole generalmente tendono a rimanere piccole. Per l'apprendimento di Linux, vorrei un debian live da qualche parte. Vorrei ottenere i sorgenti del kernel debian, i sorgenti bash e i sorgenti grub compilati e installati. Quindi compilazione incrociata installa un editor, apt e gcc. Quindi genera un elenco di pacchetti dal debian live. Installa il sorgente per ogni pacchetto, compila e installa. Quindi aggiungi X e poi la W di tua scelta, quindi hai le basi per quello che vuoi fare.
PS: apt-get source ti dà la fonte per un pacchetto debian.