diff options
author | Xi Ruoyao <xry111@xry111.site> | 2023-07-22 23:40:32 +0800 |
---|---|---|
committer | Xi Ruoyao <xry111@xry111.site> | 2023-07-22 23:40:32 +0800 |
commit | 8435a70be4cc12621cfd3b8f500df85f8d79b2fd (patch) | |
tree | 47ea2172e50cd92df5ecefd9acf35952b12b4862 /bootscripts | |
parent | 0d824c52807e3060f19e5ba5c7408905cd3aa4c2 (diff) |
bootscripts: mountvirtfs: Create essential symlinks in /dev targeting /proc
These were handled by Eudev, but systemd-udevd stopped to creating them
since 2020.
Diffstat (limited to 'bootscripts')
-rw-r--r-- | bootscripts/ChangeLog | 4 | ||||
-rw-r--r-- | bootscripts/lfs/init.d/mountvirtfs | 26 |
2 files changed, 29 insertions, 1 deletions
diff --git a/bootscripts/ChangeLog b/bootscripts/ChangeLog index 0c1d33f6d..efff97b83 100644 --- a/bootscripts/ChangeLog +++ b/bootscripts/ChangeLog @@ -1,3 +1,7 @@ +2023-07-22 Xi Ruoyao <xry111@xry111.site> + * In mountvirtfs, create symlinks /dev/{fd,std{in,out,err}} and + /dev/core (optional). + 2023-07-15 Xi Ruoyao <xry111@xry111.site> * Use /bin/udevadm instead of /sbin/udevadm. diff --git a/bootscripts/lfs/init.d/mountvirtfs b/bootscripts/lfs/init.d/mountvirtfs index 21d98a05d..bbf30cf90 100644 --- a/bootscripts/lfs/init.d/mountvirtfs +++ b/bootscripts/lfs/init.d/mountvirtfs @@ -7,8 +7,9 @@ # Authors : Gerard Beekmans - gerard@linuxfromscratch.org # DJ Lucas - dj@linuxfromscratch.org # Update : Bruce Dubbs - bdubbs@linuxfromscratch.org +# Xi Ruoyao - xry111@xry111.site # -# Version : LFS 7.0 +# Version : LFS 12.0 # ######################################################################## @@ -64,6 +65,29 @@ case "${1}" in (exit ${failed}) evaluate_retval + if [ "${failed}" = 1 ]; then + exit 1 + fi + + log_info_msg "Create symlinks in /dev targeting /proc: ${INFO}/dev/stdin" + ln -sf /proc/self/fd/0 /dev/stdin || failed=1 + + log_info_msg2 " ${INFO}/dev/stdout" + ln -sf /proc/self/fd/1 /dev/stdout || failed=1 + + log_info_msg2 " ${INFO}/dev/stderr" + ln -sf /proc/self/fd/2 /dev/stderr || failed=1 + + log_info_msg2 " ${INFO}/dev/fd" + ln -sf /proc/self/fd /dev/fd || failed=1 + + if [ -e /proc/kcore ]; then + log_info_msg2 " ${INFO}/dev/core" + ln -sf /proc/kcore /dev/core || failed=1 + fi + + (exit ${failed}) + evaluate_retval exit $failed ;; |