6

組み込みデバイスでLinuxカーネルを実行するために必要な最小量はRAMですか? Linux-0.11(80x86)では、必要な最小RAMは、カーネルのデータ構造と割り込みベクタをロードするために2MBでした。組み込みデバイスでLinuxカーネルを実行するために必要なRAMの最小容量はいくらですか?

現在のLinux-3.18カーネルに必要なRAMの量はどれくらいですか? x86ARMのような異なるアーキテクチャでは、ブートに必要な最小RAMの要件が異なりますか?計算方法は?

+0

達成しようとしていることは何ですか? Linuxを圧迫しようとしているデバイスによっては、ほとんどのものを(フラッシュ)ROMに分けることができるかもしれないと思います。 – doynax

+0

@doynax:限られたRAMを持つ組み込みデバイスでlinuxを移植しようとしています。フラッシュは読み取り専用です。 –

+1

あなたの質問はあまりにも曖昧です。多くのLinuxカーネル機能は、必要でない場合は省略することができ、結果的にメモリ占有量を削減できます。必要なデーモンの種類とアプリケーションによって、メモリ要件も決まります。プロセッサアーキテクチャおよび命令セットは、メモリ要件に影響を与える(例えば、ARMの場合、カーネルはThumbモード、16ビット、カーネルサイズを縮小する命令でコンパイルすることができる)。 – sawdust

答えて

9

〜600KiBまで縮小することができます。 IntelのTom Zanussi氏が行った作業を確認してください。 Presentation from TomおよびWiki page about the topic

更新。 Tomは、カーネル内の異なるサブシステムによるメモリ使用について興味深いstatisticsを公開しました。彼はプロジェクトに取り組んでいたその時代に研究をしました。

+0

これらのリンクのいずれにも600KiBを示唆するものはありません。あなたはもっと具体的になりますか?そのカーネルイメージのサイズはランタイムRAMのフットプリントですか? [このプレゼンテーション](http://elinux.org/images/2/2b/Elce11_hart.pdf)では、配布量を1.6Mbにまで徐々に減らす段階が示されていますが、どの段階でそれがほとんどなくなりすぎて殆どそれは価値がある - それであなたはそれで何をすることができますブーツ! – Clifford

+0

1.6MはシステムのRAMサイズですが、カーネルのほかにinitやシェルのような他のもの用にRAMを持たなければなりません。したがって、600KiBはカーネルのRAMフットプリントです。しかし、TCP/IP、IIRCのようなユーザ空間プログラムにコンパイルする必要があることに注意してください。 – 0andriy

+0

[Linux on 8-bit uC](http://dmitry.gr/index.php?r=05.Projects&proj=07。%20Linux%20on%208bit) –

3

This siteが示唆:私達は私達の顧客に与えている 勧告は、彼らが少なくとも16 MBのRAMの価値に を設計しなければならないことではあるが

最小限のuClinuxの構成は、4メガバイトのRAMから実行することができます。

SDRAMを使用している場合、妥当なボリュームコストとアベイラビリティで16Mbより小さい部品が問題になる可能性があります。多分それは問題ではないでしょうか?しかし、SRAMでは、それは大きくて比較的高価な部分です。

eLinux.orgには、組み込みのカーネルサイズ、その決定方法、最小化方法についてのlot of informationがあります。

+0

上記のリンクから:ブート可能なuClinuxイメージのサイズinitramfsは、16 MBのRAMから実行可能な機能にふさわしいものは、2〜3 MBの球場にあります。 uClinuxカーネルのサイズが圧縮されていないときのサイズは? –

関連する問題