[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Xen-devel] Legacy tty1 support in pvops kernels

Hey there,

We have quite a few legacy environments that already have pre-built domU images 
that depend on /dev/sdX for block devices and /dev/tty1 for console access.  
The /dev/xvdX -> /dev/sdX change is trivial:

diff --git a/drivers/block/xen-blkfront.c b/drivers/block/xen-blkfront.c
index b8578bb..9c8aaa4 100644
--- a/drivers/block/xen-blkfront.c
+++ b/drivers/block/xen-blkfront.c
@@ -117,7 +117,7 @@ static DEFINE_SPINLOCK(blkif_io_lock);
#define VDEV_IS_EXTENDED(dev) ((dev)&(EXTENDED))
#define BLKIF_MINOR_EXT(dev) ((dev)&(~EXTENDED))

-#define DEV_NAME       "xvd"   /* name in /dev */
+#define DEV_NAME       "sd"    /* name in /dev */

static int get_id_from_freelist(struct blkfront_info *info)

However, I'm struggling with the hvc0 -> tty1 change.  In short, I'm looking to 
bring up a domU that is pre-configured to use tty1 as its console.  I 
understand that the virtual terminal drivers and hvc drivers are different and 
that the OS will see them differently as it boots.  I made these adjustments in 
the hopes that something would work:

diff --git a/drivers/char/Kconfig b/drivers/char/Kconfig
index 6aad99e..cd2888d 100644
--- a/drivers/char/Kconfig
+++ b/drivers/char/Kconfig
@@ -5,7 +5,7 @@
menu "Character devices"

config VT
-       bool "Virtual terminal" if EMBEDDED
+       bool "Virtual terminal"
      depends on !S390
      select INPUT
      default y

diff --git a/drivers/char/hvc_console.c b/drivers/char/hvc_console.c
index a632f25..eff0900 100644
--- a/drivers/char/hvc_console.c
+++ b/drivers/char/hvc_console.c
@@ -44,7 +44,7 @@
#include "hvc_console.h"

#define HVC_MAJOR      229
-#define HVC_MINOR      0
+#define HVC_MINOR      1

* Wait this long per iteration while trying to push buffered data to the
@@ -848,7 +848,7 @@ static int hvc_init(void)

      drv->owner = THIS_MODULE;
      drv->driver_name = "hvc";
-       drv->name = "hvc";
+       drv->name = "tty";
      drv->major = HVC_MAJOR;
      drv->minor_start = HVC_MINOR;
      drv->type = TTY_DRIVER_TYPE_SYSTEM;

I end up with tty's when the domU boots, but when the domU boots, I see several 
of these messages in the console:

/scripts/init-top/console_setup: 70: cannot create /dev/tty1: No such device or 

However, the device is present when the domU finishes booting:

pvops:~# ls -al /dev/tty1
crw-rw---- 1 root root 229, 2 May 11 17:48 /dev/tty1
pvops:~# file /dev/tty1
/dev/tty1: character special

Has anyone tried this before?  Any suggestions would be greatly appreciated.

Major Hayden

Xen-devel mailing list



Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.