ターミナルから起動するためのLinuxカーネルの構築

ターミナルから起動するためのLinuxカーネルの構築

私はカーネルハックを始めただけで、OS GUIを実行せずにターミナルコマンドプロンプトに入るカーネルを構築したいだけです。これは私が経験している問題をデバッグする試みです。これを行うには、どの構成設定を調べるべきかわかりません。この情報は直接見つかりません。誰かが正しい方向を教えてもらえますか?また、後でこの情報を直接見つけるためにKconfigファイルを介してgrepingする方法についてのヒントをお寄せいただきありがとうございます。

ありがとうございます。

答え1

起動時に実行されるGUIはカーネルの構築に依存せず、どのカーネルでもこれを実行できます。ディストリビューションに応じて、GUI環境は一部のサービスマネージャまたは初期化スクリプトセットによってロードされます。

リンクを削除できる場合は、起動systemd時にいわゆる/usr/lib/systemd/system/multi-user.target環境にロードされます。shell

答え2

systemd(多くの最近のディストリビューションがあります)使用している場合は、補足的な回答を提供できます。

ln -sf /usr/lib/systemd/system/multi-user.target /etc/systemd/system/default.target

multi-userつまり、ログイン端末とほとんどのサービス(SSHログイン可能)があり、グラフィックサーバーはない環境を持つことになります。runlevel 3ベースのsysvinitシステムと非常によく似ています。

答え3

これはカーネルによって決まりません。起動オプションです。システムでsystemdを使用している場合は、このsystemctlコマンドを使用して起動ターゲットを設定します。これを行うには、正しいsystemdコマンドを無視してファイルシステムを変更しないでください。代わりに root として以下を使用します。

systemctl set-default multi-user.target

次のコマンドを使用してGUIターゲットに戻すことができます。

systemctl set-default graphical.target

答え4

カーネルコマンドライン引数を追加し、init=/bin/bash何が起こるのかを見てください...(次のものを使用する必要があるかもしれません)編集するコマンド入力幼虫e、起動中に正確な時刻を入力して表示されたとき幼虫メニュー)

関連情報