mmu-lessカーネルをコンパイルしてみたいです。設定で見つけた内容によると、そのようなオプションはありません。可能ですか?
答え1
x86を含むほとんどのプロセッサアーキテクチャでは、MMUをサポートせずにLinuxカーネルをコンパイルできます。ただし、これは自分が何をしているのかを知っているユーザーにのみ提供されるまれな構成であるため、MMUのない一部の組み込みデバイスアーキテクチャでは比較的一般的でない限り、このオプションは表示されるメニューには含まれませんmake menuconfig
。に変更するには、ファイルを明示的に編集する必要がmake xconfig
あります。あるいは、アーキテクチャに対応するファイルを編集してから始まるセクションを置き換えて、メニューにオプションが表示されるようにすることもできます。.config
CONFIG_MMU=y
CONFIG_MMU=n
arch/*/Kconfig
CONFIG MMU
config MMU
bool "MMU support"
default y
---help---
Say yes. If you say no, most programs won't run.
このオプションをメニューに表示しても、結果の構成を調整して内部で一貫性を維持する必要がある場合があります。 MMUのないx86システムは非常に珍しいです。
MMUレスシステムをテストする最も簡単な方法は、ハードウェアベンダーまたはエミュレータが提供するLinuxカーネル構成を使用して、エミュレータで実際のMMUフリーシステムを実行することです。
まだ明確でない場合は、通常のLinuxシステムにMMUが必要です。 LinuxカーネルはMMUなしでシステム用にコンパイルできますが、これにより多くのプログラムが実行されないという制限があります。読書から始めましょうMMUメモリマッピングサポートなし。 MMUがなければglibcは利用できないようです。μClibc通常、代わりに使用されます。文書のソースµClinuxプロジェクト関連性があるかもしれません(μClinuxはMMUフリーLinux用の元のプロジェクトですが、MMUフリーシステムのサポートは現在のカーネルツリーに統合されているため、μClinuxを使用する必要はありません)。
答え2
Embedded Linux Kernel Subset (ELKS) または Minix バージョン 1 をご覧ください。