All of lore.kernel.org
 help / color / mirror / Atom feed
* Porting of Guest OS
@ 2004-12-30  0:12 Amitabh Tamhane
  2004-12-30  2:58 ` Fajar A. Nugraha
  0 siblings, 1 reply; 16+ messages in thread
From: Amitabh Tamhane @ 2004-12-30  0:12 UTC (permalink / raw)
  To: xen-devel

Hi,
I am trying to boot a guest OS (SuSE 2.6 kernel) on Xen. But, it is giving 
me boot errors.

The steps I followed:
1) Created a raw diskFile with ext3 filesystem
2) Copied /{root,etc,dev,var,usr,bin,sbin,lib} from my SuSE 2.6 installation 
on to the diskFile
3) Created a config file as:
Important parameters are as follows:
kernel = "/boot/vmlinuz-2.4.27-xenU"
disk = ['file:FullPathToTheDiskFile,sda1,w']
root = "/dev/sda1"
(other parameters skipped)

4) Booted-up the new Domain

It is giving some-errors like /lib/modules/2.6.9-xenU/modules.dep not found. 
And boots up in the

Can anyone tell me what exact changes do i need to make to the SuSE 2.6 
kernel to be able to boot it as a new Domain?

I understand that the machine dependent code has to be changed with  new 
code provided by Xen....but I could not find a place where it 
says........."These are the exacts steps you need to follow for porting of 
Guest OS in a Domain"

Thanks in advance!

Amitabh P. Tamhane




-------------------------------------------------------
The SF.Net email is sponsored by: Beat the post-holiday blues
Get a FREE limited edition SourceForge.net t-shirt from ThinkGeek.
It's fun and FREE -- well, almost....http://www.thinkgeek.com/sfshirt

^ permalink raw reply	[flat|nested] 16+ messages in thread

* Porting of Guest OS
@ 2004-12-30  0:13 Amitabh Tamhane
  0 siblings, 0 replies; 16+ messages in thread
From: Amitabh Tamhane @ 2004-12-30  0:13 UTC (permalink / raw)
  To: xen-devel

Hi,
I am trying to boot a guest OS (SuSE 2.6 kernel) on Xen. But, it is giving 
me boot errors.

The steps I followed:
1) Created a raw diskFile with ext3 filesystem
2) Copied /{root,etc,dev,var,usr,bin,sbin,lib} from my SuSE 2.6 installation 
on to the diskFile
3) Created a config file as:
Important parameters are as follows:
kernel = "/boot/vmlinuz-2.4.27-xenU"
disk = ['file:FullPathToTheDiskFile,sda1,w']
root = "/dev/sda1"
(other parameters skipped)

4) Booted-up the new Domain

It is giving some-errors like /lib/modules/2.6.9-xenU/modules.dep not found. 
And boots up in the

Can anyone tell me what exact changes do i need to make to the SuSE 2.6 
kernel to be able to boot it as a new Domain?

I understand that the machine dependent code has to be changed with  new 
code provided by Xen....but I could not find a place where it 
says........."These are the exacts steps you need to follow for porting of 
Guest OS in a Domain"

Thanks in advance!

Amitabh P. Tamhane




-------------------------------------------------------
The SF.Net email is sponsored by: Beat the post-holiday blues
Get a FREE limited edition SourceForge.net t-shirt from ThinkGeek.
It's fun and FREE -- well, almost....http://www.thinkgeek.com/sfshirt

^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: Porting of Guest OS
  2004-12-30  0:12 Porting of Guest OS Amitabh Tamhane
@ 2004-12-30  2:58 ` Fajar A. Nugraha
  2004-12-30  8:14   ` Amitabh Tamhane
  0 siblings, 1 reply; 16+ messages in thread
From: Fajar A. Nugraha @ 2004-12-30  2:58 UTC (permalink / raw)
  To: xen-devel

Amitabh Tamhane wrote:

> Hi,
> I am trying to boot a guest OS (SuSE 2.6 kernel) on Xen. But, it is 
> giving me boot errors.
>
> The steps I followed:
> 1) Created a raw diskFile with ext3 filesystem
> 2) Copied /{root,etc,dev,var,usr,bin,sbin,lib} from my SuSE 2.6 
> installation on to the diskFile

I would suggest you copy everything from a non-running linux installation.
You could also use a running machine as starting point, but you should 
exclude these files :

/proc/*
/var/log/*/*
/var/run/*/*
/var/run/*.pid
/var/tmp/*
/var/lock/*/*
/dev/mapper/*
/tmp/*
/sys/*
/mnt/*/*

Note that you NEED /proc, but you don't need anything under it.
Then you have to modify /etc/fstab accordingly, and use /dev/sda1 as root.

> 3) Created a config file as:
> Important parameters are as follows:
> kernel = "/boot/vmlinuz-2.4.27-xenU"
> disk = ['file:FullPathToTheDiskFile,sda1,w']
> root = "/dev/sda1"
> (other parameters skipped)
>
> 4) Booted-up the new Domain
>
> It is giving some-errors like /lib/modules/2.6.9-xenU/modules.dep not 
> found. And boots up in the
>
You need to copy /lib/modules/2.6.9-xenU/ from the physical server (the 
server you're running xen's
"make install" from) to the virtual server. Alternatively, recompile the 
xen-U kernel
to disable modules support and you can ignore the error completely.
If you're running athlon-xp or P4/Xeon, I can share my xen-U kernel (or 
the .config), with modules disabled,
optimized for those platform.

> Can anyone tell me what exact changes do i need to make to the SuSE 
> 2.6 kernel to be able to boot it as a new Domain?
>
Are you using 2.4 or 2.6? Your xen config file says 2.4.

> I understand that the machine dependent code has to be changed with  
> new code provided by Xen....but I could not find a place where it 
> says........."These are the exacts steps you need to follow for 
> porting of Guest OS in a Domain"
>
Because it's not there yet :)

Regards,

Fajar


-------------------------------------------------------
The SF.Net email is sponsored by: Beat the post-holiday blues
Get a FREE limited edition SourceForge.net t-shirt from ThinkGeek.
It's fun and FREE -- well, almost....http://www.thinkgeek.com/sfshirt

^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: Porting of Guest OS
  2004-12-30  2:58 ` Fajar A. Nugraha
