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

[Xen-devel] Legacy tty1 support in pvops kernels


  • To: xen-devel@xxxxxxxxxxxxxxxxxxx
  • From: Major Hayden <major@xxxxxxxx>
  • Date: Tue, 11 May 2010 16:16:05 -0500
  • Delivery-date: Wed, 02 Jun 2010 10:28:18 -0700
  • List-id: Xen developer discussion <xen-devel.lists.xensource.com>

Hey there,

At work, 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 
address

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
major@xxxxxxxx


_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel


 


Rackspace

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