> As I said in my original reply xen.efi is supposed to be booted directly
> from the EFI shell, not via a bootloader.
>
> Whether or not that is your problem I don't know, but that is what I
> believe is supposed to work, whereas all these others are unknowns, so
> please try that. (this is because Xen needs to be called EFI Boot
> Services still available and bootloaders tend to call ExitBootServices
> before calling the kernel)
Do you have instructions on how to launch it from the EFI Shell so I can test that? I know my Motherboard has an embedded EFI Shell and I know how to boot to it, but there isn't a lot of information on how to use it.
Checking again Gummiboot, Gummiboot isn't actually a true Boot Loader, but a Boot Manager:
Its purpose seems to be to not have to launch EFI executables manually via EFI Shell and instead having them consolidated in a cute menu. But just to make sure, I'l test it your way if you can tell me what commands I have to use after booting to the EFI Shell.
Additionally, I have some more info:
While experimenting with BIOS settings, I discovered that if instead of using as primary video device the Haswell GPU, I use the Radeon 5770, Xen actually goes further. It reachs "unpacking initramfs" and hangs there. I searched around a bit to find if there was any way to get more detailed logs, so I modified /boot/xen-4.3.1.cfg (Xen EFI file is xen-4.3.1.efi):
[global]
default=xen
[xen]
options=console=vga vga=current loglvl=all noreboot
kernel=vmlinuz-linux root=UUID=7af1797c-00af-4219-a141-27a718f39858 rw ignore_loglevel earlyprintk=vga,keep
ramdisk=initramfs-linux.img
It consistently hangs while detecting PCI devices, through not always on the same line. I manually wrote what is on screen one of the times it hanged (I skipped the first bracket of every line with some numbers on them that appears to be seconds, but last line usually is around 5.0xxx):
e820: reserve RAM buffer [mem 0x8826e000-0x8bffffff]
e820: reserve RAM buffer [mem 0x88b4e000-0x8bffffff]
e820: reserve RAM buffer [mem 0x992ed000-0x9bffffff]
e820: reserve RAM buffer [mem 0x993eb000-0x9bffffff]
e820: reserve RAM buffer [mem 0x993eb000-0x9bffffff]
e820: reserve RAM buffer [mem 0x85ee00000-0x85fffffff]
NetLabel: Initializing
NetLabel: domain hash size = 128
NetLabel: protocols = UNLABELED CIPSOv4
NetLabel: unlabeled traffic allowed by default
Switched to clocksource xen
pnp: PnP ACPI: disabled
pci 0000:00:1c.4: bridge window [io 0x1000-0x0fff] to [bus 0c-44] add_size 1000
pci 0000:00:1c.4: res[13]=[io 0x1000-0x0fff] get_res_add_size add_size 1000
pci 0000:00:1c.4: BAR 13: assigned [io 0x1000-0x1fff]
pci 0000:00:01.0: PCI bridge to [bus 01]
pci 0000:00:01.0: bridge window [io 0xe000-0xefff]
pci 0000:00:01.0: bridge window [mem 0xeee00000-0xeeefffff]
pci 0000:00:01.0: bridge window [mem 0xc40000000-0xc4fffffff 64bit pref]
pci 0000:00:1c.0: PCI bridge to [bus 02]
pci 0000:00:1c.0: bridge window [io 0xd000-0xdfff]
pci 0000:00:1c.0: bridge window [mem 0xeed00000-0xeedfffff]
pci 0000:04:01.0: PCI bridge to [bus 05]
pci 0000:04:04.0: PCI bridge to [bus 06]
pci 0000:04:05.0: PCI bridge to [bus 07]
pci 0000:04:07.0: PCI bridge to [bus 08]
pci 0000:04:07.0: bridge window [mem 0xeea00000-0xeeafffff]
pci 0000:09:00.0: PCI bridge to [bus 0a]
pci 0000:09:00.0: bridge window [mem 0xee800000-0xee8fffff]
pci 0000:04:09.0: PCI bridge to [bus 09-0a]
pci 0000:04:09.0: bridge window [mem 0xee800000-0xee9fffff]
pci 0000:03:00.0: PCI bridge to [bus 04-0a]
pci 0000:03:00.0: bridge window [mem 0xee800000-0xeeafffff]
pci 0000:00:1c.1: PCI bridge to [bus 03-04]
pci 0000:00:1c.1: bridge window [mem 0xee800000-0xeebfffff]
pci 0000:00:1c.3: PCI bridge to [bus 0b]
pci 0000:00:1c.3: bridge window [io 0xc000-0xcfff]
pci 0000:00:1c.3: bridge window [mem 0xeec00000-0xeecfffff]
pci 0000:00:1c.4: PCI bridge to [bus 0c-44]
pci 0000:00:1c.4: bridge window [io 0x1000-0x1fff]
pci 0000:00:1c.4: bridge window [mem 0xd8000000-0xee0fffff]
pci 0000:00:1c.4: bridge window [mem 0xb0000000-0xd1ffffff 64bit pref]
pci_bus 0000:00: resource 4 [io 0x0000-0xffff]
pci_bus 0000:00: resource 5 [mem 0x00000000-0x7fffffffff]
Something that I paid attention is that it says that PnP ACPI is disabled, while when I boot on classic Arch Linux instead of using the xen.efi, dmesg mentions this:
Switched to clocksource hpet
pnp: PnP ACPI init
ACPI: bus type PNP registered
...plus around 20-30 lines before pci and pci_bus appear. I don't know if that Xen fails to work with ACPI may be related - I should test if my BIOS-based Xen installation also doesn't work with ACPI..
Just in case it is needed, this is the current output of lspci when I boot on classic Arch Linux instead of using the Xen-modified one:
00:00.0 Host bridge: Intel Corporation Xeon E3-1200 v3 Processor DRAM Controller (rev 06)
00:01.0 PCI bridge: Intel Corporation Xeon E3-1200 v3/4th Gen Core Processor PCI Express x16 Controller (rev 06)
00:02.0 Display controller: Intel Corporation Xeon E3-1200 v3 Processor Integrated Graphics Controller (rev 06)
00:03.0 Audio device: Intel Corporation Xeon E3-1200 v3/4th Gen Core Processor HD Audio Controller (rev 06)
00:14.0 USB controller: Intel Corporation 8 Series/C220 Series Chipset Family USB xHCI (rev 05)
00:16.0 Communication controller: Intel Corporation 8 Series/C220 Series Chipset Family MEI Controller #1 (rev 04)
00:19.0 Ethernet controller: Intel Corporation Ethernet Connection I217-LM (rev 05)
00:1a.0 USB controller: Intel Corporation 8 Series/C220 Series Chipset Family USB EHCI #2 (rev 05)
00:1b.0 Audio device: Intel Corporation 8 Series/C220 Series Chipset High Definition Audio Controller (rev 05)
00:1c.0 PCI bridge: Intel Corporation 8 Series/C220 Series Chipset Family PCI Express Root Port #1 (rev d5)
00:1c.1 PCI bridge: Intel Corporation 8 Series/C220 Series Chipset Family PCI Express Root Port #2 (rev d5)
00:1c.3 PCI bridge: Intel Corporation 8 Series/C220 Series Chipset Family PCI Express Root Port #4 (rev d5)
00:1c.4 PCI bridge: Intel Corporation 8 Series/C220 Series Chipset Family PCI Express Root Port #5 (rev d5)
00:1d.0 USB controller: Intel Corporation 8 Series/C220 Series Chipset Family USB EHCI #1 (rev 05)
00:1f.0 ISA bridge: Intel Corporation C226 Series Chipset Family Server Advanced SKU LPC Controller (rev 05)
00:1f.2 SATA controller: Intel Corporation 8 Series/C220 Series Chipset Family 6-port SATA Controller 1 [AHCI mode] (rev 05)
00:1f.3 SMBus: Intel Corporation 8 Series/C220 Series Chipset Family SMBus Controller (rev 05)
00:1f.6 Signal processing controller: Intel Corporation 8 Series Chipset Family Thermal Management Controller (rev 05)
01:00.0 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Juniper XT [Radeon HD 5770]
01:00.1 Audio device: Advanced Micro Devices, Inc. [AMD/ATI] Juniper HDMI Audio [Radeon HD 5700 Series]
02:00.0 SATA controller: ASMedia Technology Inc. ASM1062 Serial ATA Controller (rev 01)
03:00.0 PCI bridge: PLX Technology, Inc. PEX 8606 6 Lane, 6 Port PCI Express Gen 2 (5.0 GT/s) Switch (rev ba)
04:01.0 PCI bridge: PLX Technology, Inc. PEX 8606 6 Lane, 6 Port PCI Express Gen 2 (5.0 GT/s) Switch (rev ba)
04:04.0 PCI bridge: PLX Technology, Inc. PEX 8606 6 Lane, 6 Port PCI Express Gen 2 (5.0 GT/s) Switch (rev ba)
04:05.0 PCI bridge: PLX Technology, Inc. PEX 8606 6 Lane, 6 Port PCI Express Gen 2 (5.0 GT/s) Switch (rev ba)
04:07.0 PCI bridge: PLX Technology, Inc. PEX 8606 6 Lane, 6 Port PCI Express Gen 2 (5.0 GT/s) Switch (rev ba)
04:09.0 PCI bridge: PLX Technology, Inc. PEX 8606 6 Lane, 6 Port PCI Express Gen 2 (5.0 GT/s) Switch (rev ba)
08:00.0 USB controller: Renesas Technology Corp. uPD720201 USB 3.0 Host Controller (rev 03)
09:00.0 PCI bridge: Texas Instruments XIO2213A/B/XIO2221 PCI Express to PCI Bridge [Cheetah Express] (rev 01)
0a:00.0 FireWire (IEEE 1394): Texas Instruments XIO2213A/B/XIO2221 IEEE-1394b OHCI Controller [Cheetah Express] (rev 01)
0b:00.0 Ethernet controller: Intel Corporation I210 Gigabit Network Connection (rev 03)
Is there any more info I can provide to see if someone has an idea about why I can't get it working? I suppose someone should have more ideas now that I tracked the issue a bit more.