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 <levinsasha928@gmail.com>
Signed-off-by: Pekka Enberg <penberg@kernel.org>
This commit is contained in:
Sasha Levin
2011-09-27 16:03:47 +03:00
committed by Will Deacon
parent 571cf4ba4c
commit c8de9b2a1f
+7 -1
View File
@@ -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");