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

Re: Boot into Xen on debian11


  • To: Leigh Brown <leigh@xxxxxxxxxxxxx>
  • From: Bruno <brunoce@xxxxxxxxxxxx>
  • Date: Tue, 19 Jul 2022 19:34:21 +0100
  • Authentication-results: ext-mx-out003.mykolab.com (amavisd-new); dkim=pass (4096-bit key) reason="pass (just generated, assumed good)" header.d=kolabnow.com
  • Cc: xen-users@xxxxxxxxxxxxxxxxxxxx
  • Delivery-date: Tue, 19 Jul 2022 18:34:46 +0000
  • List-id: Xen user discussion <xen-users.lists.xenproject.org>

Hello Leigh.

Thank you for your message!

Yes, utils-common is installed.

I undid the divert and generated grub once more, but I am still in error.

Xen kernel loads, but then I get AE_ALREADY_EXISTS, ACPI errror.

I get timeouts on suspend/resume device and timeout on root file system device.

Then, the initramfs prompt comes to me.

I could get the journalctl output and send over. I can’t think of anything else.

Kind regards,

Bruno Schroeder

> On 19 Jul 2022, at 19:24, Leigh Brown <leigh@xxxxxxxxxxxxx> wrote:
> 
> Hi Bruno,
> 
> On 2022-07-19 15:42, Bruno wrote:
>>> Hello.
>>> Is there a way to boot into Xen on debian11 installing Xen the way 
>>> documented, please?
>>> Multiboot2 is not doing the trick with initrd. Is there a workaround or a 
>>> way to?
>>> Do we need a patch to grub to make Xen usable on this scenario? Does anyone 
>>> boot into Xen? On debian? Debian11, please?
> 
> Debian 11 should work out of the box.
> 
>>> I have posted it on stackexchange:
>>> https://unix.stackexchange.com/q/710400/375983
>>> Linux xd 5.10.0-16-amd64 #1 SMP Debian 5.10.127-1 (2022-06-30) x86_64 
>>> GNU/Linux
>>> On my debian11, I have installed xen-hypervisor-4.14-amd64, 
>>> xen-hypervisor-common, xen-system-amd64, and xen-utils-4.14
> 
> Is xen-utils-common installed? I would expect it to be, but worth checking.
> 
>>> But I cannot boot into Xen, please help.
> 
> What do you mean by that? Does it crash, reboot, blank screen, something else?
> 
>>> Theoretically, after installing Xen, according to 
>>> https://wiki.debian.org/Xen , I should only run:
>>> dpkg-divert --divert /etc/grub.d/08_linux_xen --rename 
>>> /etc/grub.d/20_linux_xen
>>> update-grub
> 
> According to the Wiki, that step is only for Wheezy / Squeeze and is not 
> required for Debian 11. I'd undo that, and re-run update-grub.
> 
>>> Unfortunately, boot breaks and grub mailing list had a very deep debate on 
>>> it last March-April - apparently multiboot2 will NOT do the trick:
>>> https://www.mail-archive.com/grub-devel@xxxxxxx/msg32020.html
>>> I need some help, please. Is this inconclusive? Is there a work-around I 
>>> could use (some partial boot on Xen and manually loading on the prompt the 
>>> rest of what is needed for Xen to work)? How should I proceed? I will try 
>>> to register this on grub, debian xen packages and Xen as requests/bugs - 
>>> any further ideas on actions, please?
> 
> It should just work, if you provide more information on what you are seeing, 
> it should be possible to resolve.
> 
>>> The discussion on grub mailing list points to this:
>>> https://wiki.debian.org/DebianInstaller/NetbootFirmware#The_Solution:_Add_Firmware_to_Initramfs
>>> This seems very complicated and risky... is this the way forward?
>>> Did anyone patch grub2 to be able to support what's needed for Xen, please?
> 
> There's no need.
> 
>>> Note: I'm using pure Xen, NOT Eve.
>>> /etc/default/grub file contents:
>>> # If you change this file, run 'update-grub' afterwards to update
>>> # /boot/grub/grub.cfg.
>>> # For full documentation of the options in this file, see:
>>> #   info -f grub -n 'Simple configuration'
>>> GRUB_DEFAULT=0
>>> GRUB_TIMEOUT=5
>>> GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian`
>>> GRUB_CMDLINE_LINUX_DEFAULT="quiet"
>>> GRUB_CMDLINE_LINUX=""
>>> # Uncomment to enable BadRAM filtering, modify to suit your needs
>>> # This works with Linux (no patch required) and with any kernel that obtains
>>> # the memory map information from GRUB (GNU Mach, kernel of FreeBSD ...)
>>> #GRUB_BADRAM="0x01234567,0xfefefefe,0x89abcdef,0xefefefef"
>>> # Uncomment to disable graphical terminal (grub-pc only)
>>> #GRUB_TERMINAL=console
>>> # The resolution used on graphical terminal
>>> # note that you can use only modes which your graphic card supports via VBE
>>> # you can see them in real GRUB with the command `vbeinfo'
>>> #GRUB_GFXMODE=640x480
>>> # Uncomment if you don't want GRUB to pass "root=UUID=xxx" parameter to 
>>> Linux
>>> #GRUB_DISABLE_LINUX_UUID=true
>>> # Uncomment to disable generation of recovery mode menu entries
>>> #GRUB_DISABLE_RECOVERY="true"
>>> # Uncomment to get a beep at grub start
>>> #GRUB_INIT_TUNE="480 440 1"
>>> /boot/grub/grub.cfg file contents:
>>> #
>>> # DO NOT EDIT THIS FILE
>>> #
>>> # It is automatically generated by grub-mkconfig using templates
>>> # from /etc/grub.d and settings from /etc/default/grub
>>> #
>>> ### BEGIN /etc/grub.d/00_header ###
>>> if [ -s $prefix/grubenv ]; then
>>> set have_grubenv=true
>>> load_env
>>> fi
>>> if [ "${next_entry}" ] ; then
>>> set default="${next_entry}"
>>> set next_entry=
>>> save_env next_entry
>>> set boot_once=true
>>> else
>>> set default="Debian GNU/Linux, with Xen hypervisor"
>>> fi
>>> if [ x"${feature_menuentry_id}" = xy ]; then
>>> menuentry_id_option="--id"
>>> else
>>> menuentry_id_option=""
>>> fi
>>> export menuentry_id_option
>>> if [ "${prev_saved_entry}" ]; then
>>> set saved_entry="${prev_saved_entry}"
>>> save_env saved_entry
>>> set prev_saved_entry=
>>> save_env prev_saved_entry
>>> set boot_once=true
>>> fi
>>> function savedefault {
>>> if [ -z "${boot_once}" ]; then
>>> saved_entry="${chosen}"
>>> save_env saved_entry
>>> fi
>>> }
>>> function load_video {
>>> if [ x$feature_all_video_module = xy ]; then
>>> insmod all_video
>>> else
>>> insmod efi_gop
>>> insmod efi_uga
>>> insmod ieee1275_fb
>>> insmod vbe
>>> insmod vga
>>> insmod video_bochs
>>> insmod video_cirrus
>>> fi
>>> }
>>> if [ x$feature_default_font_path = xy ] ; then
>>> font=unicode
>>> else
>>> insmod part_gpt
>>> insmod ext2
>>> if [ x$feature_platform_search_hint = xy ]; then
>>> search --no-floppy --fs-uuid --set=root  0123abcd
>>> else
>>> search --no-floppy --fs-uuid --set=root 0123abcd
>>> fi
>>> font="/usr/share/grub/unicode.pf2"
>>> fi
>>> if loadfont $font ; then
>>> set gfxmode=auto
>>> load_video
>>> insmod gfxterm
>>> set locale_dir=$prefix/locale
>>> set lang=en_GB
>>> insmod gettext
>>> fi
>>> terminal_output gfxterm
>>> if [ "${recordfail}" = 1 ] ; then
>>> set timeout=30
>>> else
>>> if [ x$feature_timeout_style = xy ] ; then
>>> set timeout_style=menu
>>> set timeout=5
>>> # Fallback normal timeout code in case the timeout_style feature is
>>> # unavailable.
>>> else
>>> set timeout=5
>>> fi
>>> fi
>>> ### END /etc/grub.d/00_header ###
>>> ### BEGIN /etc/grub.d/05_debian_theme ###
>>> insmod part_gpt
>>> insmod ext2
>>> if [ x$feature_platform_search_hint = xy ]; then
>>> search --no-floppy --fs-uuid --set=root  0123abcd
>>> else
>>> search --no-floppy --fs-uuid --set=root 0123abcd
>>> fi
>>> insmod png
>>> if background_image 
>>> /usr/share/desktop-base/homeworld-theme/grub/grub-4x3.png; then
>>> set color_normal=white/black
>>> set color_highlight=black/white
>>> else
>>> set menu_color_normal=cyan/blue
>>> set menu_color_highlight=white/blue
>>> fi
>>> ### END /etc/grub.d/05_debian_theme ###
>>> ### BEGIN /etc/grub.d/08_linux_xen ###
>>> menuentry 'Debian GNU/Linux, with Xen hypervisor' --class debian --class 
>>> gnu-linux --class gnu --class os --class xen $menuentry_id_option 
>>> 'xen-gnulinux-simple-0123abcd' {
> 
> So the menu entry is created - can you see it in the grub menu?
> 
>>> insmod part_gpt
>>> insmod ext2
>>> if [ x$feature_platform_search_hint = xy ]; then
>>> search --no-floppy --fs-uuid --set=root  0123abcd
>>> else
>>> search --no-floppy --fs-uuid --set=root 0123abcd
>>> fi
>>> echo    'Loading Xen 4.14-amd64 ...'
>>> if [ "$grub_platform" = "pc" -o "$grub_platform" = "" ]; then
>>> xen_rm_opts=
>>> else
>>> xen_rm_opts="no-real-mode edd=off"
>>> fi
>>> multiboot2  /xen-4.14-amd64.gz placeholder   ${xen_rm_opts}
>>> echo    'Loading Linux 5.10.0-16-amd64 ...'
>>> module2 /vmlinuz-5.10.0-16-amd64 placeholder root=UUID=0123abcd ro  quiet
>>> echo    'Loading initial ramdisk ...'
>>> module2 --nounzip   /initrd.img-5.10.0-16-amd64
>>> }
>>> submenu 'Advanced options for Debian GNU/Linux (with Xen hypervisor)' 
>>> $menuentry_id_option 'gnulinux-advanced-0123abcd' {
>>> submenu 'Xen hypervisor, version 4.14-amd64' $menuentry_id_option 
>>> 'xen-hypervisor-4.14-amd64-0123abcd' {
>>> menuentry 'Debian GNU/Linux, with Xen 4.14-amd64 and Linux 5.10.0-16-amd64' 
>>> --class debian --class gnu-linux --class gnu --class os --class xen 
>>> $menuentry_id_option 'xen-gnulinux-5.10.0-16-amd64-advanced-0123abcd' {
>>> insmod part_gpt
>>> insmod ext2
>>> if [ x$feature_platform_search_hint = xy ]; then
>>> search --no-floppy --fs-uuid --set=root  0123abcd
>>> else
>>> search --no-floppy --fs-uuid --set=root 0123abcd
>>> fi
>>> echo    'Loading Xen 4.14-amd64 ...'
>>> if [ "$grub_platform" = "pc" -o "$grub_platform" = "" ]; then
>>> xen_rm_opts=
>>> else
>>> xen_rm_opts="no-real-mode edd=off"
>>> fi
>>> multiboot2  /xen-4.14-amd64.gz placeholder   ${xen_rm_opts}
>>> echo    'Loading Linux 5.10.0-16-amd64 ...'
>>> module2 /vmlinuz-5.10.0-16-amd64 placeholder root=UUID=0123abcd ro  quiet
>>> echo    'Loading initial ramdisk ...'
>>> module2 --nounzip   /initrd.img-5.10.0-16-amd64
>>> }
>>> menuentry 'Debian GNU/Linux, with Xen 4.14-amd64 and Linux 5.10.0-16-amd64 
>>> (recovery mode)' --class debian --class gnu-linux --class gnu --class os 
>>> --class xen $menuentry_id_option 
>>> 'xen-gnulinux-5.10.0-16-amd64-recovery-0123abcd' {
>>> insmod part_gpt
>>> insmod ext2
>>> if [ x$feature_platform_search_hint = xy ]; then
>>> search --no-floppy --fs-uuid --set=root  0123abcd
>>> else
>>> search --no-floppy --fs-uuid --set=root 0123abcd
>>> fi
>>> echo    'Loading Xen 4.14-amd64 ...'
>>> if [ "$grub_platform" = "pc" -o "$grub_platform" = "" ]; then
>>> xen_rm_opts=
>>> else
>>> xen_rm_opts="no-real-mode edd=off"
>>> fi
>>> multiboot2  /xen-4.14-amd64.gz placeholder  ${xen_rm_opts}
>>> echo    'Loading Linux 5.10.0-16-amd64 ...'
>>> module2 /vmlinuz-5.10.0-16-amd64 placeholder root=UUID=0123abcd ro single
>>> echo    'Loading initial ramdisk ...'
>>> module2 --nounzip   /initrd.img-5.10.0-16-amd64
>>> }
>>> }
>>> submenu 'Xen hypervisor, version 4.14-amd64.efi' $menuentry_id_option 
>>> 'xen-hypervisor-4.14-amd64.efi-0123abcd' {
>>> menuentry 'Debian GNU/Linux, with Xen 4.14-amd64.efi and Linux 
>>> 5.10.0-16-amd64' --class debian --class gnu-linux --class gnu --class os 
>>> --class xen $menuentry_id_option 
>>> 'xen-gnulinux-5.10.0-16-amd64-advanced-0123abcd' {
>>> insmod part_gpt
>>> insmod ext2
>>> if [ x$feature_platform_search_hint = xy ]; then
>>> search --no-floppy --fs-uuid --set=root  0123abcd
>>> else
>>> search --no-floppy --fs-uuid --set=root 0123abcd
>>> fi
>>> echo    'Loading Xen 4.14-amd64.efi ...'
>>> if [ "$grub_platform" = "pc" -o "$grub_platform" = "" ]; then
>>> xen_rm_opts=
>>> else
>>> xen_rm_opts="no-real-mode edd=off"
>>> fi
>>> multiboot2  /xen-4.14-amd64.efi placeholder   ${xen_rm_opts}
>>> echo    'Loading Linux 5.10.0-16-amd64 ...'
>>> module2 /vmlinuz-5.10.0-16-amd64 placeholder root=UUID=0123abcd ro  quiet
>>> echo    'Loading initial ramdisk ...'
>>> module2 --nounzip   /initrd.img-5.10.0-16-amd64
>>> }
>>> menuentry 'Debian GNU/Linux, with Xen 4.14-amd64.efi and Linux 
>>> 5.10.0-16-amd64 (recovery mode)' --class debian --class gnu-linux --class 
>>> gnu --class os --class xen $menuentry_id_option 
>>> 'xen-gnulinux-5.10.0-16-amd64-recovery-0123abcd' {
>>> insmod part_gpt
>>> insmod ext2
>>> if [ x$feature_platform_search_hint = xy ]; then
>>> search --no-floppy --fs-uuid --set=root  0123abcd
>>> else
>>> search --no-floppy --fs-uuid --set=root 0123abcd
>>> fi
>>> echo    'Loading Xen 4.14-amd64.efi ...'
>>> if [ "$grub_platform" = "pc" -o "$grub_platform" = "" ]; then
>>> xen_rm_opts=
>>> else
>>> xen_rm_opts="no-real-mode edd=off"
>>> fi
>>> multiboot2  /xen-4.14-amd64.efi placeholder  ${xen_rm_opts}
>>> echo    'Loading Linux 5.10.0-16-amd64 ...'
>>> module2 /vmlinuz-5.10.0-16-amd64 placeholder root=UUID=0123abcd ro single
>>> echo    'Loading initial ramdisk ...'
>>> module2 --nounzip   /initrd.img-5.10.0-16-amd64
>>> }
>>> }
>>> }
>>> ### END /etc/grub.d/08_linux_xen ###
>>> ### BEGIN /etc/grub.d/10_linux ###
>>> function gfxmode {
>>> set gfxpayload="${1}"
>>> }
>>> set linux_gfx_mode=
>>> export linux_gfx_mode
>>> menuentry 'Debian GNU/Linux' --class debian --class gnu-linux --class gnu 
>>> --class os $menuentry_id_option 'gnulinux-simple-0123abcd' {
>>> load_video
>>> insmod gzio
>>> if [ x$grub_platform = xxen ]; then insmod xzio; insmod lzopio; fi
>>> insmod part_gpt
>>> insmod ext2
>>> if [ x$feature_platform_search_hint = xy ]; then
>>> search --no-floppy --fs-uuid --set=root  0123abcd
>>> else
>>> search --no-floppy --fs-uuid --set=root 0123abcd
>>> fi
>>> echo    'Loading Linux 5.10.0-16-amd64 ...'
>>> linux   /vmlinuz-5.10.0-16-amd64 root=UUID=0123abcd ro  quiet
>>> echo    'Loading initial ramdisk ...'
>>> initrd  /initrd.img-5.10.0-16-amd64
>>> }
>>> submenu 'Advanced options for Debian GNU/Linux' $menuentry_id_option 
>>> 'gnulinux-advanced-0123abcd' {
>>> menuentry 'Debian GNU/Linux, with Linux 5.10.0-16-amd64' --class debian 
>>> --class gnu-linux --class gnu --class os $menuentry_id_option 
>>> 'gnulinux-5.10.0-16-amd64-advanced-0123abcd' {
>>> load_video
>>> insmod gzio
>>> if [ x$grub_platform = xxen ]; then insmod xzio; insmod lzopio; fi
>>> insmod part_gpt
>>> insmod ext2
>>> if [ x$feature_platform_search_hint = xy ]; then
>>> search --no-floppy --fs-uuid --set=root  0123abcd
>>> else
>>> search --no-floppy --fs-uuid --set=root 0123abcd
>>> fi
>>> echo    'Loading Linux 5.10.0-16-amd64 ...'
>>> linux   /vmlinuz-5.10.0-16-amd64 root=UUID=0123abcd ro  quiet
>>> echo    'Loading initial ramdisk ...'
>>> initrd  /initrd.img-5.10.0-16-amd64
>>> }
>>> menuentry 'Debian GNU/Linux, with Linux 5.10.0-16-amd64 (recovery mode)' 
>>> --class debian --class gnu-linux --class gnu --class os 
>>> $menuentry_id_option 'gnulinux-5.10.0-16-amd64-recovery-0123abcd' {
>>> load_video
>>> insmod gzio
>>> if [ x$grub_platform = xxen ]; then insmod xzio; insmod lzopio; fi
>>> insmod part_gpt
>>> insmod ext2
>>> if [ x$feature_platform_search_hint = xy ]; then
>>> search --no-floppy --fs-uuid --set=root  0123abcd
>>> else
>>> search --no-floppy --fs-uuid --set=root 0123abcd
>>> fi
>>> echo    'Loading Linux 5.10.0-16-amd64 ...'
>>> linux   /vmlinuz-5.10.0-16-amd64 root=UUID=0123abcd ro single
>>> echo    'Loading initial ramdisk ...'
>>> initrd  /initrd.img-5.10.0-16-amd64
>>> }
>>> }
>>> ### END /etc/grub.d/10_linux ###
>>> ### BEGIN /etc/grub.d/30_os-prober ###
>>> ### END /etc/grub.d/30_os-prober ###
>>> ### BEGIN /etc/grub.d/30_uefi-firmware ###
>>> menuentry 'System setup' $menuentry_id_option 'uefi-firmware' {
>>> fwsetup
>>> }
>>> ### END /etc/grub.d/30_uefi-firmware ###
>>> ### BEGIN /etc/grub.d/40_custom ###
>>> # This file provides an easy way to add custom menu entries.  Simply type 
>>> the
>>> # menu entries you want to add after this comment.  Be careful not to change
>>> # the 'exec tail' line above.
>>> ### END /etc/grub.d/40_custom ###
>>> ### BEGIN /etc/grub.d/41_custom ###
>>> if [ -f  ${config_directory}/custom.cfg ]; then
>>> source ${config_directory}/custom.cfg
>>> elif [ -z "${config_directory}" -a -f  $prefix/custom.cfg ]; then
>>> source $prefix/custom.cfg;
>>> fi
>>> ### END /etc/grub.d/41_custom ###
> 
> Regards,
> 
> Leigh.
> 




 


Rackspace

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