@ 2004-12-30  8:14   ` Amitabh Tamhane
  2004-12-30  8:35     ` Fajar A. Nugraha
  0 siblings, 1 reply; 16+ messages in thread
From: Amitabh Tamhane @ 2004-12-30  8:14 UTC (permalink / raw)
  To: fajar, xen-devel

Thank you for the information!

And yes, I am trying to boot a 2.6 kernel and I am also using the 
vmlinuz-2.6*xenU in the config file (it was a typo in my last email)

Actually, I was playing with it for a while and could partially boot the 
guest OS.

The exact error I am getting is: Could not find LABLE=/ and boots in the 
"repair filesystem" mode.
The guest OS could talk with the outside world but `xm list` command shows 
state as -b--- (blocked) for the domain I am trying to boot.

I didn't check the /etc/fstab file, could that be the problem or is it 
because I am not specifying something properly in the config file?

Lastly, if you could give me a link to your modified xen-U kernels it would 
be great.

Again thank you for ur feedback.

Regards,
Amitabh

From: "Fajar A. Nugraha" <fajar@telkom.co.id>
To: xen-devel@lists.sourceforge.net
Subject: Re: [Xen-devel] Porting of Guest OS
Date: Thu, 30 Dec 2004 09:58:32 +0700

Amitabh Tamhane wrote:

>Hi,
>I am trying to boot a guest OS (SuSE 2.6 kernel) on Xen. But, it is giving 
>me boot errors.
>
>The steps I followed:
>1) Created a raw diskFile with ext3 filesystem
>2) Copied /{root,etc,dev,var,usr,bin,sbin,lib} from my SuSE 2.6 
>installation on to the diskFile

I would suggest you copy everything from a non-running linux installation.
You could also use a running machine as starting point, but you should 
exclude these files :

/proc/*
/var/log/*/*
/var/run/*/*
/var/run/*.pid
/var/tmp/*
/var/lock/*/*
/dev/mapper/*
/tmp/*
/sys/*
/mnt/*/*

Note that you NEED /proc, but you don't need anything under it.
Then you have to modify /etc/fstab accordingly, and use /dev/sda1 as root.

>3) Created a config file as:
>Important parameters are as follows:
>kernel = "/boot/vmlinuz-2.4.27-xenU"
>disk = ['file:FullPathToTheDiskFile,sda1,w']
>root = "/dev/sda1"
>(other parameters skipped)
>
>4) Booted-up the new Domain
>
>It is giving some-errors like /lib/modules/2.6.9-xenU/modules.dep not 
>found. And boots up in the
>
You need to copy /lib/modules/2.6.9-xenU/ from the physical server (the 
server you're running xen's
"make install" from) to the virtual server. Alternatively, recompile the 
xen-U kernel
to disable modules support and you can ignore the error completely.
If you're running athlon-xp or P4/Xeon, I can share my xen-U kernel (or the 
.config), with modules disabled,
optimized for those platform.

