[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-users] pvgrub2(-like?) booting methods for PVHv2 guests
On 24/01/18 17:37, Hans van Kranenburg wrote: > On 01/23/2018 06:41 AM, Juergen Gross wrote: >> On 23/01/18 05:46, Andy Smith wrote: >>> Hi, >>> >>> What are the current options for booting PVHv2 guests in Xen 4.10.0? >>> >>> As far as I can see there is only direct kernel booting, i.e. >>> supplying "kernel = /path/to/vmlinux". >>> >>> In PV land there is pvgrub which is very convenient for being able >>> to use kernel and initramfs, but I am not seeing support for that in >>> upstream grub2. I see that Juergen Gross post a patch series that >>> claims to add this feature: >>> >>> <https://lists.gnu.org/archive/html/grub-devel/2017-11/msg00054.html> >>> >>> …but this doesn't seem to have been applied yet. Is it an ongoing >>> idea or has that method been abandoned? >> >> Still waiting for review. > > Since I wanted to try to test this, I scraped the patches off the > grub-devel list and did the following: > > 1. clone https://git.savannah.gnu.org/git/grub.git > 2. apply patches on top of master, plus an extra one with a puzzle piece > to make it actually compile (see attachment) > > 3. build: > ./autogen.sh > ./configure --target=i386 --with-platform=xenpvh > make > > 4. use mkstandalone to create a grub image to boot > ./grub-mkstandalone -d grub-core --locale-directory=/ -o > ~/grub-i386-xenpvh-fire-ze-missile -O i386-xenpvh > ~/build/pvgrub2/pvgrub2/xvda-fire-ze-missile.cfg > > contents of the config file that I want to have inserted into it (same > file I use for booting PV now): > > root='(xen/xvda)' > insmod xzio > insmod gzio > insmod btrfs > insmod ext2 > echo 'Loading Linux ...' > linux /vmlinuz root=/dev/xvda ro elevator=noop > echo 'Loading initial ramdisk ...' > initrd /initrd.img > boot > > 5. Try to use it already, to see what happens. (Xen 4.10.0) > > -# cat yolo-pvgrub2 > > type="pvh" > kernel = "/yolo/grub-i386-xenpvh-fire-ze-missile" > name = "yolo-pvgrub2" > memory = 1024 > vcpus = 10 > vif = [ > "mac=02:00:0a:8c:d9:0d,bridge=ovs0.217", > ] > disk = [ > '/dev/test/yolo,raw,xvda,rw', > ] > > -# xen create -c yolo-pvgrub2 > Parsing config from yolo-pvgrub2 > libxl: info: libxl_create.c:109:libxl__domain_build_info_setdefault: > qemu-xen is unavailable, using qemu-xen-traditional instead: No such > file or directory > S3 disabled > S4 disabled > CONV disabled > > GNU GRUB version 2.03 > > Minimal BASH-like line editing is supported. For the first word, TAB > lists possible command completions. Anywhere else TAB lists possible > device or file completions. > > > grub> > > Ok, so for some reason it seems to ignore the config? But I can type > things manually: > > grub> insmod xzio > grub> insmod gzio > grub> insmod btrfs > grub> insmod ext2 > grub> search.file /vmlinuz > xen/xvda > > Ok, so it can see the disk and fine the symlink to the kernel image. Now > let's try the rest of it: > > grub> root='(xen/xvda)' > grub> linux /vmlinuz root=/dev/xvda ro elevator=noop > grub> initrd /initrd.img > grub> boot > > And now it just hangs, no output any more. > > 6. Apply linux patches to the domU kernel and Xen > > domU Linux kernel: > - Branch off from linux 4.14.14 > - add https://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git as > remote and cherry-pick the 4 patches mentioned in > https://lists.gnu.org/archive/html/grub-devel/2017-12/msg00017.html > > Xen: pick this one on top of 4.10.0: > https://lists.xen.org/archives/html/xen-devel/2017-11/msg01807.html > 4a5733771e6f33918eba07b584cccce564a67ac1 > > 7. Test again after dom0 reboot into the new xen and put the new domU > kernel on it. > -> same result: grub command prompt, and no activity after 'boot'. > > Extra things: > > 8. Start domU after copying kernel/initrd to the dom0: > > type="pvh" > kernel = "/yolo/vmlinuz-4.14.14-yolo" > ramdisk = "/yolo/initrd.img-4.14.14-yolo" > root = "/dev/xvda ro elevator=noop console=hvc0" > > This boots, dmesg: http://paste.debian.net/plainh/7120cef2 > > 9. Just for fun, start domU with previous kernel/initrd without the patches: > > type="pvh" > kernel = "/yolo/vmlinuz-4.14.0-3-amd64" > ramdisk = "/yolo/initrd.img-4.14.0-3-amd64" > root = "/dev/xvda ro elevator=noop console=hvc0" > > This boots and has 1 vcpu and no ACPI lines in dmesg, which is expected > breakage, I believe, reading xen-devel. > > So, what am I missing? I used the attached script to build it (derived from the pvgrub build script used in SUSE's grub-xen RPM). Juergen Attachment:
mk _______________________________________________ Xen-users mailing list Xen-users@xxxxxxxxxxxxxxxxxxxx https://lists.xenproject.org/mailman/listinfo/xen-users
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |