arch-install-scripts
arch-install-scripts copied to clipboard
udev runtime directory unavailable in chroot
Hi! I maintain a custom Arch installation script and noticed that it is broken since the release of v25 (8a5613392686a0f07d8664eecb78895b12bfb3e7).
Specifically, my script uses lsblk to get the PARTUUID of a block device like so:
lsblk -n -o PARTUUID /dev/nvme0n1p1
This fails inside an arch-chroot since lsblk needs the udev runtime data in /run/udev, which is unavailable because /run is just an empty tmpfs.
#15 mentions adding --make-private to the bind mount as an alternative to making /run a tmpfs. Is this a change you would consider, or should I rather stop using lsblk and get my UUIDs from /dev/disk/by-partuuid instead?
Hmm, is there any downsides to --make-private? I struggle to get a good overview of the pros/conf of that flag versus making /run a tmpfs
If using mount --make-private is not desired, libblkid doesn't involve udev thus a complete switch to blkid would solve this as well. (Although I haven't seen any downsides using the former method.)