>Can anyone tell me what exact changes do i need to make to the SuSE 2.6 
>kernel to be able to boot it as a new Domain?
>
Are you using 2.4 or 2.6? Your xen config file says 2.4.

>I understand that the machine dependent code has to be changed with  new 
>code provided by Xen....but I could not find a place where it 
>says........."These are the exacts steps you need to follow for porting of 
>Guest OS in a Domain"
>
Because it's not there yet :)

Regards,

Fajar


-------------------------------------------------------
The SF.Net email is sponsored by: Beat the post-holiday blues
Get a FREE limited edition SourceForge.net t-shirt from ThinkGeek.
It's fun and FREE -- well, almost....http://www.thinkgeek.com/sfshirt
_______________________________________________
Xen-devel mailing list
Xen-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/xen-devel


Amitabh P. Tamhane

'THERE IS NO SHORT-CUT TO SUCCESS!'




-------------------------------------------------------
The SF.Net email is sponsored by: Beat the post-holiday blues
Get a FREE limited edition SourceForge.net t-shirt from ThinkGeek.
It's fun and FREE -- well, almost....http://www.thinkgeek.com/sfshirt

^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: Porting of Guest OS
  2004-12-30  8:14   ` Amitabh Tamhane
@ 2004-12-30  8:35     ` Fajar A. Nugraha
  2004-12-30 14:50       ` M.A. Williamson
  0 siblings, 1 reply; 16+ messages in thread
From: Fajar A. Nugraha @ 2004-12-30  8:35 UTC (permalink / raw)
  To: Amitabh Tamhane; +Cc: xen-devel

Amitabh Tamhane wrote:

> Thank you for the information!
>
> And yes, I am trying to boot a 2.6 kernel and I am also using the 
> vmlinuz-2.6*xenU in the config file (it was a typo in my last email)
>
> Actually, I was playing with it for a while and could partially boot 
> the guest OS.
>
> The exact error I am getting is: Could not find LABLE=/ and boots in 
> the "repair filesystem" mode.

that's /etc/fstab allright. Change the line that says LABEL=/ to /dev/sda1.
You might also need to remove the line that mounts /boot
For kernel-2.6-based or nptl-enabled distro, you also need to remove 
/lib/tls and /usr/lib/tls on the domain root file system
(Xen will tell you to do this when it boots).

> The guest OS could talk with the outside world but `xm list` command 
> shows state as -b--- (blocked) for the domain I am trying to boot.
>
Is that what "-b---" means? All my virtual domains shows that, and yet 
they're working perfectly.

> I didn't check the /etc/fstab file, could that be the problem or is it 
> because I am not specifying something properly in the config file?
>
First glance says your config is allright. You might want to add swap as 
/dev/sda2 too, though.

> Lastly, if you could give me a link to your modified xen-U kernels it 
> would be great.
>
Try this

http://clamav.or.id/contrib/xen/

All have modules disabled, so you can ignore all messages about kernel 
modules.

Regards,

Fajar


-------------------------------------------------------
The SF.Net email is sponsored by: Beat the post-holiday blues
Get a FREE limited edition SourceForge.net t-shirt from ThinkGeek.
It's fun and FREE -- well, almost....http://www.thinkgeek.com/sfshirt

^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: Porting of Guest OS
  2004-12-30  8:35     ` Fajar A. Nugraha
@ 2004-12-30 14:50       ` M.A. Williamson
  2004-12-31  1:14         ` Amitabh Tamhane
  0 siblings, 1 reply; 16+ messages in thread
From: M.A. Williamson @ 2004-12-30 14:50 UTC (permalink / raw)
  To: Fajar A. Nugraha; +Cc: Amitabh Tamhane, xen-devel

> > The exact error I am getting is: Could not find LABLE=/ and boots in 
> > the "repair filesystem" mode.
> 
> that's /etc/fstab allright. Change the line that says LABEL=/ to 
> /dev/sda1. You might also need to remove the line that mounts /boot For 
> kernel-2.6-based or nptl-enabled distro, you also need to remove /lib/tls 
> and /usr/lib/tls on the domain root file system (Xen will tell you to do 
> this when it boots).

