J'essaie d'exécuter quelques expériences avec Linux et de rechercher la plus petite distribution par taille d'installation. (RAM, CPU n'a pas vraiment d'importance)
size
small-distribution
Qohelet
la source
la source
Réponses:
Mise à jour: ttylinux n'est pas maintenu pour le moment! Si vous êtes toujours intéressé, commencez ici ou ici .
Selon votre plateforme, ttylinux est peut-être quelque chose pour vous:
Lancé en 2001 et la dernière version date du 2015-03-05 , elle est donc toujours maintenue.
la source
La petite distribution qui me vient à l'esprit est "Damn Small Linux", avec une taille de 50 Mo ( lien , wiki )
Mais il y a aussi une distribution encore plus petite "Tiny Core Linux" qui fait environ 15 Mo ( lien , wiki )
la source
OpenWrt est également l'un des plus petits.
la source
Buildroot
Si vous êtes prêt à passer par un processus de compilation et à réduire les fonctionnalités, vous pouvez essayer buildroot . J'ai créé une installation Linux très basique (essentiellement juste le noyau, un minimum d'utilitaires Busybox et une application supplémentaire) qui tient dans une image ISO de 6 Mo.
La clé ici est de réduire la configuration du noyau et de Busybox ("make linux-nconfig" et "make busybox-menuconfig") au strict minimum dont vous avez besoin, puis d'activer la compression XZ sur le disque virtuel du noyau initial. La réduction de tout ce dont je n'avais pas besoin m'a permis de réduire l'image ISO entière à environ 9 Mo, et après avoir activé la compression XZ jusqu'à 6 Mo.
Pour le noyau, je viens de vérifier chaque option dans le menu de configuration et de la désactiver à moins que j'en ai spécifiquement besoin. Vous pouvez désactiver tous les pilotes réseau pour lesquels vous n'avez pas d'adaptateur réseau correspondant, désactiver d'autres matériels moins courants que vous ne prévoyez pas d'utiliser (cartes série multi-ports, joysticks, périphériques multifonctions ...), etc. sur. Vous pouvez également laisser de nombreux sous-systèmes sur les implémentations de base plutôt que sur des implémentations plus sophistiquées (par exemple, les états d'inactivité du processeur ACPI de base plutôt que les états d'inactivité du processeur Intel / AMD), ce qui peut signifier que vous échangerez l'efficacité énergétique et la prise en charge matérielle complète de la taille du noyau. Vous pouvez également désactiver des sous-systèmes entiers comme le support d'hibernation / sommeil et le système audio si vous n'avez pas besoin de les utiliser.
Vous pourriez économiser beaucoup d'espace en faisant cela. Par exemple, les modules de support KVM (virtualisation) et btrfs (que j'ai décidé de mettre en dehors du noyau en tant que modules chargeables au cas où j'en aurais besoin à l'avenir) occupent à eux seuls 1,1 Mo. En supprimant ces fichiers de module, vous pourriez descendre à environ 4,9 Mo. Il se peut qu'ils occupent moins d'espace intégré dans le binaire du noyau, mais j'ai vu que d'autres modules plus petits ont une taille de 20 à 100 kilo-octets, donc votre kilométrage peut varier.
Busybox
Busybox est un binaire unique qui se comporte comme différents fichiers binaires selon la façon dont il est appelé à partir de la ligne de commande, ce qui vous permet d'économiser de l'espace. Il est inclus dans Buildroot par défaut. Il peut se comporter comme ls, df, dd, cat, nc, bash et bien d'autres. Cela ressemble à un bon remplacement pour la quasi-totalité de l'espace utilisateur * nix, sauf si vous avez besoin d'extensions d'utilitaires spécifiques que vous ne pouvez trouver que dans des versions plus complètes / traditionnelles (par exemple GNU, BSD) de ces utilitaires. Busybox est similaire au noyau en termes de désactivation des fonctionnalités - désactivez tout sauf les binaires (applets AKA) dont vous avez besoin, et la taille sera réduite. Binaire Busybox compilé dynamiquement, il prend 512 kilo-octets dans Buildroot et environ 2,1 Mo sur Ubuntu 14.10. La version plus grande d'Ubuntu prend en charge beaucoup plus que ma version Buildroot, et elle '
Méthodes extrêmes de diminution de la taille du système
Vous pouvez essayer certaines des choses ci-dessous pour réduire davantage la taille, mais effectuez souvent des sauvegardes du répertoire de travail car vous pourriez interrompre l'installation de Buildroot sur laquelle vous travaillez et devrez peut-être reconstruire certains des fichiers binaires.
Compressez tous les exécutables (y compris le noyau) avec le compresseur UPX. Étant donné qu'UPX est conçu spécifiquement pour effectuer une compression exécutable, cela rend les exécutables résultants beaucoup plus petits. Mais assurez-vous que vous testez tous les exécutables par la suite et qu'ils fonctionnent correctement.
Utilisez une libc différente. J'utilise uClibc, mais j'ai entendu dire que musl et dietlib sont beaucoup plus petits et produisent des exécutables plus petits. J'ai eu quelques problèmes de construction avec Musl cette fois, mais cela peut fonctionner mieux.
Remplacez certains ou tous les utilitaires de l' espace utilisateur par asmutils . Ces utilitaires implémentent certains des utilitaires communs * nix en assembleur pur (plutôt qu'en C ou dans d'autres langages), ce qui permet théoriquement un code beaucoup plus compact. Certains d'entre eux fonctionnent bien, mais certains ne peuvent être utilisés que de manière très basique (par exemple, "mount" ne prend que les paramètres dans une séquence spécifique et aucune option de montage spécifique à FS n'est implémentée). D'un autre côté, ils sont très petits (la plupart ont moins de 1 Ko compilés, les petits environ 139 octets). Vous pouvez choisir celles que vous souhaitez utiliser, vous pouvez donc utiliser ces remplacements uniquement pour les commandes sur lesquelles vous souhaitez économiser de l'espace et conserver des versions plus riches en fonctionnalités en tant qu'applets Busybox.
la source
Tomsrtbt est un couple de mégaoctets; il tient sur une disquette.
la source