/ /組み込みプラットフォームの設計の理解-Linux、メモリ管理、ファームウェア

組込みプラットフォーム設計の理解 - Linux、メモリ管理、ファームウェア

さまざまなLinuxメモリ設計の選択肢を理解しようとしています。 私は組み込みARM / Linuxプラットフォーム(初心者)で作業しています。

ファームウェアは、カーネルとrootfsを含むフラッシュにロードされます。 ブートアップ中にイメージ全体がRAMにロードされます。

この設計選択の利点は何ですか?代替手段はありますか? Beagle Bone Blackのような評価ボードとはどう違いますか?

前もって感謝します

回答:

回答№1は1

通常、フラッシュを使用してブートすることができますプログラム、カーネルイメージ、rootfs。ほとんどのLinuxは、フラッシュからではなくRAMから実行されます。これは、通常、RAMからの実行中に高速になるためです。したがって、ブートプロセス中に、カーネルttはU-BootによってフラッシュからRAMにコピーされます。もう1つのオプションは、ブートローダーがフラッシュから圧縮されたカーネルをSDRAMに抽出し、カーネルがrootfsをマウントすることです。

メモリは組み込みシステムの制約であるため、組み込みシステムのほとんどはintramfsを使用します。この詳細については、このリンクを参照してください。 https://unix.stackexchange.com/questions/27309/how-do-i-have-linux-boot-with-a-rootfs-in-ram

これとは別に、使用されるほとんどの分布圧縮されたext2ファイルシステムイメージ、Debian 3.1のような他のものはメモリ制限システムで起動するためにcramfsを使用しました。 cramfsイメージは、圧縮解除のために余分なスペースを必要としません。