Using LABEL=blah requires a) you to set the label on the disk file you 
created b) you to boot with a suitable initrd (e.g. one that came with your 
distro) to perform the lookup of filesystem labels.

You will find it easier to get stuff working if you just specify 
/dev/whatever explicitly in the config file and edit the guest fstab to 
match.

> > The guest OS could talk with the outside world but `xm list` command 
> > shows state as -b--- (blocked) for the domain I am trying to boot.
> >
> Is that what "-b---" means? All my virtual domains shows that, and yet 
> they're working perfectly.

If they're not doing work on the CPU at this instant then they're probably 
blocked - unless they're doing something CPU intensive they'll be in that 
state a lot.

If you've only got one CPU then you'll never see another domain in the 
running state - the fact that dom0 is running at this instant implies that 
the other domains aren't :-)

HTH,
Mark


-------------------------------------------------------
The SF.Net email is sponsored by: Beat the post-holiday blues
Get a FREE limited edition SourceForge.net t-shirt from ThinkGeek.
It's fun and FREE -- well, almost....http://www.thinkgeek.com/sfshirt

^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: Porting of Guest OS
  2004-12-30 14:50       ` M.A. Williamson
@ 2004-12-31  1:14         ` Amitabh Tamhane
  2004-12-31  1:58           ` Ronald G. Minnich
  2004-12-31 15:42           ` M.A. Williamson
  0 siblings, 2 replies; 16+ messages in thread
From: Amitabh Tamhane @ 2004-12-31  1:14 UTC (permalink / raw)
  To: maw48, fajar; +Cc: xen-devel

Yeah, it worked but I had to edit /etc/fstab file in the guest OS:
1) replaced the LABLE=/ with /dev/sda1
2) removed the line with /boot
3) removed the line with swap

Even after that it gave errors for filesystem check. So, I just replaced the 
/sbin/fsck.ext3 file in guest OS with a script that does nothing.


Here are some other errors that I still have:
During boot-up:
1) Applying Intel IA32 Microcode update: insmod: 
/lib/modules/2.6.5-7.97-smp/kernel/arch/i386/kernel/microcode.o: insmod 
char-major-10-184 failed

2) Starting keytable:  Loading keymap: /etc/rc5.d/S17keytable: line 26: 
/dev/tty0: No such device
[FAILED]

3) Starting console mouse services: gpm: oops() invoked from gpn.c(132)
loadlut: is your kernel compiled with CONFIG_SELECTION on?: Invalid argument
[FAILED]
(This is probably because the initial OS installation was configured to have 
a graphical interface)

During Halt:
1) Sending all processes the KILL signal...
Syncing hardware clock to system time modprobe: modprobe: Can't locate 
module char-major-10-135
hwclock is unable to get I/O port access:  the iopl(3) call failed.

Guest OS boots-up and halts fine. (except for the above errors)

Any suggesstions??

Thanks,

Amitabh


From: "M.A. Williamson" <maw48@cam.ac.uk>
Reply-To: maw48@cantab.net
To: "Fajar A. Nugraha" <fajar@telkom.co.id>
CC: Amitabh Tamhane <amitabh_2k@hotmail.com>, 
xen-devel@lists.sourceforge.net
Subject: Re: [Xen-devel] Porting of Guest OS
Date: 30 Dec 2004 14:50:25 +0000

> > The exact error I am getting is: Could not find LABLE=/ and boots in > 
>the "repair filesystem" mode.
>
>that's /etc/fstab allright. Change the line that says LABEL=/ to /dev/sda1. 
>You might also need to remove the line that mounts /boot For 
>kernel-2.6-based or nptl-enabled distro, you also need to remove /lib/tls 
>and /usr/lib/tls on the domain root file system (Xen will tell you to do 
>this when it boots).

Using LABEL=blah requires a) you to set the label on the disk file you 
created b) you to boot with a suitable initrd (e.g. one that came with your 
distro) to perform the lookup of filesystem labels.

You will find it easier to get stuff working if you just specify 
/dev/whatever explicitly in the config file and edit the guest fstab to 
match.

> > The guest OS could talk with the outside world but `xm list` command > 
>shows state as -b--- (blocked) for the domain I am trying to boot.
> >
>Is that what "-b---" means? All my virtual domains shows that, and yet 
>they're working perfectly.

