ARCH-CHROOT(8)

πŸ’… ARCH-CHROOT(8) β€” the group-chat edition πŸŽ€

okay so bestie, gather round, because we're talking about arch-chroot from the ARCH-CHROOT(8) section of the manual, and honestly? it's a slay. it's the enhanced chroot command and it's literally about to make your life so much easier 🫢


✨ SYNOPSIS ✨

arch-chroot [options] chroot-dir [command] [arguments...]

like, that's the whole vibe check. options, then the chroot-dir, then optionally a command and its arguments... πŸ’–


🌸 DESCRIPTION 🌸

so arch-chroot is a little wrapper around chroot(1) that makes sure all the important functionality is actually there, no cap. think of it as chroot but with its life together ✨ it handles mounting /dev/, /proc and the other API filesystems for you, and it exposes resolv.conf(5) to the chroot so the resolver works the way you'd expect. iconic behaviour, honestly.

and if you don't specify a command? no worries, arch-chroot will just launch /bin/bash for you. default main character energy πŸ’…

πŸ“Œ note, and this one's important: the target chroot-dir should lowkey be a mountpoint. like, actually be one. this is what ensures tools such as pacman(8) or findmnt(8) have an accurate hierarchy of the mounted filesystems within the chroot. if your chroot target is not a mountpoint, you can bind mount the directory on itself to make it one, i.e.:
mount --bind /your/chroot /your/chroot

boom. mountpoint acquired. you're welcome 🧚


πŸ¦‹ OPTIONS πŸ¦‹

  • -S β€” run in systemd mode ✨ this spawns a transient systemd service via systemd-run(1) and delegates namespace/chroot management to the service manager. very "let the manager handle it," very delegating queen πŸ‘‘
  • -N β€” run in unshare mode 🌈 this uses unshare(1) to create a new mount and user namespace, which means regular users can create new system installations. yes, regular users. we love accessibility πŸ’œ
  • -u <user>[:group] β€” specify the non-root user, plus an optional group, to use. the syntax is <user>[:group], colon and all, don't forget it πŸŽ€
  • -r β€” do not change the resolv.conf within the chroot πŸ™ˆ which means the resolver might not work in the chroot β€” and like, that could genuinely be the required state, so it's not a bug, it's a feature, periodt.
  • -h β€” output syntax and command line options. the classic "help me help you" flag πŸ’€

πŸ‘‘ SEE ALSO πŸ‘‘

  • pacman(8) β€” bestie, go read it, it's right there πŸ“

and that's the whole page, fr fr πŸ’– this little masterpiece is from the ARCH-CHROOT(8) manual, dated 10/11/2026 β€” so if you see that date on the footer, that's just the source/version flexing on you. mwah, go chroot something gorgeous πŸŒŸπŸ’…

πŸ“¦ where this page comes from