LF01 Flash Memory Mapping構成とシステム起動構成について

当社「LinuxFAボード(LF01)」における、Flash Memory Mappingと、それを用いたシステム起動構成について記します。(2009/10/16時点の構成になります)

1.Flash Memory Mapping構成について
LF01には、S29GL512P(64MB)を実装しており、以下のような構成にて、割り当ててあります。(参照:"drivers/mtd/maps/bread2_flash.c")

   0000 0000 +-----------------+
| 128KB | (mtd0) ipl (ブートローダ)
0002 0000 +-----------------+
| 896KB | (mtd1) reserve (システム設定データ等)
0010 0000 +-----------------+
| | (mtd2) m_kernel (保守用途カーネル)
| 2MB |
0030 0000 +-----------------+
| | (mtd3) m_rootfs (保守用途ルートファイルシステム)
| 3MB |
| |
0060 0000 +-----------------+
| | (mtd4) kernel (運用用途カーネル)
| 2MB |
0080 0000 +-----------------+
| | (mtd5) rootfs (運用用途ルートファイルシステム)
| |
| |
| |
| |
| 56MB |
| | (内24MB:使用中)
| | (内32MB:拡張用)
| |
| |
| |
| |
| |
2000 0000 +-----------------+

2.システム起動構成ついて
LF01では、保守/運用と2種類のシステムを用意し、それぞれを独立したkernel+rootfsの構成としてあります。
つまり、いずれかのシステムが破損した場合でも、もう一方のシステムには何ら問題がなく、そのシステムを利用する事で、破損したシステムを復旧する事が可能な構成になっています。
また、各々のkernelにてramdiskを用意し、そのramdisk上にrootfsを展開し動作する構成のため、Flashの摩耗を気にする事や、不慮の電源断等がシステム破損につながる心配もなく、信頼性重視の設計になっています。
(更なる信頼性のためには、設定データ等の保存データへのケアが当然必要になります。その際には、ユーザ様の運用方法、システム構成など踏まえ、最適なファイルシステムやデータの二重化と言った手段を提案致します)

2009/10/16