[Armadillo:01669] Re: 増設NANDFlashを使用したい。

chris mcharg email@hidden
2007年 6月 18日 (月) 21:49:22 JST


マカーグと申します。

OHDE Raita wrote:
> A230で特殊なルータ(のようなもの)の開発をしています。
> アプリケーションでメモリを大量に消費するため、増設したNANDFlashにユーザランドを割り当て
> Flashブートさせることにより、RAMを空けようと考えています。
> 
> このような場合、atmark-distの作成時に設定を行うのでしょうか。
> もし、前例等ございましたら、ご教示いただけると幸いです。

設定を変えることだけでNAND用のイメージの生成はできませんが、atmark-distで設
定しているユーザランド(romfs)を元に作成することは可能です。

atmark-distのmakeコマンドによって生成されたrootfsをNANDで利用する方法は以下
ようになります。

[armadillo230 ~]# mount -t ramfs none /home/ftp/pub/
[armadillo230 ~]# chmod o+xw /home/ftp/pub/

devpc:~/atmark-dist$ ncftpput -u ftp <ipaddr> pub images/romfs.img

jffs2を利用する場合:

[armadillo230 ~]# flash_eraseall -j /dev/mtd4
[armadillo230 ~]# mkdir /mnt/nand
[armadillo230 ~]# mkdir /mnt/romfs
[armadillo230 ~]# mount -t jffs2 /dev/mtdblock4 /mnt/nand
[armadillo230 ~]# mount -t ext2 -o loop /home/ftp/pub/romfs.img \
                     /mnt/romfs
[armadillo230 ~]# cp -a /mnt/romfs/* /mnt/nand/
[armadillo230 ~]# umount /mnt/nand
[armadillo230 ~]# halt
 * JP2をshortしてから、
hermit> setenv root=/dev/mtdblock4 rootfstype=jffs2 noinitrd
hermit> b

ext2を利用する場合:

[armadillo230 ~]# flash_eraseall /dev/mtd4
[armadillo230 ~]# cat /home/ftp/pub/romfs.img > /dev/mtdblock4
[armadillo230 ~]# halt
 * JP2をshortしてから、
hermit> setenv root=/dev/mtdblock4 noinitrd
hermit> b

これで、NANDに保存されているユーザランドが起動します。
ただし、このままだと書き込み可能(rw)になっているのでご注意ください。
必要に応じて、カーネルパラメータの指定や起動スクリプトの修正でroにできると思
います。



armadillo メーリングリストの案内