This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
Home Products Support Community News


[Xen-devel] Legacy tty1 support in pvops kernels

To: xen-devel@xxxxxxxxxxxxxxxxxxx
Subject: [Xen-devel] Legacy tty1 support in pvops kernels
From: Major Hayden <major.hayden@xxxxxxxxxxxxx>
Date: Tue, 11 May 2010 19:42:06 -0500
Delivery-date: Tue, 11 May 2010 17:43:03 -0700
Envelope-to: www-data@xxxxxxxxxxxxxxxxxxx
List-help: <mailto:xen-devel-request@lists.xensource.com?subject=help>
List-id: Xen developer discussion <xen-devel.lists.xensource.com>
List-post: <mailto:xen-devel@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=unsubscribe>
Sender: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx
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

<Prev in Thread] Current Thread [Next in Thread>