projectacrn / acrn-hypervisor

Project ACRN hypervisor
BSD 3-Clause "New" or "Revised" License
1.15k stars 524 forks source link

EFI firmware :Not Found #3912

Closed paspndevops closed 5 years ago

paspndevops commented 5 years ago

NAME="Ubuntu" VERSION="18.04.3 LTS (Bionic Beaver)" Manufacturer: Intel Corporation Product Name: NUC7i7DNKE Version: J85069-204 Serial Number: DW1703483900155 Family: Intel NUC

After Configure the EFI firmware to boot the ACRN hypervisor by default with v1.3:

efibootmgr -c -l "\EFI\acrn\acrn.efi" -d /dev/sda -p 1 -L "ACRN" -u "uart=disabled"

Detected 8 process, 1 enabled : Not Found Hit any key to exit

a bootable device has not been detected

==================================================

cat /etc/grub.d/40_custom menuentry 'ACRN ubuntu SOS' { recordfail load_video insmod gzio insmod part_gpt insmod ext2 linux /boot/acrn/org.clearlinux.iot-lts2019.5.3.0_rc8-9 pci_devices_ignore=(0:18:1) console=tty0 console=ttyS0 root=PARTUUID= rw rootwait ignore_loglevel no_timer_check consoleblank=0 i915.nuclear_pageflip=1 i915.avail_planes_per_pipe=0x01010F i915.domain_plane_owners=0x011111110000 i915.enable_gvt=1 i915.enable_guc=0 hvlog=2M@0x1FE00000

ttzeng commented 5 years ago

@paspndevops it looks like you are booting ACRN with GRUB, you will need the ELF32 executable acrn.32.out instead, as the acrn.efi will load the wrapper for systemd-boot bootloader bootloaderx64.efi by default. It looks like you installed Ubuntu instead Clear Linux on your NUC, so systemd-boot is not installed. Reference the ACRN direct-boot mode for detailed information. There is also a sample grub.cfg for your reference, note that your kernel module name must match exactly the symbol in the source code depending on the scenario you plan to use. Having said that, you are encouraged to compile the source code, and boot your acrn.32.out.

Mingyuan18 commented 5 years ago

[External_System_ID] ACRN-5512

fuzhongl commented 5 years ago

@paspndevops Do you copy acrn.efi to /boot/EFI/acrn/acrn.efi? Do you install in the SATA SSD or NVMe SSD?

For SATA

sudo efibootmgr -c -l "\EFI\acrn\acrn.efi" -d /dev/sda -p 1 \ -L "ACRN Hypervisor" -u "bootloader=\EFI\ubuntu\grubx64.efi"

For NVMe

sudo efibootmgr -c -l "\EFI\acrn\acrn.efi" -d /dev/nvme0n1 -p 1 \ -L "ACRN Hypervisor" -u "bootloader=\EFI\ubuntu\grubx64.efi"

Please use following CMD to check the memory of your NUC: dmidecode --type 17

Thanks!

paspndevops commented 5 years ago

@fuzhongl Yes copied acrn.efi to /boot/efi/EFI/acrn/acrn.efi and executed

sudo efibootmgr -c -l "\EFI\acrn\acrn.efi" -d /dev/sda -p 1 -L "ACRN Hypervisor" -u "bootloader=\EFI\ubuntu\grubx64.efi"

same not able to boot into EFI

fuzhongl commented 5 years ago

@paspndevops Please use following cmd to check the memory size of your NUC: dmidecode --type 17

Thanks!

paspndevops commented 5 years ago

Handle 0x0036, DMI type 17, 40 bytes Array Handle:0x0035


Handle 0x0037, DMI type 17, 40 bytes Handle 0x0038, DMI type 17, 40 bytes Handle 0x0039, DMI type 17, 40 bytes

paspndevops commented 5 years ago

make all BOARD=nuc7i7dnb SCENARIO=industry With above i am able to boot with EFI and selected org.clearlinux.iot-lts2019.5.3.0_rc8-9 Even if i selected Ubuntu kernel it was not booting.

Thanks in advance

fuzhongl commented 5 years ago

@paspndevops Thanks for update. ACRN related kernel patches aren't upstreamed to org.clearlinux.iot-lts2019.5.3.0 yet. Could you please try with our acrn-kernel code? https://github.com/projectacrn/acrn-kernel Thanks!

paspndevops commented 5 years ago

@fuzhongl Thanks for quick reply Shell i try clr-Linux on virtual-box on top of UBUNTU 18.04 https://projectacrn.github.io/latest/getting-started/apl-nuc.html

Also please suggest me which build need to try

Thanks

fuzhongl commented 5 years ago

@paspndevops Please try CL 30180 build; it is the verified Build for V1.3 release. Thanks!

paspndevops commented 5 years ago

@fuzhongl Hi i Tried with 30180 and executed acrn_quick_setup.sh successfully after reboot(selected iot-sos kernel) it was struck at

acrn-br0: port 2(enp0s3) entered blocking state acrn-br0: port 2(enp0s3) entered forwarding state hrtimer: interrupt took 7149418 ns

fuzhongl commented 5 years ago

@paspndevops Sorry for typo; this is 31080; not 30180. Please try again. Thanks!

paspndevops commented 5 years ago

@fuzhongl

Yes i tried with 31080 build (clear-31080-live-server.iso)

and my nuc supports (org.clearlinux.iot-lts2019.5.3.0_rc8-9) it was not supporting org.clearlinux.iot-lts2018. Could you guide me what are the changes required in script file(acrn_quick_setup.sh)

Thanks in advance for your time

fuzhongl commented 5 years ago

@paspndevops acrn_quick_setup.sh will copy acrn.efi and acrn-dm to the right directory. You can follow "Manually Set Up ACRN" part of below link: https://projectacrn.github.io/latest/tutorials/kbl-nuc-sdc.html Thanks!