I just did a fresh install of archlinux based off the most recent
install cd. I've setup an encrypted root filesystem (btrfs) with
separate subvolumes for /, /usr, /var, /home and /etc. All subvolumes
are entered with the correct mount options (subvol=...) in
/etc/fstab. In particular, the lines for the / and /usr mounts look
identical, except for different arguments to the 'subvol' mount option.
In my /etc/mkinitcpio.conf, I have the following HOOKS line:
HOOKS="base udev autodetect block keymap keyboard encrypt filesystems
fsck usr shutdown"
At bootup, right after entering my luks password, I get the following
"Error: Root device mounted successfully, but /sbin/init does not exist.
Bailing out, you are on your own. Good Luck"
Checking in the emergency shell, it turns out that the root subvolume
has been mounted correctly but usr has not. Interchanging the order of the
'filesystems', 'fsck' and 'usr' hooks (I've tried all six possibilities)
doesn't resolve this problem.
Could this be related to the recent symlinking of /sbin to /usr/bin?
My other explanations would be the 'subvol' mount option or the missing
fsck.btrfs tool, but in the latter case the root subvolume shouldn't
have been mounted as well.
Thanks in advance,
I think it's best to limit the discussion to one place [at a time] - you've already posted on the ML https://mailman.archlinux.org/pipermail … 33719.html , so maybe let's focus on the ML.
yes, I've already posted it on the mailinglist but thought that my post didn't made it through the moderation process. Sorry for that. Also, I've setup my mailinglist account not to receive any messages, so now I don't know how to reply to my mailinglist post. Could you please forward the following answer to the list?
In the meantime, I've solved the problem: It's my separate /etc partition (or subvolume, to be more correct). The 'usr' hook in the initramfs can't mount /usr because it doesn't find a valid fstab (residing on the /etc subvolume which is not mounted yet).
I'm very new to btrfs and now, after some reading, moved to a way cleaner and more elegant solution: Just made /etc, /home, /usr etc. subvolumes of my root subvolume. This way they are automatically available as soon as root is mounted, there's only one single line needed in fstab and the 'usr' hook can be removed from the initramfs.