If they're not doing work on the CPU at this instant then they're probably 
blocked - unless they're doing something CPU intensive they'll be in that 
state a lot.

If you've only got one CPU then you'll never see another domain in the 
running state - the fact that dom0 is running at this instant implies that 
the other domains aren't :-)

HTH,
Mark




-------------------------------------------------------
The SF.Net email is sponsored by: Beat the post-holiday blues
Get a FREE limited edition SourceForge.net t-shirt from ThinkGeek.
It's fun and FREE -- well, almost....http://www.thinkgeek.com/sfshirt

^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: Porting of Guest OS
  2004-12-31  1:14         ` Amitabh Tamhane
@ 2004-12-31  1:58           ` Ronald G. Minnich
  2004-12-31  7:40             ` David Hopwood
  2004-12-31  9:53             ` Keir Fraser
  2004-12-31 15:42           ` M.A. Williamson
  1 sibling, 2 replies; 16+ messages in thread
From: Ronald G. Minnich @ 2004-12-31  1:58 UTC (permalink / raw)
  To: Amitabh Tamhane; +Cc: maw48, fajar, xen-devel



On Thu, 30 Dec 2004, Amitabh Tamhane wrote:

> During boot-up:
> 1) Applying Intel IA32 Microcode update: insmod:
> /lib/modules/2.6.5-7.97-smp/kernel/arch/i386/kernel/microcode.o: insmod
> char-major-10-184 failed

is it safe to assume that code in Ring 1 can't upgrade microcode :-)?
I'd say that the microcode module would surprise me if it worked. 

ron


-------------------------------------------------------
The SF.Net email is sponsored by: Beat the post-holiday blues
Get a FREE limited edition SourceForge.net t-shirt from ThinkGeek.
It's fun and FREE -- well, almost....http://www.thinkgeek.com/sfshirt

^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: Porting of Guest OS
  2004-12-31  1:58           ` Ronald G. Minnich
@ 2004-12-31  7:40             ` David Hopwood
  2004-12-31  7:49               ` Fajar A. Nugraha
  2004-12-31 15:40               ` Ronald G. Minnich
  2004-12-31  9:53             ` Keir Fraser
  1 sibling, 2 replies; 16+ messages in thread
From: David Hopwood @ 2004-12-31  7:40 UTC (permalink / raw)
  To: xen-devel

Ronald G. Minnich wrote:
> On Thu, 30 Dec 2004, Amitabh Tamhane wrote:
> 
>>During boot-up:
>>1) Applying Intel IA32 Microcode update: insmod:
>>/lib/modules/2.6.5-7.97-smp/kernel/arch/i386/kernel/microcode.o: insmod
>>char-major-10-184 failed
> 
> is it safe to assume that code in Ring 1 can't upgrade microcode :-)?
> I'd say that the microcode module would surprise me if it worked.

It should be possible to make it work by using the hypervisor interface
equivalents of rdmsr/wrmsr. See section 9.11 of the IA32 architecture
manual Volume 3.

Does DOM0 always run on all physical CPU cores?

-- 
David Hopwood <david.nospam.hopwood@blueyonder.co.uk>



-------------------------------------------------------
The SF.Net email is sponsored by: Beat the post-holiday blues
Get a FREE limited edition SourceForge.net t-shirt from ThinkGeek.
It's fun and FREE -- well, almost....http://www.thinkgeek.com/sfshirt

^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: Porting of Guest OS
  2004-12-31  7:40             ` David Hopwood
@ 2004-12-31  7:49               ` Fajar A. Nugraha
  2004-12-31  8:02                 ` David Hopwood
  2004-12-31 15:40               ` Ronald G. Minnich
  1 sibling, 1 reply; 16+ messages in thread
From: Fajar A. Nugraha @ 2004-12-31  7:49 UTC (permalink / raw)
  To: xen-devel

David Hopwood wrote:

>
> Does DOM0 always run on all physical CPU cores?
>
All? Mine says it always run on CPU0.


-------------------------------------------------------
The SF.Net email is sponsored by: Beat the post-holiday blues
Get a FREE limited edition SourceForge.net t-shirt from ThinkGeek.
It's fun and FREE -- well, almost....http://www.thinkgeek.com/sfshirt

^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: Porting of Guest OS
  2004-12-31  7:49               ` Fajar A. Nugraha
@ 2004-12-31  8:02                 ` David Hopwood
  0 siblings, 0 replies; 16+ messages in thread
