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

Re: Xen on Raspberry Pi 4



Hi Paul

Sorry for the late reply.

On 13/08/2023 18:46, Paul Leiber wrote:
Am 11.08.2023 um 20:51 schrieb Julien Grall:
Hi Paul,

On 04/08/2023 06:44, Paul Leiber wrote:
Am 02.08.2023 um 23:03 schrieb Julien Grall:


On 02/08/2023 21:42, Paul Leiber wrote:
Hi list,

Hi Paul,


What I did was to install a standard Debian distribution booted via EFI/GRUB2 (following https://forums.raspberrypi.com/viewtopic.php?t=282839) and then install the xen-System-arm64 package via apt. I have output on a console via UART (at least when booting Debian without Xen, see hypothesis 3 below).

Booting Debian without Xen is working fine. (Although I only see the Grub selection menu via UART when no HDMI is plugged in while booting.)

Selecting Xen in Grub leads to the following output on the console right after Grub hands over:

Loading Xen 4.17-arm64.efi ...
Loading Linux 6.1.0-10-arm64 ...
Loading initial ramdisk ...
Using modules provided by bootloader in FDT
Xen 4.17.2-pre (c/s ) EFI loader

And then the output stops.


I have been using Debian + Xen + Grub + UEFI on Rpi4. UEFI firmwares are mostly shipped with ACPI only (IOW no Device-Tree support) This is not yet a fully supported configuration on Arm64 and therefore not enabled by default.

Can you check the kernel log when booting Debian without Xen for anything referring to ACPI? If so, you will need to Xen build yourself to enable ACPI (this is protected by EXPERT). Alternatively you could use U-boot where Device-Tree boot will be available.

Indeed, the device is using ACPI. There is an option in the UEFI settings to switch to Device-Tree, but that didn't have any effect I could see, other than plain Debian didn't boot anymore either.

I compiled Xen with the ACPI option for Arm, and got it running. Thank you very much for your hint, Julien!

For reference:

To enable the ACPI option, I went to the "xen" subdirectory in the Xen source main directory after "git clone" and did a "make menuconfig".

Out of convience, I initially intended to only rebuild the Debian Xen hypervisor package with the ACPI switch on, but that didn't work somehow. I couldn't find out why.

Is Debian using 4.17.2? Did you see any output from Xen/Linux.

xl info on a standard Debian installation gives me version 4.17.2-pre. If I remember correctly, the output when booting both my self-compiled Debian xen package or the self-compiled 17.1 version is identical to the one above, it stops with:

Using modules provided by bootloader in FDT
Xen 4.17.2-pre (c/s ) EFI loader

I then created a "Frankenxen" with a newly built hypervisor and standard debian tools, which booted (yay!), but of course the xen tools didn't work. Using the repo to check out a Xen 17.1 version and build the hypervisor (so I could still rely on Debian updates for all the other Xen packages) also didn't work, Xen didn't boot. I then decided to build a complete Xen version from scratch from the master repo, which worked well. So perhaps this approach with enabling ACPI only works on Xen versions > 17.1?

I don't remember any change related to ACPI on Arm that are in master but not 4.17. I will try to have a look in the next couple of weeks and find which patches may be missing.

Let me know if I can help.

I finally managed to find time to try Xen 4.17.2 on the RPI4. It seems to work without any issue once I have ACPI enabled.

Is this still a problem for you? If so, would you be able to share your .config and the Linux kernel version you are using?

Do you also have any logs to share?

Cheers,

--
Julien Grall



 


Rackspace

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