だから私はDebian 11で6.0.3カーネルをコンパイルしています。私の使命は、起動してインターネットに接続できる最小のカーネルを取得することです。
私はカーネルを合計89回コンパイルし、私のカーネルには599個の静的モジュールと0個のロード可能モジュールがありました。
私はそのコマンドを使用していますが、make nconfig
GUIを無効にする部分を見つけましたが、見つかりませんでした。私のOSはまだGUIを使用して起動しており、この方法で多くのモジュールを削除してカーネルを小さくすることができると確信しているので、GUIを無効にしたいと思います。
メニューのどの部分にこのオプションがあるかを知っている人はいますか?
編集する:
ミッションを完了し、最終的に533個の静的モジュール+ 0個の動的モジュールを持つようになりました。
文字通りモジュールを削除できなくなり、GUIはまだ機能しており、メニューには無効にするセクションはありません。
頑張ってくれてありがとう!
答え1
最小限のカーネルを構築するには、make tinyconfig
代わりに使用する必要がありますmake nconfig
。
グラフィカルインターフェイスを無効にするには、次を使用します。
sudo systemctl set-default multi-user.target
再び覆う:
sudo systemctl set-default graphical.target
しかし、コアが小さくなるわけではありません。
答え2
カーネルは要件に合った方法で GUI を管理しないため、カーネル構成で「GUI を無効にする」ことはできません。
カーネルは、デバイスドライバ、最低レベルのネットワークインタラクション、メモリ、ファイルシステム管理を処理します。
「GUI」と呼ばれるものは(ほとんどのシステムでは)XorgまたはWaylandによって処理され、その上にレイヤーとして使用するウィンドウまたはデスクトップマネージャによって処理されます。
GAD3Rが公開したように実行すると、GUIは無効になりますが、カーネルが小さくなったり再度有効にしてもカーネルは大きくなりません。
もしあなたなら本物カーネルからできるだけ多くを絞り込むには、initramfsを除くすべてのファイルシステムサポートとすべてのブロックデバイスを無効にしてからinitramfsを変更して、dhcpクライアントを含めて実行できます。技術的に言えば起動し、インターネットに接続します。それはただ有用な仕事をしません。
答え3
システムはUEFIスタイルで起動しますか、それともクラシックBIOSスタイルで起動しますか?
GUIを無効にする場合(たとえば、sudo systemctl set-default multi-user.target
永続性のためにsudo systemctl isolate multi-user.target
すぐに適用する)make nconfig
- >でオプションを最小限に抑えることができます。Device drivers
Graphics support
Device drivers
オプション -> Firmware drivers
-> Mark VGA/VBE/EFI FB as generic system framebuffer
()が設定されている場合は、デフォルトSYSFB_SIMPLEFB
でSimple framebuffer driver
(DRM_SIMPLEDRM
)のみを選択してくださいGraphics support
。
設定しない場合は、UEFIに-> -> -> ->()が選択されていることをSYSFB_SIMPLEFB
確認する必要があります。Device drivers
Graphics support
Frame buffer Devices
Support for frame buffer devices
EFI-based Framebuffer Support
FB_EFI
クラシックBIOSが設定されていない場合は、SYSFB_SIMPLEFB
同じパスでVESA VGA graphics support
()を使用するFB_VESA
か、すべてのフレームバッファデバイスを無効にしてDevice Drivers
-> Graphics support
-> Console display driver support
-> VGA text console
()が設定されていることを確認してください。VGA_CONSOLE
(同じパスで)VGA_CONSOLE
無効にすることもできますが、これを使用するクラシックBIOSスタイルの起動でのみ機能するか、実際に利用可能なコンソールが必要です。Framebuffer console support
FRAMEBUFFER_CONSOLE
VGA_CONSOLE
SYSFB_SIMPLEFB
FB_EFI
FB_VESA
FRAMEBUFFER_CONSOLE
を使用している場合は、エラーを防ぐためにブートローダ機能をVGA_CONSOLE
無効にするようにブートローダ設定を調整する必要がありますplymouth
。フレームバッファドライバがないと、システム起動時にきれいな画像を表示できず、テキストのみを表示できます。
(私が正しく理解した場合、BIOSの「デフォルト表示モード」は拡張ASCIIおよび文字固有の表示属性を使用するVGAテキストモードですが、UEFIの「基本表示」は基本的に単純なAグラフィック対応フレームバッファです。テキストを簡単にレンダリングするため)。
答え4
簡単に言えば、Linuxカーネルはオペレーティングシステムを実行するエンジンです。持っているほとんどなしグラフィカルユーザーインターフェイスに関連しています。 GUIは、XFCE、GNOME、KDE Plasmaなど、カーネル自体の一部ではなくデスクトップ環境によって制御されます。カーネルを小さくするためにコンピュータを起動する必要がない不要なオプションと他のデバイスドライバの両方を無効にしたいと思います。役に立ったことを願っています!