From: David Hopwood @ 2004-12-31  8:02 UTC (permalink / raw)
  To: xen-devel

Fajar A. Nugraha wrote:
> David Hopwood wrote:
> 
>> Does DOM0 always run on all physical CPU cores?
>
> All? Mine says it always run on CPU0.

In that case, it might be better to move the microcode update
functionality into Xen, where it can guarantee to update all
cores properly.

-- 
David Hopwood <david.nospam.hopwood@blueyonder.co.uk>



-------------------------------------------------------
The SF.Net email is sponsored by: Beat the post-holiday blues
Get a FREE limited edition SourceForge.net t-shirt from ThinkGeek.
It's fun and FREE -- well, almost....http://www.thinkgeek.com/sfshirt

^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: Porting of Guest OS
  2004-12-31  1:58           ` Ronald G. Minnich
  2004-12-31  7:40             ` David Hopwood
@ 2004-12-31  9:53             ` Keir Fraser
  2004-12-31 15:44               ` Ronald G. Minnich
  1 sibling, 1 reply; 16+ messages in thread
From: Keir Fraser @ 2004-12-31  9:53 UTC (permalink / raw)
  To: Ronald G. Minnich; +Cc: Amitabh Tamhane, maw48, fajar, xen-devel

> 
> 
> On Thu, 30 Dec 2004, Amitabh Tamhane wrote:
> 
> > During boot-up:
> > 1) Applying Intel IA32 Microcode update: insmod:
> > /lib/modules/2.6.5-7.97-smp/kernel/arch/i386/kernel/microcode.o: insmod
> > char-major-10-184 failed

That's the wrong module anyway -- it's from a native kernel not a
Xen-ported kernel.

> is it safe to assume that code in Ring 1 can't upgrade microcode :-)?
> I'd say that the microcode module would surprise me if it worked. 
> 
> ron

A privileged domain can use the RDMSR/WRMSR Xen functions. In the
unstable tree it can even execute RDMSR/WRMSR directly and Xen will
emulate them.

The main difficulty is that currently we only execute the MSR accesses
on the CPU on which the domain is running. We could easily change the
default to be to write to all CPUs -- that would make more sense for
microcode updates, but I'm not sure if it would be silly for other
things. 

The other difficulty is that a microcode update needs several MSR
updates per CPU that need to happen with no other overlapping
updates.

The microcode driver is pretty small, so we may end up putting it in
Xen, as we did with the MTRR code. 

 -- Keir


-------------------------------------------------------
The SF.Net email is sponsored by: Beat the post-holiday blues
Get a FREE limited edition SourceForge.net t-shirt from ThinkGeek.
It's fun and FREE -- well, almost....http://www.thinkgeek.com/sfshirt

^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: Porting of Guest OS
  2004-12-31  7:40             ` David Hopwood
  2004-12-31  7:49               ` Fajar A. Nugraha
@ 2004-12-31 15:40               ` Ronald G. Minnich
  2005-01-01  2:26                 ` David Hopwood
  1 sibling, 1 reply; 16+ messages in thread
From: Ronald G. Minnich @ 2004-12-31 15:40 UTC (permalink / raw)
  To: David Hopwood; +Cc: xen-devel



On Fri, 31 Dec 2004, David Hopwood wrote:

> It should be possible to make it work by using the hypervisor interface
> equivalents of rdmsr/wrmsr. See section 9.11 of the IA32 architecture
> manual Volume 3.

interesting. Part of the microcode upgrade process is pointing the CPU at 
a chunk of memory that it ingests as the new microcode. I found the whole 
business a bit dicey to think about from ring 1, but I guess it ought to 
be fine.

ron


-------------------------------------------------------
The SF.Net email is sponsored by: Beat the post-holiday blues
Get a FREE limited edition SourceForge.net t-shirt from ThinkGeek.
It's fun and FREE -- well, almost....http://www.thinkgeek.com/sfshirt

^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: Porting of Guest OS
  2004-12-31  1:14         ` Amitabh Tamhane
  2004-12-31  1:58           ` Ronald G. Minnich
