How to solve "VFS: Cannot open root device "mmcblk0p1" or unknown-block(179,1)"

It’s a custom board, jetson-tx2i, jetpack 32.7.4.
The device can’t boot (direct boot)with
EXT4-fs (mmcblk0p1): VFS: Found ext4 filesystem with invalid superblock checksum. Run e2fsck?
I have tried boot from u-boot with bootargs
root=/dev/mmcblk0p1 rw rootwait rootfstype=ext4 console=ttyS0,115200n8 fbcon=map:0 biosdevname=0 net.ifnames=0 fsck.mode=skip isolcpus= init=/bin/sh
This will also meet
VFS: Cannot open root device "mmcblk0p1" or unknown-block(179,1): error -74
I can view the contents of /dev/mmcblk0p1 (app partition) under u-boot by ext4ls command.
It’s probably file system corruption, is there any way to recover without reflashing, like skipping some checks and running e2fsck to repair?
There are some logs, please give me some advice.
direct boot log.txt (23.0 KB)
u-boot boot log.txt (54.2 KB)

If you don’t want to reflash, then maybe mount from other kind of boot medium first and use that to run e2fsck on mmcblk0p1.

I see the usbboot function in u-boot, it seems to be the only way, I will try it, thanks.

Hi WayneWWW, I changed the boot order following Developer Guide.


But, it seems can’t use USB in u-boot, and jump to emmc.

I also found your previous answer, how can I boot with USB rootfs correctly?

Try other kind of medium. USB won’t work here.

Thanks for your suggestions. But I’ve got another question.
Although it can’t boot directly from USB.
For my case, can I copy the primary partition to a USB device, then set up to mount it as the app partition in bootargs? Just like

  1. Create primary partition and copy rootfs into it, on a usb device.
  2. Enter jetson-tx2 device u-boot.
  3. setenv bootargs root=UUID= rw rootwait rootfstype=ext4 console=ttyS0,115200n8.

Is that possible to work? Because from the current log, emmc seems to be booting with no problem, it just can’t mount /dev/mmcblk0p1.

Yes, that is possible.

It does work. Thanks.

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.