Comment commencer avec la construction d'un système Linux à partir de zéro?

9

J'ai essayé de créer un système d'exploitation avec mon noyau personnalisé. Ça n'a pas trop bien marché. J'utilise Ubuntu et j'ai téléchargé Linux 3.2.7 depuis kernel.org. Je n'essaye pas de changer le noyau de mon système Ubuntu. Je veux créer mon propre système d'exploitation avec Grub, le noyau Linux et je veux pouvoir avoir ce système d'exploitation homebrew dans un type de fichier (comme iso) que je peux mettre sur un CD et démarrer sur un autre ordinateur. Ma question est: de quoi ai-je besoin exactement pour créer ce système d'exploitation? Tout commentaire ou tutoriel serait utile.

Coder404
la source
1
Vous pouvez configurer grub pour démarrer un noyau Linux. Il existe de nombreux endroits pour savoir comment procéder; dont le plus officiel serait le manuel officiel ( gnu.org/software/grub/manual/grub.html ). Une fois le noyau démarré, il tentera de démarrer un programme situé dans /sbin/init(sauf configuration contraire). Ce programme peut faire tout ce que vous voulez. Il existe certaines options courantes à utiliser /sbin/init, telles que Upstart, sysvinit, systemd ou simplement bash. De là, ce programme est en contrôle. S'il se ferme, le noyau se bloquera, il devrait donc être capable de démarrer d'autres programmes.
Shawn J. Goff
4
Le site web linuxfromscratch.org contient de nombreuses informations pour construire votre propre distribution linux.
daniel kullmann

Réponses:

15

Voici ce que vous recherchez: http://www.linuxfromscratch.org/

tshubitz
la source
2
Je suis d'accord que c'est ce qu'il DEVRAIT faire, et je lui ai donné le +1. Je pense que ce qu'il veut vraiment, ce sont les détails du re-branding d'Ubuntu depuis sa migration depuis askubuntu.
RobotHumans
Même si vous essayez de faire quelque chose de légèrement différent, Linux From Scratch est certainement le point de départ.
Vernon
Si rien d'autre, LFS est une excellente expérience d'apprentissage.
tshubitz
@tshubitz J'ai regardé LFS mais cela n'a aucun sens pour moi. S'agit-il d'un système d'exploitation préconstruit? est-ce un guide pour créer un système d'exploitation? Qu'Est-ce que c'est?
Coder404
LFS est un guide pour créer un système d'exploitation GNU / Linux à partir de zéro. Cette page du site LFS résume assez bien: linuxfromscratch.org/lfs
tshubitz
4

Un point de départ serait Buildroot .

Qu'Est-ce que c'est? C'est un ensemble de scripts / makefiles qui vous permet de produire un système Linux littéralement à partir de zéro. Il extrait tous les composants pertinents, construit le compilateur croisé sur l'hôte. - à peu près tout.

Il est conçu principalement pour le travail intégré - en tant que tel, il contient uclibc plutôt que glibc et il manque des étapes de construction pour de nombreux composants, par exemple Gnome et certains environnements de bureau - cependant, si vous créez un CD live, il est absolument génial. Bien sûr, non limité aux CD live. Je dis que - il vient avec Qt intégré.

La dernière version stable est livrée avec grub 0.97 qui pourrait ne pas répondre à vos besoins.

Je mentionne cela parce que même si Linux From Scratch est génial en ce qu'il vous indique comment terminer l'ensemble du processus, il est long, prend du temps et nécessite beaucoup de patience. Buildroot pourrait être adapté pour inclure tout ce dont vous avez besoin; comme expérience d'apprentissage, la possibilité d'utiliser les menuconfigmenus de style et d'obtenir quelque chose qui démarre et fonctionne est super. Vous pouvez également voir comment il fait tout avant d'ajouter des fonctionnalités ultérieures.

En termes de configuration de votre noyau, je ne peux pas recommander plus fortement de prendre votre configuration existante (généralement disponible en /boot), de la copier dans l'arborescence du noyau .configpuis de l'exécuter make oldconfiget de parcourir les nouvelles options. Les options par défaut sont à peu près garanties de fonctionner à partir de votre distribution; si vous partez absolument de zéro, vous risquez de créer quelque chose d'inutilisable.


la source
3

Le strict minimum dont vous avez besoin est le noyau et certains processus que vous pouvez exécuter en tant qu'init, ainsi que tous les chargeurs et bibliothèques requis pour le processus d'initialisation. Vous démarrez le noyau en lui disant d'exécuter le processus d'initialisation, et où il va là, c'est votre entreprise.

Ignacio Vazquez-Abrams
la source