@ 2004-12-31 15:42           ` M.A. Williamson
  1 sibling, 0 replies; 16+ messages in thread
From: M.A. Williamson @ 2004-12-31 15:42 UTC (permalink / raw)
  To: Amitabh Tamhane; +Cc: maw48, fajar, xen-devel

All these problems are to be expected - the guest can't make privileged 
access to the machine's hardware so updating microcode, clock, etc won't 
work. I'm not actually sure what "keytable" does but it doesn't look like 
it's needed ;-), gpm is definitely not needed.

It's nothing to worry about - you should just disable these services so 
that they don't get run. e.g. on Redhat something like

# chkconfig --off servicename

for each service.  Or use you favourite console / GUI admin tool.

As mentioned in another post, the microcode update seems to be trying to 
load the module for the wrong kernel version (which is odd). Even if it 
were the right version, it still wouldn't work...

Cheers,
Mark

> 1) Applying Intel IA32 Microcode update: insmod: 
> /lib/modules/2.6.5-7.97-smp/kernel/arch/i386/kernel/microcode.o: insmod 
> char-major-10-184 failed
> 
> 2) Starting keytable:  Loading keymap: /etc/rc5.d/S17keytable: line 26: 
> /dev/tty0: No such device
> [FAILED]
> 
> 3) Starting console mouse services: gpm: oops() invoked from gpn.c(132) 
> loadlut: is your kernel compiled with CONFIG_SELECTION on?: Invalid 
> argument [FAILED] (This is probably because the initial OS installation 
> was configured to have a graphical interface)
> 
> During Halt:
> 1) Sending all processes the KILL signal...
> Syncing hardware clock to system time modprobe: modprobe: Can't locate 
> module char-major-10-135
> hwclock is unable to get I/O port access:  the iopl(3) call failed.
> 
> Guest OS boots-up and halts fine. (except for the above errors)
> 
> Any suggesstions??
> 
> Thanks,
> 
> Amitabh
> 
> 
> From: "M.A. Williamson" <maw48@cam.ac.uk>
> Reply-To: maw48@cantab.net
> To: "Fajar A. Nugraha" <fajar@telkom.co.id>
> CC: Amitabh Tamhane <amitabh_2k@hotmail.com>, 
> xen-devel@lists.sourceforge.net
> Subject: Re: [Xen-devel] Porting of Guest OS
> Date: 30 Dec 2004 14:50:25 +0000
> 
> > > The exact error I am getting is: Could not find LABLE=/ and boots in 
> > > >
> >the "repair filesystem" mode.
> >
> > that's /etc/fstab allright. Change the line that says LABEL=/ to 
> > /dev/sda1. You might also need to remove the line that mounts /boot For 
> > kernel-2.6-based or nptl-enabled distro, you also need to remove 
> > /lib/tls and /usr/lib/tls on the domain root file system (Xen will tell 
> > you to do this when it boots).
> 
> Using LABEL=blah requires a) you to set the label on the disk file you 
> created b) you to boot with a suitable initrd (e.g. one that came with 
> your distro) to perform the lookup of filesystem labels.
> 
> You will find it easier to get stuff working if you just specify 
> /dev/whatever explicitly in the config file and edit the guest fstab to 
> match.
> 
> > > The guest OS could talk with the outside world but `xm list` command 
> > > >
> >shows state as -b--- (blocked) for the domain I am trying to boot.
> > >
> >Is that what "-b---" means? All my virtual domains shows that, and yet 
> >they're working perfectly.
> 
> If they're not doing work on the CPU at this instant then they're 
> probably blocked - unless they're doing something CPU intensive they'll 
> be in that state a lot.
> 
> If you've only got one CPU then you'll never see another domain in the 
> running state - the fact that dom0 is running at this instant implies 
> that the other domains aren't :-)
> 
> HTH,
> Mark
> 
> 
> 


-------------------------------------------------------
The SF.Net email is sponsored by: Beat the post-holiday blues
Get a FREE limited edition SourceForge.net t-shirt from ThinkGeek.
It's fun and FREE -- well, almost....http://www.thinkgeek.com/sfshirt

^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: Porting of Guest OS
  2004-12-31  9:53             ` Keir Fraser
