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

ARM64 platform, very serious, UEFI hardware damage problem



Hello, Debian Developers.

I installed Debian 12 BooksWorm on Phytium(飞腾)'s computer.
These PCs are based on the ARM64 UEFI platform.
After restarting, The motherboard cannot boot and keeps black screen.
The motherboard has to be returned to the factory for repair to solve the problem.
These UEFI firmware are made by Kunlun Tech(昆仑太科) or Byo software(百敖软件).
After Debian operating system is installed, Debian installer will write Debian boot entries to the UEFI.
However, the UEFI of the Phytium(飞腾)motherboard may have some kind of incompatibility with the installer.
This write operation can cause UEFI damage.
Some motherboard manufacturers have stopped maintaining the UEFI,
so I would like to ask your advices on how to disable the installer writing boot entry to the UEFI.

Some users with similar experiences have speculated on the reason for the damage.
https://gitee.com/atzlinux/debian-cn/issues/I4RJDW

The uefi boot entry should be on the nvram, and BIOS discharges should be useless.
I guess it's a bug in uefi. When writing boot items to nvram, it breaks other places. And UEFI is damaged
linux indirectly let uefi write data through uefi's runtime interface. It probably looks like this.
Why would installing the system will damage the firmware? Could efibootmgr write variable to damage the firmware?
Oh, that's possible, because /sys/firmware/efi/efivars/ is what the kernel reads out of the firmware for efibootmgr to use
I don't think debian should be blamed for this. Even if debian calls the runtime interface in the wrong position,
runtime can't write itself badly.
efibootmgr installation of new boot entries and adjusting the order are handled by the kernel
and firmware runtime to complete the deal
That's because the kernel and firmware calls to runtime are not handled properly
If you are debugging UEFI, all I can think of is to add printing to all the functions of the EFI_RUNTIME_SERVICES interface
to see what interfaces the debian installer has tuned and what parameters it has passed. The focus is on SetXxx functions
such as SetVariable(), SetVirutalAddressMap and other functions.
I have also installed ubuntu 21.04 on d2000-8 and everything works fine. Coexisting with the original debian 11.
My current practice is to go to the last step of the debian installation, when it says to remove the installation media,
just power off, unplug the USB drive and then manually create boot entries in the bios, and then it's fine.

Reply to: