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.
9
/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.Réponses:
Voici ce que vous recherchez: http://www.linuxfromscratch.org/
la source
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
menuconfig
menus 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.config
puis de l'exécutermake oldconfig
et 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
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.
la source