You are not logged in.
Hi, I need extra space on my computer, I can't move my / to a new partition, so I decided to move my /usr to another partition, bigger.
I created a new partition, added it as /usr in fstab:
UUID="6fe8d0dd-cd0d-4091-8f1d-417da05e89aa" /usr ext4 rw 0 0
I followed the mkinitcpio wiki instructions and added "fsck" and "usr" as hooks in mkinitcpio.conf:
HOOKS=(base udev autodetect modconf block filesystems keyboard shutdown usr fsck)
But still, at boot, I got this "sbin/init" is missing, due to the fact that sbin is a link to /usr/sbin.
How can I fix this?
Last edited by x41lakazam (2020-08-01 19:08:23)
Offline
That fstab line doesn't mount anything to /usr
Offline
Sorry, I posted wrong line, fixed it.
I managed to make it work, but my original /usr directory is still here, if I delete it, I have this boot error.
Offline
Move anywhere you like and just create a symlink.
Offline
Move anywhere you like and just create a symlink.
This is terrible advice.
Offline
If a (filled?) /usr on the root partition is required, how exactly did you make what work??
Does the /usr partition contain an executable "bin/init" (did you maybe botch ownership/permissions when copying /usr?)
Please post your complete fstab and the output of "lsblk -f"
Offline
I created a new partition, added it as /usr in fstab:
UUID="6fe8d0dd-cd0d-4091-8f1d-417da05e89aa" /usr ext4 rw 0 0
Try without " ", you're not supposed to use quotes in fstab. Usually works anyway, yet there are cases where it doesn't.
The usr hook uses these two commands to determine /usr partition and mount options:
findmnt -snero source --tab-file="/new_root/etc/fstab" -T /usr
findmnt -snero options --tab-file="/new_root/etc/fstab" -T /usr
(/new_root/ being your regular / in the initramfs)
See if these commands work when feeding your fstab to it. If there's no output, it didn't find a device that matches the UUID. Try without -e (-snro instead of -snero) if that prints UUID there might be a typo in it.
In general, splitting / and /usr is not worth the trouble, unless you have a special usecase that mandates /usr be kept separate. Otherwise it's usually better to migrate the relevant parts of / (symlinks and /etc in particular) along with it.
If the usr hook is working there should be a message like `:: mounting '/dev/sdxy1' on /usr`.
If this message appears and yet it still doesn't work, the migration of files itself might be at fault.
Offline
Does the /usr partition contain an executable "bin/init"
This once happened to me - I had uninstalled systemd-sysvcompat. Systemd itself does not provide /bin/init.
Offline