新千葉 ガーベージ・コレクション

FPGA マガジンやインターフェースで書けなかったこと等をちょぼちょぼ書いてます。@ryos36

RAM Disk が足りない

RAMDISK incomplete write で落ちたとき、RAMDISK が足りないのかもしれない。

RAMDISK: gzip image found at block 0
mmc0: new high speed SD card at address 09c1
mmcblk0: mmc0:09c1 SD02G 1.83 GiB
mmcblk0: p1 p2
mmcblk0: p2 size 6995968 extends beyond EOD, truncated
usb 1-1: new high-speed USB device number 2 using ci_hdrc
RAMDISK: incomplete write (30800 != 32768)
write error
EXT4-fs (ram0): couldn't mount as ext3 due to feature incompatibilities
EXT4-fs (ram0): bad geometry: block count 32769 exceeds size of device (32768 blocks)
EXT2-fs (ram0): error: couldn't mount because of unsupported optional features (240)
EXT4-fs (ram0): couldn't mount as ext3 due to feature incompatibilities
EXT4-fs (ram0): bad geometry: block count 32769 exceeds size of device (32768 blocks)
EXT2-fs (ram0): error: couldn't mount because of unsupported optional features (240)
List of all partitions:
0100 32768 ram0 (driver?)
0101 32768 ram1 (driver?)
0102 32768 ram2 (driver?)
0103 32768 ram3 (driver?)
0104 32768 ram4 (driver?)
0105 32768 ram5 (driver?)
0106 32768 ram6 (driver?)
0107 32768 ram7 (driver?)
0108 32768 ram8 (driver?)
0109 32768 ram9 (driver?)
010a 32768 ram10 (driver?)
010b 32768 ram11 (driver?)
010c 32768 ram12 (driver?)
010d 32768 ram13 (driver?)
010e 32768 ram14 (driver?)
010f 32768 ram15 (driver?)
b300 1921024 mmcblk0 driver: mmcblk
b301 81920 mmcblk0p1 00065e7c-01
b302 1838080 mmcblk0p2 00065e7c-02
No filesystem could mount root, tried: ext3 ext4 ext2 vfat msdos
Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(1,0)
CPU0: stopping
CPU: 0 PID: 0 Comm: swapper/0 Not tainted 4.4.0-xilinx-00001-gcb108df-dirty #2
Hardware name: Xilinx Zynq Platform
[] (unwind_backtrace) from [] (show_stack+0x10/0x14)
[] (show_stack) from [] (dump_stack+0x80/0xcc)
[] (dump_stack) from [] (ipi_cpu_stop+0x3c/0x6c)
[] (ipi_cpu_stop) from [] (handle_IPI+0x5c/0x7c)
[] (handle_IPI) from [] (gic_handle_irq+0x78/0x94)
[] (gic_handle_irq) from [] (__irq_svc+0x54/0x90)
Exception stack(0xc071bf30 to 0xc071bf78)
bf20: 00000000 00000000 2f0c0000 ef7d9000
bf40: b70cd1d8 00000000 b8851aca 00000000 ef7d8618 00000001 00000000 00000000
bf60: 00000008 c071bf80 c038e938 c038e95c 60000113 ffffffff
[] (__irq_svc) from [] (cpuidle_enter_state+0xdc/0x1d4)
[] (cpuidle_enter_state) from [] (cpu_startup_entry+0x1a4/0x208)
[] (cpu_startup_entry) from [] (start_kernel+0x33c/0x39c)
[] (start_kernel) from [<0000807c>] (0x807c)

そんなときは boot 時の引数に ramdisk_size を追加すればよい

bootargs=console=ttyPS0,115200 root=/dev/ram rw rootwait earlyprintk ramdisk_size=65536

あるいは .config で CONFIG_BLK_DEV_RAM_SIZE を 32768 から増やせばよい。

CONFIG_BLK_DEV_RAM=y
CONFIG_BLK_DEV_RAM_COUNT=16
CONFIG_BLK_DEV_RAM_SIZE=32768