Hi, Thanks for your inputs. As you have mentioned, I tried to boot Xen directly from EFI, thereby skipping GRUB. I made sure that kernel, xen.cfg and ramdisk are on the first FAT partition. I still get "All 128 bootinfo membanks exhausted error". The following link has my grub.cfg config. file and also the snapshot of the error.
Link: https://drive.google.com/drive/folders/1o7WT5oB7UsaZBeY5m4mWSidT5NalzvvJ?usp=sharing I feel that even with EFI bootloader, there's some issue with bootinfo mem banks and it maynot be a bug in GRUB. Let me know your thoughts on this. Thanks in advance, Regards, Sai Kiran. On Fri, Oct 15, 2021 at 4:19 AM Stefano Stabellini <[email protected]> wrote: > On Thu, 14 Oct 2021, Sai Kiran Kumar Reddy Y wrote: > > On Thu, Oct 14, 2021 at 5:45 AM Stefano Stabellini < > [email protected]> wrote: > > On Wed, 13 Oct 2021, Sai Kiran Kumar Reddy Y wrote: > > > On Fri, Oct 1, 2021 at 8:17 AM Stefano Stabellini < > [email protected]> wrote: > > > Yes there are other ways but without serial is going to be > difficult > > > because you are not going to see anything until everything > works. > > > > > > How do you boot Xen and Dom0 exactly from EDK2? Are you > using GRUB or > > > loading Xen directly from the EDK2 prompt? Please provide > as many > > > details as possible so that I might be able to spot any > errors. > > > > > > I am using GRUB to load Xen. In the GRUB menu, I see two > options. > > > Option 1: Debian 11 with latest Linux Kernel > > > Option 2: Debian 11(with Xen hypervisor) with latest Kernel > > > > > > Can you provide the Device Tree you are using? If you are > not passing > > > any Device Tree binary explicitely, then it might be > passed > > > automatically from EDK2 to Linux/Xen. In that case, just > boot from Linux > > > then do the following to retrieve the Device Tree: > > > > > > dtc -I fs -O dts /proc/device-tree > host.dts > > > > > > Then please attach host.dts to this email thread. > > > > > > Yeah, you are right. It looks like LInux is booting from ACPI. > In the bootloader menu, "Automatic ACPI configuration" is > > disabled. So, I > > > thought that Linux may be booting from Device Tree. I have tried > the "dtc" command you mentioned. But it looks like there's > > no device-tree > > > under "/proc". I also tried to get DT info, from > "/sys/firmware/devicetree/base" . But, there's no info. under devicetree > > folder. I am not > > > quite sure how to get the DT info, if the Linux is booting from > ACPI. I am attaching .dsl files, that contain the acpi info. > > > > OK, so it is pretty clear that even if "Automatic ACPI > configuration" is > > disabled, it is still booting with ACPI. > > > > > > > Also for your information it looks like Linux actually > booted from ACPI, > > > not from Device Tree, as you can see from all the "ACPI" > messages in the > > > kernel logs. > > > > > > If you need to boot from ACPI, then you need to enable > ACPI support in > > > Xen, which is disabled by default. You can do that using > make > > > menuconfig. > > > > > > In the make menuconfig of Xen, I do not see any option to enable > ACPI. > > > > You definitely need to enable ACPI support in Xen, if you are > booting > > from ACPI, otherwise nothing is going to work. > > > > On the latest staging (https://gitlab.com/xen-project/xen) you can > > enable ACPI as follows: > > > > > > # export CROSS_COMPILE=/path/to/cross-compiler > > # export XEN_TARGET_ARCH=arm64 > > # cd xen.git/xen > > # make menuconfig > > # --> Configure UNSUPPORTED features > > # --> Architecture Features --> ACPI > > # make > > > > > > Hi > > > > I got the code from Gitlab and installed it, enabling ACPI support in > Xen. As I reboot the system, I am able to see 2 options like before. > > Option 1: Debian with latest kernel > > Option 2 : Debian with Xen > > > > I have selected Option 2. I did not see any bootinfo membanks error. > However, there is the following error in GRUB(just for a fraction of a > > second). > > > > "Using modules provided by boot loader in FDT > > Xen 4.16-unstable (c/s Wed Oct 13 13 13:28:43 2021 -0700 > git:4cfab4425d) EFI Loader > > Couldn't obtain the File System Protocol Interface: ErrCode: > 0x8000000000000002" > > > > I have enabled earlyprintk. I do not see any messages in the Serial. > There seems to be some problem with the gitlab version of Xen. > > The error comes from xen/common/efi/boot.c:get_parent_handle > > Xen is booted as EFI binary and it is trying to load other binaries > using the EFI File System Protocol Interface which is one of the EFI > Boot Services. > > A wild guess is that somehow Grub is calling ExitBootServices, which > closes all Boot Services interfaces, before executing Xen. It should not > happen if Grub is executing Xen as EFI binary. I cannot explain how it > is possible. It looks like a bug in Grub. > > Can you post the Grub config file that you are using? > > > Usually before Grub there is the proper EFI bootloader, tipically EDK2. > You should be able to boot Xen directly from the EFI bootloader too, > from its prompt, just by executing "xen". You need to place the xen > binary in the first FAT partition together with a xen.cfg config file as > follows: > > --- > options=console=com1 com1=115200 loglvl=all noreboot > kernel=vmlinuz-3.0.31-0.4-xen [domain 0 command line options] > ramdisk=initrd-3.0.31-0.4-xen > --- > > options is to specify the Xen command line. > kernel is to specify the Linux kernel to use and its command line. > ramdisk is to specify the Linux ramdisk. > > Both kernel and ramdisk needs to be on the FAT partition too. > > > That way you skip Grub and you might be able to skip any related > problems with ExitBootServices.
