[arch-general] interference of the recent /usr symlinking with the mkinitcpio 'usr' hook?
Hello, 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 message: "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. Any ideas? Thanks in advance, Simon
On Mon, Jun 24, 2013 at 5:38 PM, Simon Campese <arch-general@campese.de> wrote:
Hello,
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 message:
"Error: Root device mounted successfully, but /sbin/init does not exist. Bailing out, you are on your own. Good Luck"
Of course. /sbin is a symlink now. You'll have to adjust your disk setup and unite /usr and / for /sbin/init -> /usr/bin/systemd to be a valid path. [0] cheers! mar77i [0] https://www.archlinux.org/news/binaries-move-to-usrbin-requiring-update-inte...
On Tue, Jun 25, 2013 at 09:08:17AM +0200, Martti Kühne wrote:
On Mon, Jun 24, 2013 at 5:38 PM, Simon Campese <arch-general@campese.de> wrote:
Hello,
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 message:
"Error: Root device mounted successfully, but /sbin/init does not exist. Bailing out, you are on your own. Good Luck"
Of course. /sbin is a symlink now. You'll have to adjust your disk setup and unite /usr and / for /sbin/init -> /usr/bin/systemd to be a valid path. [0]
This is simply an issue with mounting your /usr partition correctly. I don't have experience with using a separate /usr, but mounting it in the initramfs, you should have no issues finding /usr/bin/init (what /sbin/init points to). You don't have to merge your / and /usr partitions. -- William Giokas | KaiSforza | http://kaictl.net/ GnuPG Key: 0x73CD09CF Fingerprint: F73F 50EF BBE2 9846 8306 E6B8 6902 06D8 73CD 09CF
"Error: Root device mounted successfully, but /sbin/init does not exist. Bailing out, you are on your own. Good Luck"
Of course. /sbin is a symlink now. You'll have to adjust your disk setup and unite /usr and / for /sbin/init -> /usr/bin/systemd to be a valid path. [0]
Okay, wait a minute ... apparently there's a usr hook in the mkinitcpio which can do the /usr mounting for you. [0] Thanks kaictl. [0] https://wiki.archlinux.org/index.php/Mkinitcpio#Common_hooks
On Tue, Jun 25, 2013 at 9:42 AM, Martti Kühne <mysatyre@gmail.com> wrote:
"Error: Root device mounted successfully, but /sbin/init does not exist. Bailing out, you are on your own. Good Luck"
Of course. /sbin is a symlink now. You'll have to adjust your disk setup and unite /usr and / for /sbin/init -> /usr/bin/systemd to be a valid path. [0]
Okay, wait a minute ... apparently there's a usr hook in the mkinitcpio which can do the /usr mounting for you. [0] Thanks kaictl.
[0] https://wiki.archlinux.org/index.php/Mkinitcpio#Common_hooks
Reposted from https://bbs.archlinux.org/viewtopic.php?pid=1292093#p1292093 Simon Campese wrote: Hi Karol, 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. =============== I guess you can post on the forums if you want to continue the discussion.
Am 25.06.2013 12:34, schrieb Karol Blazewicz:
In the meantime, I've solved the problem: It's my separate /etc partition (or subvolume, to be more correct).
Separating the / and the /etc volume is inherently impossible and will never be supported. Don't do it.
participants (5)
-
Karol Blazewicz
-
Martti Kühne
-
Simon Campese
-
Thomas Bächler
-
William Giokas