0

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?

0

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.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.