XCP-ng
    • Categories
    • Recent
    • Tags
    • Popular
    • Users
    • Groups
    • Register
    • Login

    Debug VM Boot

    Scheduled Pinned Locked Moved Solved Compute
    6 Posts 2 Posters 413 Views 2 Watching
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • ravenjoadR Offline
      ravenjoad
      last edited by

      I am trying to debug why a virtual machine refuses to finish booting. I believe I have narrowed down the problem to using UEFI as the firmware, though the UEFI is not the core problem.

      When booting, UEFI executes properly. I see the TianoCore logo, I can get into the UEFI settings page and change settings. From there, UEFI loads GRUB from disk. GRUB displays properly and selects a boot option properly.

      The problems begin when GRUB loads the initrd. The initrd has garbled output (the characters per-line are not lining up to actually form legible characters). This continues throughout the boot until the VM makes more progress, until it eventually hangs on a pink garbled screen (Screenshot included) forever.

      Screenshot_20240727_110556.png

      Once the VM reaches this point, nothing happens and there is no activity. During the initrd stage, XCP-ng and XO record CPU, memory, and disk activity. Once the pink screen happens, there is no activity.

      I believe I have narrowed this down to UEFI because I duplicated this VM and switched its firmware to BIOS, did a re-install, and everything worked perfectly. I never have this hanging or garbled line output happening when using BIOS firmware.

      Host Details:

      • Up-to-date on patches
      • Build number: release/yangtze/master/58
      • Version: 8.2.1 ()

      Guest Details:

      • Guix System from commit hw8j6ygy3qx0ciq8v3qwl4zz6jrj3srw
      • Install went fine
      • UEFI Boot
      • No Disk encryption
      • No guest tools

      I have already discussed this with the Guix community, and they see no reason why this would be happening, and I agree with them. I am using UEFI firmware on all of my physical machines (1 desktop and 2 laptops) with Guix and everything is working correctly.

      I have tried replicating this setup in Proxmox as well (TianoCore UEFI). I get the same screen garbling in the initrd, and early kernel, but the initrd completes and the VM boots completely. Once I reach the login prompt (or more likely init), the screen fixes itself, showing legible text. Proxmox's monitoring tools show signs of system activity throughout this whole process.

      To be clear, I am fine using BIOS as the firmware here, but I want to understand why UEFI is causing problems with the VM.

      1 Reply Last reply Reply Quote 0
      • ravenjoadR Offline
        ravenjoad
        last edited by

        Correct. Enabling "VGA" fixed the hanging portion of the issue. I can log in and use the VM now.

        I still get garbled lines during initrd and before the login prompt, but I suspect that is a Guix issue, because the same behavior happens in Proxmox and XCP-ng.

        1 Reply Last reply Reply Quote 1
        • olivierlambertO Offline
          olivierlambert Vates 🪐 Co-Founder CEO
          last edited by

          Do you have enough graphic memory in the VM? Or memory at all? Also, is there any vga mode in the kernel option in Grub?

          1 Reply Last reply Reply Quote 0
          • ravenjoadR Offline
            ravenjoad
            last edited by

            I do have memory assigned to the VM.

            • Static: 128MiB/8GiB
            • Dynamic: 8GiB/8GiB

            I did not see an entry for graphics memory, and that was because VGA was turned off in XO.

            I do not know how to check GRUB's command-line arguments at boot-time, so I cannot answer your VGA mode question.

            However, your VGA suggestion led me to the VGA option in the Advanced tab for the VM. That was previously turned off. If I turn on VGA, then I have access to a "Video RAM" dropdown that I can fill in. Once I turned on the VGA option, I was able to boot all the way.

            This is a server VM, so I do not need a large amount of graphics memory.

            1 Reply Last reply Reply Quote 0
            • olivierlambertO Offline
              olivierlambert Vates 🪐 Co-Founder CEO
              last edited by

              Just to be sure I understand: as soon you enabled VGA on, the issue disappear, right?

              1 Reply Last reply Reply Quote 0
              • ravenjoadR Offline
                ravenjoad
                last edited by

                Correct. Enabling "VGA" fixed the hanging portion of the issue. I can log in and use the VM now.

                I still get garbled lines during initrd and before the login prompt, but I suspect that is a Guix issue, because the same behavior happens in Proxmox and XCP-ng.

                1 Reply Last reply Reply Quote 1
                • olivierlambertO Offline
                  olivierlambert Vates 🪐 Co-Founder CEO
                  last edited by

                  great news then 🙂

                  1 Reply Last reply Reply Quote 0
                  • olivierlambertO olivierlambert marked this topic as a question on
                  • olivierlambertO olivierlambert has marked this topic as solved on
                  • First post
                    Last post