Il 25/11/2013 17:01, Vladimir 'phcoder'
Serbinenko ha scritto:
quick response from my phone. No vfb support because on my
computer vfb fails so no vnc. arguments are ignored. send your
dom config to reproduce
Thanks for reply.
Dom0 is similar to this:
http://lists.xen.org/archives/html/xen-devel/2013-10/msg01111.html
but xen git branch changed to hvm-improve.t7 and qemu 1.6.1 from
staging of upstream qemu's xen git
On attachment domU xl config file, is a debian Sid pv domU.
Sorry if I sended it double, I saw you dropped the cc, so I added
xen-devel to cc.
On Nov 25, 2013 4:56 PM, "Fabio Fantoni"
< fabio.fantoni@xxxxxxx>
wrote:
Il 14/11/2013 22:43, Vladimir 'Ï-coder/phcoder' Serbinenko ha
scritto:
On 14.11.2013 22:11, M A Young wrote:
On Thu, 14 Nov 2013, Vladimir 'Ï-coder/phcoder' Serbinenko
wrote:
On 14.11.2013 19:57, Vladimir 'Ï-coder/phcoder'
Serbinenko wrote:
On 14.11.2013 19:48, M A Young wrote:
On Thu, 14 Nov 2013, Vladimir 'Ï-coder/phcoder'
Serbinenko wrote:
On 14.11.2013 18:03, M A Young wrote:
On Thu, 14 Nov 2013, M A Young wrote:
On Wed, 13 Nov 2013, Vladimir
'Ï-coder/phcoder' Serbinenko wrote:
On 13.11.2013 20:06, M A Young wrote:
It doesn't seem to understand
sub-partitions. I can get it to
work if
the boot files are in /dev/xvda but not in
/dev/xvda1 .
insmod part_msdos
insmod part_gpt
Right, if I add those to the embedded grub.cfg
file I get to the
standard grub menu and the boot starts.
However the boot doesn't get
very far - it loads the kernel and the initrd
file and starts the
kernel but the kernel doesn't see the virtual
disks so it doesn't
get
very far.
Using xenstore-ls from the dom0 on the guest
when the boot stops the
local/domain/2/device/vbd/51712 section looks
like
   Âbackend = "/local/domain/0/backend/vbd/2/51712"
   Âbackend-id = "0"
   Âstate = "6\000"
   Âvirtual-device = "51712"
   Âdevice-type = "disk"
   Âring-ref = "\000"
   Âevent-channel = "\000"
   Âprotocol = "x86_64-abi\000"
As nothing else has null character endings I
suspend that is wrong.
Good catch. Could you test following:
diff --git a/grub-core/kern/xen/init.c
b/grub-core/kern/xen/init.c
index 3bfd99f..ab74543 100644
--- a/grub-core/kern/xen/init.c
+++ b/grub-core/kern/xen/init.c
@@ -256,11 +256,10 @@ grub_xenstore_write_file
(const char *dir, const
void *buf, grub_size_t len)
 Âgrub_memset (&msg, 0, sizeof (msg));
 Âmsg.type = XS_WRITE;
- Âmsg.len = dirlen + len + 1;
+ Âmsg.len = dirlen + len;
 Âgrub_xen_store_send (&msg, sizeof (msg));
 Âgrub_xen_store_send (dir, dirlen);
 Âgrub_xen_store_send (buf, len);
- Âgrub_xen_store_send ("", 1);
 Âgrub_xen_store_recv (&msg, sizeof (msg));
 Âresp = grub_malloc (msg.len + 1);
 Âif (!resp)
The section is tidied up, ie.
   Âbackend = "/local/domain/0/backend/vbd/4/51712"
   Âbackend-id = "0"
   Âstate = "6"
   Âvirtual-device = "51712"
   Âdevice-type = "disk"
   Âring-ref = ""
   Âevent-channel = ""
   Âprotocol = "x86_64-abi"
but unfortunately it doesn't help as the boot
process sticks at the
same
point. I notice this section is in state 6 which
apparently is
"closed".
I wonder if the kernel expecting something else.
Possible. I'd try this (on top of previous patch):
Sorry, too tired. I meant:
diff --git a/grub-core/disk/xen/xendisk.c
b/grub-core/disk/xen/xendisk.c
index c449848..9b71d3a 100644
--- a/grub-core/disk/xen/xendisk.c
+++ b/grub-core/disk/xen/xendisk.c
@@ -449,5 +449,10 @@ grub_xendisk_fini (void)
   Âgrub_xen_free_shared_page
(virtdisks[i].shared_page);
   Âgrub_xen_event_channel_op (EVTCHNOP_close,
&close_op);
+
+ Â Â Â/* Prepare for handoff. Â*/
+ Â Â Âgrub_snprintf (fdir, sizeof (fdir), "%s/state",
+ Â Â Â Â Â Â Â Â Â Âvirtdisks[i].frontend_dir);
+ Â Â Âgrub_xenstore_write_file (fdir, "0", 1);
  Â}
}
That doesn't work. However, according to the documentation
state 0 is
unknown, and the vif interface (while grub is running) is
in state 1
(initializing) so I thought I would try it, and if you
replace "0" with
"1" in the above patch then the kernel does boot.
Thanks.
http://git.savannah.gnu.org/cgit/grub.git/commit/?id=c7995256e410c5272e2be2f94faf62d3c9d57b61
and
http://git.savannah.gnu.org/cgit/grub.git/commit/?id=e1aa5b662088cea329fc968af7c819784b6da068
  ÂMichael Young
Thanks for all that have worked for xen support on upstream
grub2.
I did a test following informations on one of post before:
git clone git://git.sv.gnu.org/grub.git
# commit 61e1b9a49d48035bde52784abb54c3212b647fc8
./autogen.sh
./configure --target=x86_64 --with-platform=xen
mkdir -p boot/grub/
cat > boot/grub/grub.cfg <<EOF
search -s root -f /boot/grub/grub.cfg
configfile /boot/grub/grub.cfg
EOF
./grub-mkstandalone --grub-mkimage=./grub-mkimage -o
pvgrub2.xen -O x86_64-xen -d grub-core/ boot/grub/grub.cfg
Latest command give me this warning:
./grub-mkstandalone: warning: cannot open directory
`/usr/local/share/locale': File o directory non esistente.
I tried to use it on Sid domU adding this line on domU's xl
cfg:
kernel = "/mnt/vm/pvgrub2/grub/pvgrub2.xen"
But vnc show black screen and xl console white screen with
only this line on start before refresh:
Welcome to GRUB!
I also tried to add this line:
extra = "(hd0,msdos1)/grub/grub.cfg"
but the result on vnc Âand xl console is the same.
I did something wrong?
Output of xl -vvv create on attachment.
If you need more tests and/or details tell me and I'll post
them.
Thanks for any reply and sorry for my bad english.
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel
|