commit: d218502dd92b79e7920152d17843620d56d00756 Author: Thomas Deutschmann <whissi <AT> gentoo <DOT> org> AuthorDate: Tue Aug 6 15:34:53 2019 +0000 Commit: Thomas Deutschmann <whissi <AT> gentoo <DOT> org> CommitDate: Tue Aug 6 20:40:32 2019 +0000 URL: https://gitweb.gentoo.org/proj/genkernel.git/commit/?id=d218502d
initrd.scripts: run_shell(): Use LOCK file We cannot write PID because we use exec and don't return before the shell we just spawned was closed. Signed-off-by: Thomas Deutschmann <whissi <AT> gentoo.org> defaults/initrd.defaults | 2 +- defaults/initrd.scripts | 6 ++++-- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/defaults/initrd.defaults b/defaults/initrd.defaults index 89d13ac..fdf948e 100644 --- a/defaults/initrd.defaults +++ b/defaults/initrd.defaults @@ -81,7 +81,7 @@ GK_NET_TIMEOUT_DAD=10 GK_NET_TIMEOUT_DECONFIGURATION=10 GK_NET_TIMEOUT_DHCP=10 GK_NET_TIMEOUT_INTERFACE=10 -GK_SHELL_LOCKFILE='/var/run/rescueshell.pid' +GK_SHELL_LOCKFILE='/tmp/rescueshell.lock' GK_SSHD_LOCKFILE='/tmp/remote-rescueshell.lock' GK_SSHD_PIDFILE='/var/run/dropbear.pid' GK_SSHD_PORT=22 diff --git a/defaults/initrd.scripts b/defaults/initrd.scripts index 994f0f0..2452f5f 100644 --- a/defaults/initrd.scripts +++ b/defaults/initrd.scripts @@ -818,6 +818,8 @@ check_loop() { run_shell() { [ -x /bin/sh ] && SH=/bin/sh || SH=/bin/ash + touch "${GK_SHELL_LOCKFILE}" + export PS1='rescueshell \w \# ' echo @@ -838,9 +840,9 @@ run_shell() { ${SH} --login fi - echo + rm "${GK_SHELL_LOCKFILE}" - :> "${GK_SHELL_LOCKFILE}" + echo } fs_type_in_use() {