私はLinuxに興味があり、しばらくの間それを掘り下げてきました。 Linuxカーネルをソースからコンパイルし、Grubで起動することを学びました。これにより、カーネルのシェルが表示されます。
これで、カーネルがメモリにロードされるとすぐに、カーネルはinit
を検索してロードします。私の議題は、シェル(通常のユーザーが使用できる-bash
など)を起動することです。
それで、どうすればそれを持ち込むことができますか?
Bashシェルをロードするようにinitを構成する必要がありますか、それとも何かできることはありますか?
私は自分のディストリビューションを構築していますが、シェル(bash)だけを持っているディストリビューションが必要です。
「ターミナル」(物理コンピューター)と「bash」(シェル)は完全に異なります。何を求めているのか完全にはわかりませんが、bashを直接起動するために、カーネルコマンドラインにinit=/bin/bash
を追加できます。
bash
は端末ではなく、シェルです。
init
プロセスは、ブートプロセスが終了し、マシンがテキストのみのランレベルで実行されている場合(X Windowsなし)、最終的にgetty
を呼び出し、次にlogin
。これは、ログインプロンプトを表示し、ユーザーがログインできるようにするプロセスです。これは、すべてのLinuxディストリビューションで発生することです。
必要なのは、ユーザーのデフォルトのログインシェルとしてbash
を定義することです(マルチユーザー環境が必要な場合)。