[Armadillo:02812] Re: Armadillo-9のパーティション構成変更について

nakai email@hidden
2008年 3月 5日 (水) 17:12:18 JST


nakaiです。

どうやら、
<*> Journalling Flash File System v2 (JFFS2) support
	(0)   JFFS2 debugging verbosity (0 = quiet, 2 = noisy)
	[ ]   JFFS2 support for NAND flash
	[ ]   JFFS2 support for ECC'd NOR flash (EXPERIMENTAL)
	[ ]   Advanced compression options for JFFS2

JFFS2 support for NAND flash
が有効になっていると現象が出るようです。
そこはどうなっていますか?


nakai さんは書きました:
> nakaiです。
> 
> こちらでも試しましたが、エラーでますね。
> ちょっとしらべてみます。
> 
> 
> nakai さんは書きました:
>> nakaiです。
>>
>> 試してもらっていいですか?
>>
>> mtd0  bootloader
>> mtd1  kernel
>> mtd2  userland
>> mtd3  userland-config
>> mtd4  userland-user
>> mtd5  config
>> このパーティションになっている前提でコマンドを書きます。
>>
>> Armadillo-9にログイン後、
>>
>> # flash_eraseall -j /dev/mtd4
>> # mount -t jffs2 /dev/mtdblock4 /mnt
>> # echo testfile > /mnt/test.txt
>> # umount /mnt
>>
>> 	(リブート)
>>
>> # mount -t jffs2 /dev/mtdblock4 /mnt
>> # cat /mnt/test.txt
>> # umount /mnt
>>
>> といった手順で正常にJFFS2が使用できているかを確認していただけますか?
>> umount時は少々時間がかかる場合があります。
>>
>> これで失敗するようでしたら、もしかしたらFlashの後半部分が壊れていたりする場合も
>> 考えられます。
>>
>>
>> Fumihiro SHIMONO さんは書きました:
>>> お世話になっております。shimonoです。
>>>
>>> JFFS2のファイルシステムのアンマウント等でつまずいており、御教授いただき
>>> たく、現象と実施内容を書かせていただきます。
>>>
>>> なにとぞよろしくお願い申し上げます。
>>>
>>> 【現象】
>>> ・JFFS2イメージをフラッシュメモリに書き込み、
>>>  マウント後にファイル作成等、書き込めることを確認したのですが、
>>>  アンマウント操作をすると固まってしまいます。
>>> ・リセットボタンを押してリブート後に再度マウントし、
>>>  その後syncコマンドを実行すると、エラーメッセージが出力されます。
>>>
>>> 【実施内容】
>>> 1. Armadillo-9から開発PCをNFSマウント
>>>   # mount -t nfs -o nolock 192.168.1.10:/home /mnt
>>> 2. Armadillo-9で、mkfs.jffs2コマンドを実行
>>>   # mkfs.jffs2 --pad=0x330000 -d usrland-user -o userland-usr_jffs2.img
>>> 3. 2.で作成したファイルイメージのフラッシュメモリへの書き込み
>>>   # flash_eraseall
>>>   # dd if=userland-usr_jffs2.img of=/dev/mtdblock4 bs=1k
>>> 4. 3.で書き込んだデバイスをマウント
>>>   # cd
>>>   # umount /mnt (←1.でNFSマウントしていたため)
>>>   # mount -t jffs2 -o rw /dev/mtdblock4 /mnt
>>> 5. ファイルを作成
>>>   # cd /mnt
>>>   # echo "Hello World!" > foo.txt
>>>   # ls foo.txt
>>>   # cat foo.txt
>>>   Hello World!
>>> 6. アンマウント操作を実行
>>>   # cd
>>>   # uomunt /mnt
>>>   (応答なしになりました。)
>>> 7. リセットボタン押下し、ログイン後、再度マウントしてsyncコマンドを実行
>>>   # mount -t jffs2 -o rw /dev/mtdblock4 /mnt
>>>   # cat /mnt/foo.txt
>>>   Hello World!
>>>   # sync
>>>   (エラーメッセージ(※下記参照)が出力されます。)
>>>
>>> -------------------------------------------<エラーメッセージ ここから>
>>> Unable to handle kernel NULL pointer dereference at virtual address
>>> 00000000
>>> pgd = c0ff8000
>>> [00000000] *pgd=c5fa5031, *pte=00000000, *ppte=00000000
>>> Internal error: Oops: 817 [#1]
>>> Modules linked in:
>>> CPU: 0
>>> PC is at __down_write+0xa0/0xe4
>>> LR is at jffs2_flush_wbuf_pad+0x1c/0x3c
>>> pc : [<c02485e0>]    lr : [<c0122c14>]    Not tainted
>>> sp : c5a81f14  ip : c5a81f3c  fp : c5a81f38
>>> r10: 001b8050  r9 : c5a80000  r8 : c0031ee4
>>> r7 : 00000024  r6 : 00000001  r5 : c0d7531c  r4 : c0ca6300
>>> r3 : c0d75320  r2 : c5a81f14  r1 : 00000000  r0 : c0d7531c
>>> Flags: NzCv  IRQs off  FIQs on  Mode SVC_32  Segment user
>>> Control: C000317F  Table: C0FF8000  DAC: 00000015
>>> Process busybox (pid: 985, stack limit = 0xc5a80198)
>>> Stack: (0xc5a81f14 to 0xc5a82000)
>>> 1f00:                                              c0d75320 00000000 c0ca6300
>>> 1f20: 00000002 c0d75200 c0d7531c c5a81f50 c5a81f3c c0122c14 c0248550 c0d75230
>>> 1f40: c0293c48 c5a81f64 c5a81f54 c0120f54 c0122c08 c0d75000 c5a81f80 c5a81f68
>>> 1f60: c008bdbc c0120f28 00000001 00000001 00000000 c5a81f94 c5a81f84 c0086b08
>>> 1f80: c008bcdc bea2de54 c5a81fa4 c5a81f98 c0086b50 c0086ae4 00000000 c5a81fa8
>>> 1fa0: c0031d60 c0086b4c bea2de54 c0038bc0 ffffffff 00000000 401d9468 000001cc
>>> 1fc0: bea2de54 00000001 00000000 00000000 00000000 00000001 001b8050 bea2de54
>>> 1fe0: 40178b50 bea2dad4 00021514 40178b54 60000010 ffffffff 00000000 00000000
>>> Backtrace:
>>> [<c0248540>] (__down_write+0x0/0xe4) from [<c0122c14>] (jffs2_flush_wbuf_pad+0x1c/0x3c)
>>>  r5 = C0D7531C  r4 = C0D75200
>>> [<c0122bf8>] (jffs2_flush_wbuf_pad+0x0/0x3c) from [<c0120f54>] (jffs2_sync_fs+0x3c/0x68)
>>>  r5 = C0293C48  r4 = C0D75230
>>> [<c0120f18>] (jffs2_sync_fs+0x0/0x68) from [<c008bdbc>] (sync_filesystems+0xf0/0x13c)
>>>  r4 = C0D75000
>>> [<c008bccc>] (sync_filesystems+0x0/0x13c) from [<c0086b08>] (do_sync+0x34/0x68)
>>>  r6 = 00000000  r5 = 00000001  r4 = 00000001
>>> [<c0086ad4>] (do_sync+0x0/0x68) from [<c0086b50>] (sys_sync+0x14/0x1c)
>>>  r4 = BEA2DE54
>>> [<c0086b3c>] (sys_sync+0x0/0x1c) from [<c0031d60>] (ret_fast_syscall+0x0/0x2c)
>>> Code: e24b2024 e5832004 e50b3024 e50b1020 (e5812000)
>>>  Segmentation fault
>>> -------------------------------------------<エラーメッセージ ここまで>
>>>
>>>
>>>
>>> 上記状況のため、flatfsdに関しては、急遽、パーティション分割内容を変更し
>>> て回避しています。(正しくない回避策でしたら、これについても御教授いただ
>>> きたく、お願い申し上げます。)
>>>
>>> 以前は
>>>  bootloader
>>>  kernel
>>>  userland
>>>  userland-user
>>>  config
>>> という構成でしたが、1つパーティションを増やし(userland-config(64KB))
>>>  bootloader
>>>  kernel
>>>  userland
>>>  userland-config
>>>  userland-user
>>>  config
>>> という構成にしました。
>>>
>>>
>>>
>>> On Mon, 03 Mar 2008 02:35:48 +0900
>>> Yasushi SHOJI <email@hidden> wrote:
>>>
>>> yashi> At Sun, 02 Mar 2008 02:20:47 +0900,
>>> yashi> Fumihiro SHIMONO wrote:
>>> yashi> > 
>>> yashi> > yashi> > flatfsdは止めていますか??
>>> yashi> > 
>>> yashi> > 方法はどのようにすればよいでしょうか?(^^;)
>>> yashi> 
>>> yashi> /etc/init.d/flatfsdの実行権限を外すと良いかも。
>>> yashi> -- 
>>> yashi>           yashi
>>> yashi> _______________________________________________
>>> yashi> armadillo mailing list
>>> yashi> email@hidden
>>> yashi> http://lists.atmark-techno.com/mailman/listinfo/armadillo
>>>
>> _______________________________________________
>> armadillo mailing list
>> email@hidden
>> http://lists.atmark-techno.com/mailman/listinfo/armadillo
> _______________________________________________
> armadillo mailing list
> email@hidden
> http://lists.atmark-techno.com/mailman/listinfo/armadillo



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