| 
         
xen-users
Re: [Xen-users] 4.0.1, Debian Squeeze, and p[yv]grub
 
Adi Kriegisch wrote:
 
Assuming you've installed a working domU kernel in domU -- just try to
switch back to grub1. Actually just manually creating a simple "menu.lst"
file should suffice:
title       Debian GNU/Linux, kernel 2.6.32-5-amd64
root        (hd0,1)
kernel      /boot/vmlinuz-2.6.32-5-amd64 root=/dev/xvda1 ro quiet
initrd      /boot/initrd.img-2.6.32-5-amd64
(all paths should be absolute within your virtual machine.
 
 
 OK, made a menu.lst with the kernel and initrd to match the system, 
it still doesn't boot. I've also updated the guest to 
2.6.32-5-xen-686 and it still doesn't boot..
 After going a bit square eyed looking in the logs, I noticed 
something in xend.log that seems relevant.
Booting with kernel= and initrd= lines, I see this in the log :
 DEBUG (image:723) image          = 
/etc/xen/ipv6-kernel/vmlinuz-2.6.32-5-xen-686
DEBUG (image:724) store_evtchn   = 1
DEBUG (image:725) console_evtchn = 2
DEBUG (image:726) cmdline        = root=/dev/xvda1 ro
 DEBUG (image:727) ramdisk        = 
/etc/xen/ipv6-kernel/initrd.img-2.6.32-5-xen-686
But booting with pygrub I see :
DEBUG (image:723) image          = /var/run/xend/boot/boot_kernel.CxIYSU
DEBUG (image:724) store_evtchn   = 1
DEBUG (image:725) console_evtchn = 2
DEBUG (image:726) cmdline        =
DEBUG (image:727) ramdisk        = /var/run/xend/boot/boot_ramdisk.0LOwFy
 So it looks a bit like pygrub isn't correctly passing the root= 
parameter through to the kernel. That might just explain why the 
guest can't mount it's root filesystem !
 But, I went back to menu.lst and added root=... to the kernel line 
which I took out for a reason I'll explain in a moment, and hey 
presto - I now have a booted guest with pygrub :D
Now why did I take out the root=... bit ?
 Well earlier I wasn't getting a successful boot (for a different but 
unknown reason !). I noticed the command line was being shown as :
"root=/dev/xvda1 ro root=/dev/xvda1 ro"
or more probably (there's been a lot of lines up the screen since then !) :
"root=/dev/xvda1 ro quiet root=/dev/xvda1 ro"
 AFAICT, pygrub seems to be concatenating the root= options from both 
the guest config file and from the menu.lst file.
A bit more experimentation indicates that :
If both are present, they are concatenated (menu.lst then guest config).
If only the menu.lst option is supplied, then it's used.
 If there is no root=... in menu.lst, then the root=... statement from 
the guest config file seems to be ignored.
So I've commented out the root= line from the guest config file.
 PS - while searching, I came across this nugget. I get the impression 
this guy had a slightly frustrating time !
http://wiki.stocksy.co.uk/wiki/Xen_on_Debian_Squeeze_dom0_Using_pygrub
--
Simon Hobson
_______________________________________________
Xen-users mailing list
Xen-users@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-users
 
 |   
 
 | 
    |