[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: black screen troubles trying to boot with Xen Hypervisor grub option



On 10 Jul 2023 19:02, Jamie Campbell wrote:
I tried load_video, serial disable, and diverting I still got black screen but then I tried your suggestion of going into BIOS and just totally suppressing EFI and forcing the system to do strictly legacy stuff and now it actually boots!  I'm curious as to whether the EFI approach could still get to a bootable system, but not curious enough to re-break it and be stuck again.  Thanks for getting me to bootability!

-Jamie


(Please bottom-post (; )

I had the same problem booting Xen+Debian on UEFI, found a solution, maybe it applies to you ?

The problem started when I updated dom0 from Stretch to Buster (at the time Buster became stable). With the new version of "/etc/grub.d/20_linux_xen", no more boot.

If you compare the old (stretch) and the actual files (from buster on), some changes are about multiboot/module to multiboot2/module2 and in the check you pointed ($grub_platform isn't "pc"). But as you may have eliminated the $grub_platform problem, maybe it's the use of multiboot versus multiboot2 ?

What I would do is move or rename "/etc/grub.d/20_linux_xen", and then try with the Stretch version of the file. (If just renaming, I recommend you to edit the "title" stanzas to better identify the menus : you'd have identical lines).

If you want to rambo edit "20_linux_xen" in place, below you will find the concerning differences between two versions. Basically replace ${xen_loader} and ${module_loader} by respectively multiboot and module.

I'm still booting a bookworm dom0 with multiboot/module, YMMV !

---
WORKING VERSION
[...]
if [ "\$grub_platform" = "pc" -o "\$grub_platform" = "efi" -o "\$grub_platform" = "" ]; then
            xen_rm_opts=
        else
            xen_rm_opts="no-real-mode edd=off"
        fi
multiboot ${rel_xen_dirname}/${xen_basename} placeholder ${xen_args} \${xen_rm_opts}
        echo    '$(echo "$lmessage" | grub_quote)'
module ${rel_dirname}/${basename} placeholder root=${linux_root_device_thisversion} ro ${args}
[...]
        module  --nounzip   ${rel_dirname}/${initrd}
[...]

---
NON-WORKING VERSION
[...]
if [ "\$grub_platform" = "pc" -o "\$grub_platform" = "" ]; then
            xen_rm_opts=
        else
            xen_rm_opts="no-real-mode edd=off"
        fi
${xen_loader} ${rel_xen_dirname}/${xen_basename} placeholder ${xen_args} \${xen_rm_opts}
        echo    '$(echo "$lmessage" | grub_quote)'
${module_loader} ${rel_dirname}/${basename} placeholder root=${linux_root_device_thisversion} ro ${args}
[...]
        ${module_loader}        --nounzip   ${rel_dirname}/${initrd}
[...]
if ($grub_file --is-x86-multiboot2 $current_xen); then
        xen_loader="multiboot2"
        module_loader="module2"
    else
        xen_loader="multiboot"
        module_loader="module"
    fi
[...]



 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.