Raspberry Pi 4Bに独自のカスタムライブLinuxをインストールしようとしています。私の状態はこんな感じです。
私はLinux 5.9.1を構築し、独自のU-BootバージョンであるRFSを持っていました。これにより、カーネルの正常なロードと起動、RFSのマウント、カーネルコンソールへのアクセスが可能になりました。
私が構築していたLinuxカーネルの上にライブパッチを適用しなければならなかったので、Linux 5.9.1に対応するパッチを使用しました。 64ビットカーネルを構築しているので、次のコマンドを使用してカーネル設定に移動してプリエンプティブオプションを更新します。
make ARCH=arm64 CROSS_COMPILE=aarch64-rpi3-linux-gnu- menuconfig
しかし、完全にプリエンプティブカーネルオプションは表示されません。ここで: .config-Linux/arm64 5.9.1 カーネルの構成
一般設定────────────────────────────────────────────────── ─────────────
┌────────────────────── Preemption Model ───────────────────────┐
│ Use the arrow keys to navigate this window or press the │
│ hotkey of the item you wish to select followed by the <SPACE │
│ BAR>. Press <?> for additional information about this │
│ ┌───────────────────────────────────────────────────────────┐ │
│ │ ( ) No Forced Preemption (Server) │ │
│ │ ( ) Voluntary Kernel Preemption (Desktop) │ │
│ │ (X) Preemptible Kernel (Low-Latency Desktop) │ │
│ │ │ │
│ │ │ │
│ │ │ │
│ └───────────────────────────────────────────────────────────┘ │
├───────────────────────────────────────────────────────────────┤
│ <Select> < Help > │
私が実行したとき:
make menuconfig
x86 オプションのオプションが表示されます: .config - Linux/x86 5.9.1 カーネルの設定
一般設定────────────────────────────────────────────────── ─────────────
┌────────────────────── Preemption Model ───────────────────────┐
│ Use the arrow keys to navigate this window or press the │
│ hotkey of the item you wish to select followed by the <SPACE │
│ BAR>. Press <?> for additional information about this │
│ ┌───────────────────────────────────────────────────────────┐ │
│ │ ( ) No Forced Preemption (Server) │ │
│ │ ( ) Voluntary Kernel Preemption (Desktop) │ │
│ │ (X) Preemptible Kernel (Low-Latency Desktop) │ │
│ │ ( ) Fully Preemptible Kernel (Real-Time) │ │
│ │ │ │
│ │ │ │
Linux カーネル: 5.9.1 使用された Linux RT パッチ: patch-5.9.1-rt19.patch.xz
また、unix.stackexchange .config - Linux/x86 5.9.1 カーネル構成の他の記事の指示に従ってエキスパートモードを有効にしました。
一般設定────────────────────────────────────────────────── ────────────── ┌─────────────────────────────一般設定──── ─────────────────────────┐│矢印キーを使ってメニューをナビゲートします。サブメニュー-->(または空の││
サブメニュー----)を選択します。強調表示された文字はショートカットです。含む、
││除く、モジュール機能を押します。 [終了]をクリックし、<?>││
ヘルプビュー、</>検索ビューをクリックします。伝説:[] 内蔵 [ ] 除外モジュール
│ │ ┌────^(-)────────────────────────────────── ──────────────────────────────┐ │
│ │ [] LZMA圧縮を使用した初期RAMディスク/ramfsのサポート │ │
│ │ [] XZ圧縮を使用した初期RAMディスク/ramfsのサポート │ │
│ │ [] LZO圧縮を使用した初期RAMディスク/ramfsのサポート │ │
│ │ [] LZ4圧縮を使用した初期RAMディスク/ramfsのサポート │ │
│ │ [] 初期 ramdisk/ramfs 圧縮のための ZSTD の使用サポート │ │ │
│ [ ] 実行構成の
サポート
- 標準カーネル機能の設定(専門家ユーザー) ---> │ │
│ │ -- membrier() システムコールの有効化 │ │
│ │ -- すべてのデバッグシンボル/ksymoopsをロード││││
-- kallsymsのすべての記号を含みます││││
[] bpf() システムコールの有効化 │ │
│ │ [ ] userfaultfd() システムコールの有効化 │ │
│ │ [] rseq() システムコールの有効化 │ │
│ │ [ ] rseq() システムコールのデバッグ有効化 │ │
│ │ [*] 組み込みシステム │ │
│ │ [ ] PC/104 サポート │
│ -> │ │
以前にリリースされたLinux 5.6.19用のRTパッチでは、この問題は発生しないことがわかりました。 64ビットケースに何か抜けましたか?
答え1
私はKernel.orgにこの質問をし、それが意図したように見えるという答えを受けました。
https://lore.kernel.org/linux-rt-users/[Eメール保護]/
これは、デフォルトでarm64アーキテクチャのバージョン5.9.1を使用するときにKVMを無効にする必要があり、完全にプリエンプティブオプションがすぐに表示されることを意味します。正常にテストできました。
答え2
走る、
make mrproper
今実行してください。
make menuconfig
これでライブオプションが表示されます。