GNU/Linux >> Linux Esercitazione >  >> Ubuntu

Ubuntu:come creare una shell da mostrare nella propria distribuzione (linux)??

Chiuso . Questa domanda deve essere più focalizzata. Attualmente non accetta risposte.

Vuoi migliorare questa domanda? Aggiorna la domanda in modo che si concentri su un solo problema modificando questo post.

Chiuso 4 anni fa.


Migliora questa domanda

Sono interessato a Linux e lo sto scavando da un po '. Ho appena imparato a compilare un kernel Linux dal sorgente e ad avviarlo con Grub che ti porta con la shell del kernel.

Ora non appena il kernel viene caricato in memoria, cerca init per caricarlo. Il mio programma è quello di aprire una shell (che un utente normale può usare, come bash ).

Allora, come posso portarlo?

Devo configurare init per caricare la shell bash o c'è qualcosa che potrei fare?

Sto costruendo la mia distribuzione e ho solo bisogno che la distribuzione abbia una shell (bash) e nient'altro.

Risposta accettata:

Hmm. Questo non dovrebbe essere complicato da raggiungere, ma è anche molto complesso 🙂

Puoi semplicemente fare ciò che ha suggerito Alexander (init=/bin/bash ), e andrà tutto bene.

Il processo init è ciò che il kernel chiama e dà il via a tutti della tua userland. Terminale di accesso incluso. Se il tuo init genera solo quel terminale bash, stai bene. Ma se quel terminale si arresta in modo anomalo o esce, init dovrebbe ripulire. Se alcuni dei processi avviati dal terminale muoiono, è necessario ripulire. Se muoiono, allora loro i bambini hanno bisogno di un nuovo processo genitoriale, sarà il tuo init.

Consiglio vivamente di dedicare 10 minuti alla lettura di questo, è una panoramica molto amichevole di cosa init fa:

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

Quindi ti avvicinerai per capire cosa significa eseguire il tuo init.

Una parte rilevante di quel link dice:

C'è solo una cosa che
dobbiamo fare:fornire un binario iniziale da avviare in uno qualsiasi di questi percorsi:/sbin/init, /etc/init, /bin/init o /bin/sh. Questo processo (init) viene eseguito come pid 1.

Il processo init deve fare due cose:

  • Non uscire mai (se init esce, il kernel va in panico)

  • Raccogli i processi di zombi

Il resto del testo implementa quindi un semplice init.


Ubuntu
  1. Come controllare la versione del kernel Linux in Ubuntu?

  2. Rilasciato il kernel Linux 5.13! Come installare in Ubuntu 21.04

  3. Come installare Linux Kernel 4.3 su Ubuntu e LinuxMint

  4. Come fare in modo che Ubuntu riconosca la scheda di rete Wi-Fi?

  5. Come bloccare Ubuntu?

Come installare GNOME in Ubuntu Linux

Come ottenere il kernel Linux 5.0 in Ubuntu 18.04 LTS

Come installare Linux Kernel 5.0 su Ubuntu 18.04 LTS

Come installare Linux Kernel 5.15 su Ubuntu 20.04 LTS

Come installare Linux Kernel 5.16 su Ubuntu 20.04 LTS

Come installare Linux Kernel 5.17 su Ubuntu 20.04 LTS