GNU/Linux >> Znalost Linux >  >> Ubuntu

Ubuntu – Jak vytvořit shell, který se bude zobrazovat ve vlastní distribuci (linux)??

Zavřeno . Tato otázka musí být více zaměřena. Momentálně nepřijímá odpovědi.

Chcete zlepšit tuto otázku? Aktualizujte otázku tak, aby se zaměřila pouze na jeden problém úpravou tohoto příspěvku.

Zavřeno před 4 lety.


Vylepšete tuto otázku

Zajímám se o Linux a nějakou dobu se v něm zabývám. Právě jsem se naučil zkompilovat linuxové jádro ze zdrojového kódu a nabootovat ho pomocí Grub, což vám dá shell jádra.

Nyní, jakmile je jádro nahráno do paměti, hledá init načíst to. Mým úkolem je vyvolat shell (který může použít běžný uživatel – například bash ).

Jak to tedy mohu přinést?

Musím nakonfigurovat init pro načtení bash shellu, nebo můžu něco udělat?

Stavím si vlastní distro a potřebuji jen, aby distro mělo shell (bash) a nic jiného.

Přijatá odpověď:

Hmm Toho by nemělo být složité dosáhnout, ale je to také velmi složité 🙂

Můžete jednoduše udělat to, co navrhl Alexander (init=/bin/bash ), a půjde vám to dobře.

Proces init je to, co jádro volá, a spustí vše vaší uživatelské země. Včetně přihlašovacího terminálu. Pokud váš init pouze spustí tento bash terminál, jste v pořádku. Ale pokud se tento terminál zhroutí nebo odejde, init se má vyčistit. Pokud některé procesy spouštěné z terminálu zemřou, musíte je vyčistit. Pokud zemřou, pak jejich děti potřebují nový rodičovský proces, bude to vaše init.

Vřele doporučuji věnovat tomuto přečtení 10 minut, je to velmi přátelský přehled toho, co init dělá:

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

Pak se přiblížíte k pochopení toho, co obnáší spuštění vlastního init.

Relevantní část tohoto odkazu říká:

Je jen jedna věc, kterou
musíme udělat:poskytnout počáteční binární soubor ke spuštění na kterékoli z těchto cest:/sbin/init, /etc/init, /bin/init nebo /bin/sh. Tento proces (init) je spuštěn jako pid 1.

Proces init musí udělat dvě věci:

  • Nikdy neukončujte (pokud init skončí, jádro zpanikaří)

  • Reap zombie procesy

Zbytek textu pak implementuje jednoduchý init.


Ubuntu
  1. Jak zkontrolovat verzi jádra Linuxu v Ubuntu?

  2. Vydáno Linuxové jádro 5.13! Jak nainstalovat v Ubuntu 21.04

  3. Jak zablokovat Ubuntu?

  1. Jak aktualizovat jádro Linuxu v Ubuntu

  2. Jak nainstalovat Linux Kernel 4.3 na Ubuntu &LinuxMint

  3. Jak přimět Ubuntu, aby rozpoznalo síťovou kartu Wifi?

  1. Jak zkontrolovat verzi jádra Linuxu na Ubuntu a Linux Mint

  2. Jak nainstalovat Linux Kernel 4.10.1 v Ubuntu 16.04

  3. Jak nainstalovat Linuxové jádro 5.15 na Ubuntu 20.04