GNU/Linux >> Tutoriels Linux >  >> Ubuntu

Ubuntu - Comment créer un shell pour qu'il apparaisse dans sa propre distribution (linux) ??

Fermé . Cette question doit être plus ciblée. Il n'accepte pas de réponses actuellement.

Vous voulez améliorer cette question ? Mettez à jour la question afin qu'elle se concentre sur un seul problème en modifiant ce message.

Fermé il y a 4 ans.


Améliorer cette question

Je m'intéresse à Linux et je le creuse depuis un moment. Je viens d'apprendre à compiler un noyau Linux à partir des sources et à le démarrer avec Grub, ce qui vous amène au shell du noyau.

Maintenant, dès que le noyau est chargé en mémoire, il recherche le init pour le charger. Mon objectif est de créer un shell (qu'un utilisateur normal peut utiliser - comme bash ).

Alors, comment puis-je l'apporter ?

Dois-je configurer init pour charger le shell bash ou puis-je faire quelque chose ?

Je construis ma propre distribution et j'ai juste besoin que la distribution ait un shell (bash) et rien d'autre.

Réponse acceptée :

Hmm. Cela ne devrait pas être compliqué à réaliser, mais c'est aussi très complexe 🙂

Vous pouvez simplement faire ce qu'Alexander a suggéré (init=/bin/bash ), et tout ira bien.

Le processus init est ce que le noyau appelle, et il lance tous de votre espace utilisateur. Terminal de connexion inclus. Si votre init ne fait que générer ce terminal bash, tout va bien. Mais si ce terminal plante ou se ferme, init est supposé nettoyer. Si certains des processus que vous lancez depuis le terminal meurent, vous devez nettoyer. S'ils meurent, alors leur les enfants ont besoin d'un nouveau processus parent, ce sera votre init.

Je recommande fortement de consacrer 10 minutes à lire ceci, c'est un aperçu très convivial de ce qu'est init fait :

http://tilde.town/~elly/userland.txt

Ensuite, vous vous rapprocherez pour comprendre ce que cela implique d'exécuter votre propre init.

Une partie pertinente de ce lien indique :

Il n'y a qu'une seule chose à faire :fournir un binaire initial à lancer sur l'un de ces chemins :/sbin/init, /etc/init, /bin/init ou /bin/sh. Ce processus (init) est exécuté en tant que pid 1.

Le processus init doit faire deux choses :

  • Ne jamais quitter (si init se termine, le noyau panique)

  • Récoltez les processus zombies

Le reste du texte implémente alors un simple init.


Ubuntu
  1. Comment vérifier la version du noyau Linux dans Ubuntu ?

  2. Sortie du noyau Linux 5.13 ! Comment installer dans Ubuntu 21.04

  3. Comment installer le noyau Linux 4.3 sur Ubuntu et LinuxMint

  4. Comment faire pour qu'Ubuntu reconnaisse la carte réseau Wifi ??

  5. Comment verrouiller Ubuntu ?

Comment installer GNOME dans Ubuntu Linux

Comment obtenir le noyau Linux 5.0 dans Ubuntu 18.04 LTS

Comment installer le noyau Linux 5.0 sur Ubuntu 18.04 LTS

Comment installer le noyau Linux 5.15 sur Ubuntu 20.04 LTS

Comment installer le noyau Linux 5.16 sur Ubuntu 20.04 LTS

Comment installer le noyau Linux 5.17 sur Ubuntu 20.04 LTS