web-dev-qa-db-ja.com

自分のディストリビューション(Linux)に表示するシェルを作成するにはどうすればよいですか?

私はLinuxに興味があり、しばらくの間それを掘り下げてきました。 Linuxカーネルをソースからコンパイルし、Grubで起動することを学びました。これにより、カーネルのシェルが表示されます。

これで、カーネルがメモリにロードされるとすぐに、カーネルはinitを検索してロードします。私の議題は、シェル(通常のユーザーが使用できる-bashなど)を起動することです。

それで、どうすればそれを持ち込むことができますか?

Bashシェルをロードするようにinitを構成する必要がありますか、それとも何かできることはありますか?

私は自分のディストリビューションを構築していますが、シェル(bash)だけを持っているディストリビューションが必要です。

5
Panther Coder

「ターミナル」(物理コンピューター)と「bash」(シェル)は完全に異なります。何を求めているのか完全にはわかりませんが、bashを直接起動するために、カーネルコマンドラインにinit=/bin/bashを追加できます。

4
Alexander

bashは端末ではなく、シェルです。

initプロセスは、ブートプロセスが終了し、マシンがテキストのみのランレベルで実行されている場合(X Windowsなし)、最終的にgettyを呼び出し、次にlogin。これは、ログインプロンプトを表示し、ユーザーがログインできるようにするプロセスです。これは、すべてのLinuxディストリビューションで発生することです。

必要なのは、ユーザーのデフォルトのログインシェルとしてbashを定義することです(マルチユーザー環境が必要な場合)。

4
dr_