WARNING - OLD ARCHIVES

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/
   
 
 
Xen 
 
Home Products Support Community News
 
   
 

xen-users

Re: [Xen-users] how to start X in the guest domain

To: xen-users@xxxxxxxxxxxxxxxxxxx
Subject: Re: [Xen-users] how to start X in the guest domain
From: "Edney Matias" <edneymatias@xxxxxxxxx>
Date: Wed, 10 Jan 2007 17:41:56 -0200
Delivery-date: Wed, 10 Jan 2007 11:41:46 -0800
Domainkey-signature: a=rsa-sha1; c=nofws; d=gmail.com; s=beta; h=received:message-id:date:from:to:subject:in-reply-to:mime-version:content-type:content-transfer-encoding:content-disposition:references; b=cmltOdQLCY6HGukSBp8ytbm3tll/qgn0AEd7KKd2hhf2bpHd6QDeE5lh3/aj/V6cq1M/dQV+9rxz7sIcBq7g4pyDKB6OBFo96jFYYvrXJ2khJbW7vPFiPJqrSsL1gN3tnWXBbIUhyjX7HlPM0jflM/SNHwuCWgSFekFlUrZDulM=
Envelope-to: www-data@xxxxxxxxxxxxxxxxxx
In-reply-to: <200701041428.05508.mark.williamson@xxxxxxxxxxxx>
List-help: <mailto:xen-users-request@lists.xensource.com?subject=help>
List-id: Xen user discussion <xen-users.lists.xensource.com>
List-post: <mailto:xen-users@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-users>, <mailto:xen-users-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-users>, <mailto:xen-users-request@lists.xensource.com?subject=unsubscribe>
References: <417df5ae0612152054q152afc80tf3c7d9b95e91a79f@xxxxxxxxxxxxxx> <459C63D3.5010501@xxxxxxxxxxxxxxxx> <459CCD20.6020709@xxxxxxxx> <200701041428.05508.mark.williamson@xxxxxxxxxxxx>
Sender: xen-users-bounces@xxxxxxxxxxxxxxxxxxx
2007/1/4, Mark Williamson <mark.williamson@xxxxxxxxxxxx>:
Assuming you guys are having problems with X in the domu...

3.0.3 doesn't have support for a graphical framebuffer.  The most
straightforward way to get graphical apps to run would be to connect to the
domain from dom0 using ssh -X so that graphical apps are displayed within
your dom0 desktop.  This is just treating the domUs as if they were separate
machines.

3.0.4 contains support for a graphical framebuffer so you can run X within the
guest directly.

I've written some instructions below for you guys, in case you want to try
this.  There might be mistakes, or omissions, so please please exercise
caution!  Feel free to ask on anything you're not sure about.

You'd need to upgrade to 3.0.4, edit Config.mk to change XENFB_TOOLS to =y and
do a make-install tools.  This'll give you the dom0 components for accessing
the framebuffer.

That's ok for me, I also changed config/Linux.mk file to get different
kernels to dom0 and my domUs.

Changed line from

KERNELS ?= linux-2.6-xen

to

KERNELS ?= linux-2.6-xen0 linux-2.6-xenU


The, compile a domU kernel with framebuffer support in (it's selectable in the
kernel menuconfig).

Ok too!

make dist
cd linux-2.6.33-xen0
make menuconfig
select framebuffer options.

cd ../linux-2.6.33-xenU
make menuconfig
select framebuffer options

cd ..
make dist-kernels

... If you want to be able to run virtual terminals on the
framebuffer, you'd also need to select the generic Linux options for the
framebuffer console.  I'd recommend you do this.
Configure the domain to run a getty on /dev/ttyS0, add the following line
to /etc/inittab, just after the lines starting the other gettys on your
system:
S0:2345:respawn:/sbin/mingetty ttyS0

add ttyS0 to /etc/securetty or /etc/securettys (whichever you have).  This is
to enable root login on ttyS0.

Why??? Virtual terminals? Sorry but i didn't get it! But anyway i
configure the way you said.

Since i'm trying to run a Ubuntu domU, i did

cd /etc/event.d
cp tty1 ttyS0
change lines accordingly to start a mingetty on ttyS0, so the file looks like

start on runlevel-2
start on runlevel-3
start on runlevel-4
start on runlevel-5
stop on shutdown
respawn /sbin/mingetty ttyS0

The /etc/securetty file already contains a line for ttyS0

Once this is done, change your config file for the domain to include the
following:

add "xencons=ttyS0 console=ttyS0 video=xenfb"

This redirects your console to go through ttyS0, where you're now running a
getty.

Now add the following to the domain's config file:
vfb=['type=sdl']
to get a local display of the domain's framebuffer

*or*

vfb=['type=vnc']
to export the display over VNC.  Change this to:
vfb=['type=vnc,vnclisten=ipaddr']
substituting the ip address of an interface, if you want the VNC server to
listen to connections on some network (default is to listen on localhost).

Now try booting the domain and see if it works :-)  For VNC, the display will
be exported on port 5900 + domain_id.

And here's is my domU1 config file

kernel= '/boot/vmlinuz-2.6-xenU'
ramdisk= '/boot/initrd-2.6-xenU.img'
xencons= 'tty0'
console= 'tty0'
video= 'xenfb'
name= 'domU1'
memory= 256
root= '/dev/sda1 ro'
disk= ['phy:/dev/vm/vm1.raiz,sda1,w','phy:/dev/vm/vm1.swap,sda2,w']
vif= ['bridge=br-xen']
sdl= 0
vnc= 1
vncdisplay = 1
vncconsole= 1

Some options I took from the example files at /etc/xen


If anything doesn't work and you want to get back into the guest in
the "normal" way, just remove the "xencons=ttyS0 console=ttyS0 video=xenfb"
and the vfb= line from its config file and you should be able to boot it
normally.  Otherwise, you could mount the guest's filesystem directly (after
shutting it down!!!!!) and fix config there.

Interesting to note that with or without these lines, the results are
the same, i get a domU running without graphics display. But ps ax at
dom0:

19749 ? Sl 0:00 /usr/lib/xen/bin/xen-vncfb --listen 127.0.0.1 --domid
12 --title domU1

Does it mean something? Is it already working? So, ps ax at domU1
shows nothing unusual, except no running gdm or X instance, nor even
Xvnc. My domU1 xorg.conf file i get from:

http://wiki.xensource.com/xenwiki/VirtualFramebuffer

It's almost the same file.

If I cat domU1 /var/log/Xorg.0.log file i get at the end

Fatal server error:
xf86OpenConsole: Cannot open /dev/tty0 (No such file or directory)

Should it be /dev/ttyS0 and how can I get X use /dev/ttyS0 instead of /dev/tty0?


Again, these instructions might include mistakes, or omissions, so please
please exercise caution!  Feel free to ask on anything you're not sure about.


Yeah, I'm trying a lot! :(

If you try it, please let us know how it works (or if it doesn't!)

No it didn't work. Or did, and I don't know how to connect to the domU.


Hope that helps you some.

Yes, it helped a lot! I was completely blinded before. But if you can
point where to go from here i would thank you a lot more! :D

Thank you!

--
Edney Matias da Silva
<edney@xxxxxxxxx>

Prognus Software Livre
http://www.prognus.com.br

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