ポータブルUSBスティック用のカーネルをコンパイル中です。これは、コンパイルされるシステムだけでなく、すべてのハードウェアで実行する必要があることを意味します。カーネル構成で何を選択する必要がありますか?make allyesconfig
これは適切ですか?
これに備えて、これはDebian Stretch(OS)のネイティブカーネルに必要な最新のドライバが含まれていないためです(一部の2019 Lenovoノートブックのタッチパッドサポートは5.1でのみ提供されています)。
答え1
カスタムカーネルをコンパイルする必要はなく、関連するカーネルモジュールをinitramfsに追加するだけです。私のプロジェクトでは、ロードする各モジュールを一覧表示するinitramfs-toolsフォルダに「modules」というファイルを作成して実行しました。
mkinitramfs -o "initrd.img" initramfs-tools
それを構築します。
詳細はこちらからご覧いただけます。http://manpages.ubuntu.com/manpages/trusty/man8/initramfs-tools.8.html
デスクトップ環境にのみ適用する場合は、ファイルを/etc/modules
編集してモジュールを追加して、起動時にモジュールを自動的にロードできます。
答え2
make allyesconfig
メインカーネルにできるだけ多くのドライバを構築すると、膨大なカーネルファイルが生成されます。説明する<kernel source>/Documentation/admin-guide/README.rst
:
不要なドライバがあると、カーネルが大きくなり、場合によっては問題が発生する可能性があります。存在しないコントローラカードを検索すると、他のコントローラが混乱する可能性があります。
返品:
「カーネルハッキング」構成の詳細は、カーネルの問題(kmalloc())を見つけるために誤ったコードを積極的に破棄しようとするいくつかのルーチンを構成することによって、カーネルの安定性を低下させることがあります。かき混ぜます。したがって、「開発」、「実験」、または「デバッグ」機能に関する質問には「n」と答える必要があります。
make allmodconfig
できるだけ多くのドライバとロード可能なモジュールを構築することでmake allyesconfig
。
1つをつかむことを検討することもできます。linux-config
Debian テストのパッケージまたはストレッチから後ろに移植されたそこからカーネル構成を選択します。これは5.1ではいくつかのカーネルバージョンにすぎないため、この構成で実行するのは難しいことではありませんmake oldconfig
。
Debian のカーネルパッケージはすでにできるだけ一般的に構成されている必要があります。これを新しいカーネル構成の基礎として使用すると、システムコンソール固有のデバッグ機能や設定に関するいくつかのトラップを回避できます。使用可能なシステムコンソールドライバがないため、失敗したカーネル設定をデバッグすることは特別な問題です。