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

    Debug VM Boot

    Scheduled Pinned Locked Moved Solved Compute
    6 Posts 2 Posters 1.1k 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

                  Hello! It looks like you're interested in this conversation, but you don't have an account yet.

                  Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.

                  With your input, this post could be even better 💗

                  Register Login
                  • First post
                    Last post