From 802d8270abc048c48b01b730d9c12e79cd63f24c Mon Sep 17 00:00:00 2001 From: Sasha Levin Date: Tue, 27 Sep 2011 16:03:47 +0300 Subject: [PATCH] kvm tools: Set active console before running /bin/sh This patch sets active console to the serial console before running the shell. Doing so fixes two issues: * Fix job control. * Set all env vars. The user visible issues are less warnings (no more of this: sh: cannot set terminal process group (-1): Inappropriate ioctl for device sh: no job control in this shell) A working 'top', and a working ctrl-c. Signed-off-by: Sasha Levin Signed-off-by: Pekka Enberg --- tools/kvm/guest/init.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/tools/kvm/guest/init.c b/tools/kvm/guest/init.c index 837acfb18c28..4fc6aaf02194 100644 --- a/tools/kvm/guest/init.c +++ b/tools/kvm/guest/init.c @@ -11,7 +11,7 @@ static int run_process(char *filename) { char *new_argv[] = { filename, NULL }; - char *new_env[] = { NULL }; + char *new_env[] = { "TERM=linux" }; return execve(filename, new_argv, new_env); } @@ -30,6 +30,12 @@ int main(int argc, char *argv[]) do_mounts(); + /* get session leader */ + setsid(); + + /* set controlling terminal */ + ioctl (0, TIOCSCTTY, 1); + puts("Starting '/bin/sh'..."); run_process("/bin/sh"); -- 2.39.5