Skip to main content
added 281 characters in body
Source Link
grawity_u1686
  • 465.3k
  • 66
  • 977
  • 1.1k

Because /usr holds most of the main OS, it can't really be mounted by the same OS (for example, you don't have /usr/bin/mount yet), instead it must be mounted by the initramfs during the early part of the boot process. While distributions used to support /usr being mounted late via regular fstab, that's no longer the case with Arch (or Debian, or Gentoo, or Fedora).

With regular Arch mkinitcpio, edit /etc/mkinitcpio.conf to enable the usr hook; then rebuild your initramfs using mkinitcpio -P. See article. (Though since you are using Btrfs, you might generally want to switch the initramfs entirely to 'systemd' instead.)

(Realistically, however, I think there's little point in keeping the rest of / in your SSD. Without /usr, the only thing that's left on your SSD is /var and /etc, both of which are tiny and little-used – on a desktop PC it seems like a waste to store /var on the fastest disk; basically all it has is logs. I would rather either invest in a larger NVMe SSD – by now you could almost get a 2TB for the same price – or shrink the Windows installation to make space for /usr.)

Keep in mind also that rsync -a does not copy all metadata; you additionally need -HAX to preserve hard links, file ACLs, and extended attributes. (For example, there are several "setuid-like" binaries that have file capabilities assigned to them.)

Because /usr holds most of the main OS, it can't really be mounted by the same OS (for example, you don't have /usr/bin/mount yet), instead it must be mounted by the initramfs during the early part of the boot process. While distributions used to support /usr being mounted late via regular fstab, that's no longer the case with Arch (or Debian, or Gentoo, or Fedora).

With regular Arch mkinitcpio, edit /etc/mkinitcpio.conf to enable the usr hook; then rebuild your initramfs using mkinitcpio -P. See article. (Though since you are using Btrfs, you might generally want to switch the initramfs entirely to 'systemd' instead.)

Keep in mind also that rsync -a does not copy all metadata; you additionally need -HAX to preserve hard links, file ACLs, and extended attributes. (For example, there are several "setuid-like" binaries that have file capabilities assigned to them.)

Because /usr holds most of the main OS, it can't really be mounted by the same OS (for example, you don't have /usr/bin/mount yet), instead it must be mounted by the initramfs during the early part of the boot process. While distributions used to support /usr being mounted late via regular fstab, that's no longer the case with Arch (or Debian, or Gentoo, or Fedora).

With regular Arch mkinitcpio, edit /etc/mkinitcpio.conf to enable the usr hook; then rebuild your initramfs using mkinitcpio -P. See article. (Though since you are using Btrfs, you might generally want to switch the initramfs entirely to 'systemd' instead.)

(Realistically, however, I think there's little point in keeping the rest of / in your SSD. Without /usr, the only thing that's left on your SSD is /var and /etc, both of which are tiny and little-used – on a desktop PC it seems like a waste to store /var on the fastest disk; basically all it has is logs. I would rather either invest in a larger NVMe SSD – by now you could almost get a 2TB for the same price – or shrink the Windows installation to make space for /usr.)

Keep in mind also that rsync -a does not copy all metadata; you additionally need -HAX to preserve hard links, file ACLs, and extended attributes. (For example, there are several "setuid-like" binaries that have file capabilities assigned to them.)

Source Link
grawity_u1686
  • 465.3k
  • 66
  • 977
  • 1.1k

Because /usr holds most of the main OS, it can't really be mounted by the same OS (for example, you don't have /usr/bin/mount yet), instead it must be mounted by the initramfs during the early part of the boot process. While distributions used to support /usr being mounted late via regular fstab, that's no longer the case with Arch (or Debian, or Gentoo, or Fedora).

With regular Arch mkinitcpio, edit /etc/mkinitcpio.conf to enable the usr hook; then rebuild your initramfs using mkinitcpio -P. See article. (Though since you are using Btrfs, you might generally want to switch the initramfs entirely to 'systemd' instead.)

Keep in mind also that rsync -a does not copy all metadata; you additionally need -HAX to preserve hard links, file ACLs, and extended attributes. (For example, there are several "setuid-like" binaries that have file capabilities assigned to them.)