1

I'm getting the dreaded "target filesystem doesn't have requested /sbin/init", am getting dropped into initramfs busybox prompt, and am unable to boot. This is after upgrading to the latest 4.9.0-3 kernel on Debian. It was working perfectly before.

Approximately, it says:

Scanning for BtrFs filesystem
usage: mount [-r] [-w] [-o options] [-t type f] [-i] [-n] device directory
target filesystem doesn't have requested /sbin/init
mount: no such file or directory

I tried fsck on the disk; it is fine. (I also tried fsck -f to make sure. No go.)

I tried manually setting root=/dev/sda4 during boot in the grub menu. Again, didn't help.

I can successfully mount /dev/sda4 from a live CD:

$ mount /dev/sda4 /mnt
$ mount --bind /proc/ /mnt/proc
$ mount --bind /dev/ /mnt/dev
$ mount --bind /sys/ /mnt/sys

and chroot into it:

$ chroot /mnt

And I can see that /sbin/init does indeed exist:

# ls /sbin/init
/sbin/init

I can even run it:

# /sbin/init
Usage: init {-e VAR[=VAL] | [-t SECONDS] {0|1|2|3|4|5|6|S|s|Q|q|A|a|B|b|C|c|U|u}}

Within the chroot, I tried running "update-initramfs" and "update-grub". Both ran successfully, but neither helped.

It seems as if "update-initramfs" is generating a bogus initrd that won't mount the root system properly.

It is running initramfs=0.120+deb8u3 and sysvinit-core=2.88dsf-59.9.

It is not running cryptofs nor btrfs. It is, however, running on a Mac, if that matters.

4
  • could it be udev? unix.stackexchange.com/questions/305343/… Commented Jul 10, 2017 at 2:32
  • Not sure. udev=230-7~bpo8+2 which seems to work on my other computers. (Attempting to downgrade this via apt-get removes a whole bunch of stuff, so I left it.) Commented Jul 10, 2017 at 3:25
  • It is not about rebuilding it, but having it enabled on boot Commented Jul 10, 2017 at 11:51
  • 1
    It is enabled on boot. Otherwise, I would not have been able to mount /dev/sda4 by hand from the initramfs prompt. In fact, as far as I can tell, the entire /dev is being populated in full and correctly. It appears to be a problem in the /init script within the busybox environment. Still investigating... Commented Jul 10, 2017 at 13:38

2 Answers 2

3

It's hard to know exactly what's wrong in your situation, but this message in your output is suspicious:

usage: mount [-r] [-w] [-o options] [-t type f] [-i] [-n] device directory

It looks to me that it is not mounting your root filesystem and this error is the result of it trying.

Have a read of https://wiki.debian.org/InitramfsDebug to see how you can debug it further. The last section on "Saving debug information" might reveal enough to suggest what the problem might be.

1

I think there was a bug or something wrong with initramfs=0.120+deb8u3 (jessie-backports) because when I upgraded to initramfs=0.130 (stable), it boots. (My next step would have been to upgrade udev to stable, despite it removing a bunch of packages; thankfully, I didn't have to take that step.)

1
  • If you think there is a bug, you should report it. Commented Jul 10, 2017 at 14:56

You must log in to answer this question.

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