diff options
-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 ;; |