1

I'm stuck with this kernel panic.

What I want is to embed an initramfs into the kernel xip Image, but linux panic and tell me to pass a valid "root=" rootfs value. But WHY does Linux look for this input??

(The only reason I don't give any real .cpio is I can't build one because of errors like "can't find #include "). But the default initramfs should do the job no?

CONFIG_BLK_DEV_INITRD=y
CONFIG_INITRAMFS_SOURCE=""
CONFIG_BLOCK=y
CONFIG_BLK_DEV=y
# CONFIG_BLK_DEV_NULL_BLK is not set
# CONFIG_BLK_DEV_COW_COMMON is not set
CONFIG_BLK_DEV_LOOP=y
CONFIG_BLK_DEV_LOOP_MIN_COUNT=8
# CONFIG_BLK_DEV_CRYPTOLOOP is not set
CONFIG_BLK_DEV_RAM=y
CONFIG_BLK_DEV_RAM_COUNT=1
CONFIG_BLK_DEV_RAM_SIZE=4096

Linux shouldn't care about any "root=" args??? No??

full linux .config: http://pastebin.com/gWGCEeCw

full UART output: http://pastebin.com/Mk3c9su8

Thanks for reading this.

EDIT: This is what happen when I specifies "root=/dev/ram0" :

[    0.580000] brd: module loaded
[    0.630000] loop: module loaded
[    0.650000] F2FS-fs (ram0): Magic Mismatch, valid(0xf2f52010) - read(0x0)
[    0.650000] F2FS-fs (ram0): Can't find valid F2FS filesystem in 1th superblock
[    0.650000] F2FS-fs (ram0): Magic Mismatch, valid(0xf2f52010) - read(0x0)
[    0.670000] F2FS-fs (ram0): Can't find valid F2FS filesystem in 2th superblock
[    0.680000] F2FS-fs (ram0): Magic Mismatch, valid(0xf2f52010) - read(0x0)
[    0.680000] F2FS-fs (ram0): Can't find valid F2FS filesystem in 1th superblock
[    0.690000] F2FS-fs (ram0): Magic Mismatch, valid(0xf2f52010) - read(0x0)
[    0.690000] F2FS-fs (ram0): Can't find valid F2FS filesystem in 2th superblock
[    0.700000] List of all partitions:
[    0.700000] 0100            4096 ram0 [    0.710000]  (driver?)
[    0.710000] No filesystem could mount root, tried: [    0.720000]  f2fs
[    0.720000] 
[    0.720000] Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(1,0)
[    0.720000] ---[ end Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(1,0)
[    1.520000] random: fast init done

I'm not sure to understand the implication of "No filesystem could mount root", of course YOU (Linux) need to create it!!! What's happening?

1 Answer 1

-1

The problem was double:

  • I don't know why, but the default .cpio wasn't working.

  • The "stm32 minimal blablabla" cpio I found on the net wasn't working.

I tried to run an entire system build with buildroot, that works out-of-the-box, and try to use there rootfs.cpio, and it works!!

If I found the reason, I'll post it here.

For now I investigate, because for me the external RAM of this board start at 0xD0000000, but buildroot make a system which start at 0x90000000. Both system are working... don't know how lol.

0

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .