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.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.