@ 2004-12-31 15:44               ` Ronald G. Minnich
  0 siblings, 0 replies; 16+ messages in thread
From: Ronald G. Minnich @ 2004-12-31 15:44 UTC (permalink / raw)
  To: Keir Fraser; +Cc: Amitabh Tamhane, maw48, fajar, xen-devel



On Fri, 31 Dec 2004, Keir Fraser wrote:

> A privileged domain can use the RDMSR/WRMSR Xen functions. In the
> unstable tree it can even execute RDMSR/WRMSR directly and Xen will
> emulate them.

no, I understand that, no problem there. It's just that we've looked at 
microcode update for years in linuxbios and it has a lot more impact than 
a simple MSR read/write. It seems you've looked at this one pretty 
carefully, however. 

> The main difficulty is that currently we only execute the MSR accesses
> on the CPU on which the domain is running. We could easily change the
> default to be to write to all CPUs -- that would make more sense for
> microcode updates, but I'm not sure if it would be silly for other
> things. 

That would be silly for just about everything. 

> The microcode driver is pretty small, so we may end up putting it in
> Xen, as we did with the MTRR code. 

It seems like a better way to go to me anyway ...

ron


-------------------------------------------------------
The SF.Net email is sponsored by: Beat the post-holiday blues
Get a FREE limited edition SourceForge.net t-shirt from ThinkGeek.
It's fun and FREE -- well, almost....http://www.thinkgeek.com/sfshirt

^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: Porting of Guest OS
  2004-12-31 15:40               ` Ronald G. Minnich
@ 2005-01-01  2:26                 ` David Hopwood
  0 siblings, 0 replies; 16+ messages in thread
From: David Hopwood @ 2005-01-01  2:26 UTC (permalink / raw)
  To: xen-devel

Ronald G. Minnich wrote:
> On Fri, 31 Dec 2004, David Hopwood wrote:
> 
>>It should be possible to make it work by using the hypervisor interface
>>equivalents of rdmsr/wrmsr. See section 9.11 of the IA32 architecture
>>manual Volume 3.

<http://developer.intel.com/design/pentium4/manuals/index_new.htm>
<ftp://download.intel.com/design/Pentium4/manuals/25366814.pdf>

> interesting. Part of the microcode upgrade process is pointing the CPU at 
> a chunk of memory that it ingests as the new microcode. I found the whole 
> business a bit dicey to think about from ring 1, but I guess it ought to 
> be fine.

I really shouldn't post at that time of the morning. First, it should have
been obvious that DOM0 only runs on a single CPU, since multiprocessor
guests aren't supported yet. Second, the architecture manual only gives
sample code for doing the update in real mode; it seems to imply that this
will also work from protected mode, but it's not quite clear what the
requirements are. Based on the code of the Linux kernel driver:

   <http://lxr.linux.no/source/arch/i386/kernel/microcode.c#L288>

it looks like EAX just has to contain a linear address when Linux is
running on bare hardware (the driver casts a pointer in the data segment,
which is zero-based, to an unsigned int). In order to use a generic
wrmsr hypercall, DOM0 would have to calculate what linear address Xen
should use, which although possible (I think), is a horrible layering
violation that would depend on implementation details of Xen.

It would be much cleaner to either:

  - add a privileged hypercall specifically to allow DOM0 to update the
    microcode on all processors (essentially just copy the Linux driver
    into Xen),
  - compile the latest microcode into Xen and have it do the update at
    boot. This would require people to upgrade Xen in order to upgrade the
    microcode.

-- 
David Hopwood <david.nospam.hopwood@blueyonder.co.uk>



-------------------------------------------------------
The SF.Net email is sponsored by: Beat the post-holiday blues
Get a FREE limited edition SourceForge.net t-shirt from ThinkGeek.
It's fun and FREE -- well, almost....http://www.thinkgeek.com/sfshirt

^ permalink raw reply	[flat|nested] 16+ messages in thread

end of thread, other threads:[~2005-01-01  2:26 UTC | newest]

Thread overview: 16+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2004-12-30  0:12 Porting of Guest OS Amitabh Tamhane
2004-12-30  2:58 ` Fajar A. Nugraha
2004-12-30  8:14   ` Amitabh Tamhane
2004-12-30  8:35     ` Fajar A. Nugraha
2004-12-30 14:50       ` M.A. Williamson
2004-12-31  1:14         ` Amitabh Tamhane
2004-12-31  1:58           ` Ronald G. Minnich
2004-12-31  7:40             ` David Hopwood
2004-12-31  7:49               ` Fajar A. Nugraha
2004-12-31  8:02                 ` David Hopwood
2004-12-31 15:40               ` Ronald G. Minnich
2005-01-01  2:26                 ` David Hopwood
2004-12-31  9:53             ` Keir Fraser
2004-12-31 15:44               ` Ronald G. Minnich
2004-12-31 15:42           ` M.A. Williamson
  -- strict thread matches above, loose matches on Subject: below --
2004-12-30  0:13 Amitabh Tamhane

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.