void-linux/void-runit

Incomplete PATH in scripts for the three stages

Closed this issue · 6 comments

/etc/runit/{1,2,3} set PATH as /usr/bin:/usr/sbin. However, in a fresh installed voidlinux on aarch64 machines via rootfs, many binaries locates at /sbin including mount, and this results failing to boot. The complete value should be:

/usr/local/bin:/usr/bin:/bin:/usr/local/sbin:/usr/sbin:/sbin

/sbin should just be a symlink to /usr/sbin.

Weird. I checked both the rootfs tarballs and the fresh system, and found that /bin, /sbin, and /usr/sbin all link to /usr/bin. However, I did see init complained it could not find mount and kernel ran into the single-user mode.

in a fresh installed voidlinux on aarch64 machines via rootfs

how did you install this? was it from a non-aarch64 computer?

I used a debian image to boot, and chroot to the destination. The image sets PATH to /sbin:/usr/sbin:/bin:/usr/bin, would this matter?

it shouldn't matter what debian had if you're booting void.

two possibilities I can think of:

  • the symlinks are created during package configuration and that somehow didn't happen
  • something weird happened during extraction of the rootfs tarball (perhaps it was extracted on a filesystem that doesn't support symlinks?)

Not sure. I will try to change PATH back and see if I will experience the same issue.