Mailing List Archive

Installing Xen on Raspberry Pi 4
Hello,

for my bachelor thesis I have to install Xen on a Raspberry Pi 4 8GB. Since I am far from being an expert with this whole linux-from-source-thing, I rely heavily on the various guides and forums regarding this topic. The main guide I try to follow is Xen on Raspberry Pi 4 adventures - Xen Project and after much trial and error, I made some progress with it.
My current setup:
- SD card with Raspberry OS as a base
- added the three lines from the guide to config.txt, plus lcd_rotate=2 to flip the attached official 7” touch display
- the u-boot.bin I’m using is self compiled from source
- boot.scr is added according to the guide
- boot2.scr is generated using ImageBuilder
- I don’t remember where I got the dtb from, I think it’s from the RPi Foundation source
- Xen 4.14.1 is self compiled from source
- the kernel I am using as Dom0 is a self compiled 64Bit, 5.10.33 from the Raspberry Pi Foundation source tree, with the bcm2711_defconfig and all the necessary Xen stuff added through menuconfig
- To get an initrd, I booted said kernel and followed this answer

Piecing all this things together u-boot and Xen start, but during the initialization of Dom0 there’s an error. I suspect, that it has to do with the sentence Any 64-bit rootfs should work for Dom0 in the guide, as this is the only thing I don’t get how to implement.

I included the whole boot log as an attachment, but here is the part with the error:

[ 18.415270] Run /init as init process
[ 18.458079] random: fast init done
Loading, please wait...
[ 18.500936] mmc1: new high speed SDIO card at address 0001
[ 18.549790] mmc0: new ultra high speed DDR50 SDHC card at address aaaa
[ 18.561211] mmcblk0: mmc0:aaaa SC16G 14.8 GiB
[ 18.574047] mmcblk0: p1 p2
Starting version 241
Begin: Loading essential drivers ... done.
Begin: Running /scripts/init-premount ... done.
Begin: Mounting root file system ... Begin: Running /scripts/local-top ... done.
Begin: Running /scripts/local-premount ... done.
[ 21.012213] process '/usr/bin/fstype' started with executable stack
Begin: Waiting for root file system ... Begin: Running /scripts/local-block ... done.
Begin: Running /scripts/local-block ... done.
(several repetitions)
Begin: Running /scripts/local-block ... done.
done.
Gave up waiting for root file system device. Common problems:
- Boot args (cat /proc/cmdline)
- Check rootdelay= (did the system wait long enough?)
- Missing modules (cat /proc/modules; ls /dev)
ALERT! /dev/ram0 does not exist. Dropping to a shell!

BusyBox v1.30.1 (Raspbian 1:1.30.1-4) built-in shell (ash)
Enter 'help' for a list of built-in commands.

(initramfs)

My bootargs for Dom0 defined in boot2.source (attached): "console=hvc0 earlycon=xen earlyprintk=xen clk_ignore_unused root=/dev/ram0"
When I enter “ls /dev”, ram0 exists in the initramfs.

It would be great If anyone could point me in the right direction. Are there some stupid mistakes I have made? Do I have to change something in the boot2.scr or is my initrd just wrong?

Thanks,
Maxi
Re: Installing Xen on Raspberry Pi 4 [ In reply to ]
Am Dienstag, 11. Mai 2021, 18:30:26 CEST schrieb Maxi Voggenauer:
> ALERT! /dev/ram0 does not exist. Dropping to a shell!
seems initial ramdisk is not found?

Did you compiled the kernel byself?

CONFIG_BLK_DEV_INITRD=y

should be in kernel config

and if you use a initrd it should be in "u-boot format" for u-boot
bootloaders from what i know.

or try to avoid the requirement of a initrd at all by "bakin in" all required
drivers / modules into your kernel.

hth,


niels.

--
---
Niels Dettenbach
Syndicat IT & Internet
https://www.syndicat.com
PGP: https://syndicat.com/pub_key.asc
---