at_takuya.sasaki
2015年11月30日 1時41分
意外に原因に気が付くまで時間がかかった事例をご紹介します。 Armadillo-840/810でSDブートをしているときに、以下のようにカーネルパニックを起こして起動できないことがありました。
mmcblk0: mmc0:e624 SU08G 7.40 GiB (ro) mmcblk0: p1 p2 VFS: Cannot open root device "mmcblk0p2" or unknown-block(179,2): error -30 Please append a correct "root=" boot option; here are the available partitions: 1f00 256 mtdblock0 (driver?) 1f01 256 mtdblock1 (driver?) 1f02 256 mtdblock2 (driver?) 1f03 4096 mtdblock3 (driver?) 1f04 4096 mtdblock4 (driver?) 1f05 122112 mtdblock5 (driver?) b300 7761920 mmcblk0 driver: mmcblk b301 131072 mmcblk0p1 00000000-0000-0000-0000-000000000000 b302 3799040 mmcblk0p2 00000000-0000-0000-0000-000000000000 Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(179,2) Backtrace: [<80011108>] (dump_backtrace+0x0/0x10c) from [<803f1508>] (dump_stack+0x18/0x1c) r6:00008000 r5:93935000 r4:93935000 r3:00000001 [<803f14f0>] (dump_stack+0x0/0x1c) from [<803f17fc>] (panic+0x84/0x1c4) [<803f1778>] (panic+0x0/0x1c4) from [<8052fdbc>] (mount_block_root+0x240/0x288) r3:8056ff40 r2:93837e38 r1:93837f38 r0:804bfd32 r7:8054ebf0 [<8052fb7c>] (mount_block_root+0x0/0x288) from [<8052ff44>] (mount_root+0x58/0x68) [<8052feec>] (mount_root+0x0/0x68) from [<805300bc>] (prepare_namespace+0x168/0x1bc) r5:8054ec01 r4:80590ba0 [<8052ff54>] (prepare_namespace+0x0/0x1bc) from [<8052f9e4>] (kernel_init+0x1c4/0x204) r5:8054ebe8 r4:00000007 [<8052f820>] (kernel_init+0x0/0x204) from [<80020e88>] (do_exit+0x0/0x75c) rebooted by watchdog timedout.
原因は単純で、SDカードの横にある物理的な[書き込み禁止のロック]が有効になっているためでした…
microSD用のアダプタなどは、結構ロックがゆるくなってしまい、SDスロットに差すときに、意図せずにロックが有効になることがあるので注意しましょう。。