Raspbian is installed on a btrfs partition, and as such, has an initramfs. After a kernel update, I forgot to regen that initramfs. As it wasn't the first time it happened, I removed the SD card, unpacked the old archive, dropped the new modules in place and repacked the archive. However, this time it ends with a kernel panic: not syncing: VFS: Unable to mount root fs on unknown-block(179,2). The partition mounts fine on my desktop, so I know it is not corrupted. I even recently ran a scrub on it, and no problems were found. Where's the problem and how can I solve it?

  • Your root filesystem on your SDCard needs to be filesystem checked (fsck). To do that you will need to boot another Linux system, insert the SDCard in a USB reader and run sudo fsck -f -y /dev/sdb2 (assuming it appears as /dev/sdb when you plug in the USB reader). Then return it to your RPi and it should boot OK.
    – Dougie
    Aug 6, 2021 at 15:56

2 Answers 2


I figured out what happened. The initramfs uses symlinks for /bin, /lib and /sbin. Something happened, and those links disappeared. I have recreated them, and now I should be good to go

  • If this is your "accepted" answer, please select it as such when you can. This will prevent it from becoming a "zombie question", being discarded to the ever-growing heap of un-answered questions, and being resurrected periodically to haunt us.
    – Seamus
    Aug 6, 2021 at 22:10

Raspberry Pi OS does not support btrfs.

Presumably you installed btrfs support into initramfs so just repeat what you did before, although it is unclear that this offers any advantage over the default ext4.

  • How can I repeat what I did before if I can't boot?
    – adamski234
    Aug 6, 2021 at 12:35

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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