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

Re: Xen on Raspberry Pi 4


  • To: xen-users@xxxxxxxxxxxxxxxxxxxx
  • From: Paul Leiber <paul@xxxxxxxxxxxxxxxx>
  • Date: Sun, 13 Aug 2023 19:46:17 +0200
  • Arc-authentication-results: i=1; strato.com; arc=none; dkim=none
  • Arc-message-signature: i=1; a=rsa-sha256; c=relaxed/relaxed; t=1691948778; s=strato-dkim-0002; d=strato.com; h=In-Reply-To:References:To:Subject:From:Date:Message-ID:Cc:Date:From: Subject:Sender; bh=YFoM7FU5M/qTe38Xeye6wlxssjIiSgbdSALePGwD2ac=; b=huY/d4zb89aYjpNZo0rIiVIeu1Ke2M3+Cg221IkFyhjqO1EYZZjQ0pUwWtkhx3dsuc j3HXlKfqLLXM31VSONxjdnw0dv22bR+RnSWIW5j8oqUjRIch/ZSMOHTi6xstvgqWZVt6 e57zNTjA6bBBgfeoZpGKyT9yzismnEEIzrIBh5i3VZLAFTg91jyL6vyL1mtIrFFVHVcY z2agv77dhJzi2Qip3JqM29TsI+T6aNGtnMz5/NgyCMAQZ51S1rsXNhatWJdsCJAdQmCf ebnujHd+ojRcOE44qC8MBHT+FNC/aZkReg4DgebKOjkWjw3k2RPYJS3Bc4YrFyXg82kb kcpw==
  • Arc-seal: i=1; a=rsa-sha256; t=1691948778; cv=none; d=strato.com; s=strato-dkim-0002; b=G+1Ph/TUI7X2/oL4ELIV0Jr3NaWUnOX3ixEN4/b7mVbXsCiQi6dbgskqzVHMwqIO1J MDv9I3Body4uTYz6C2swGu8pIlsXFugl3TI5kHOXe2DMaSyP7+raXWtBV5+k/xAElxI9 dO1soysqaVxm+/LlNupEPqM6dlT9HngvE6HEbgVR97d+dWMDpiAxBOJOuA2fa5oxHWVF 0aOCfI2ICtajlASidqruWBdbeAvyzwWSAHv9e2eXui8eagvtNNSjo+wH1qg6u/PqztkI whXKDL1ZsCHqxJ2dXilT12m62u+uOOcYskBjpv/c1maQG863PiS2QqO4lv+WPMCGP8U4 OXUA==
  • Delivery-date: Sun, 13 Aug 2023 17:47:23 +0000
  • List-id: Xen user discussion <xen-users.lists.xenproject.org>

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.

Paul



 


Rackspace

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