]> git.karo-electronics.de Git - karo-tx-linux.git/commitdiff
kvm tools: Set active console before running /bin/sh
authorSasha Levin <levinsasha928@gmail.com>
Tue, 27 Sep 2011 13:03:47 +0000 (16:03 +0300)
committerPekka Enberg <penberg@kernel.org>
Tue, 27 Sep 2011 14:12:47 +0000 (17:12 +0300)
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>
tools/kvm/guest/init.c

index 837acfb18c2876a224cc079249145a302147f15e..4fc6aaf021945a75f333de6c309f359ebf7fc7cd 100644 (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");