On Sat Feb 22, 2025 at 11:59 AM CET, Aurelien Jarno wrote: > Starting with version 6.13.3-1~exp1, the riscv64 kernel is shipped as a > EFI binary with the payload compressed with zstd (using the EFI_ZBOOT > config option). In addition to breaking non-EFI systems, this change
Breaks non-EFI systems. Isn't that like 95+% of arm64 boards? On Mon Feb 24, 2025 at 7:18 PM CET, Aurelien Jarno wrote: > Let me summarize the situation for external reviewers. > ... > I was told ... Debian Installer does not support non-UEFI Wrong. > The situation worsened when I realized that the changes do not even work > on a real riscv64 board installed using the standard Debian installer: Testing on real hardware seems useful ... > Sure this has been tested as mentioned in the MR [2], but it appears The MR indicates it has been tested with QEMU. Someone said: "arm64 build *looks* good to me" (emphasis mine) If it was tested on real hardware it would have said so and mentioned on which hardware. It doesn't, so it's safe to assume it was NOT tested on real hardware. > that booting a kernel with QEMU + EDK2 is not comparable to booting a > kernel with a real board + U-Boot + Grub. Indeed. You can configure QEMU to have the features you want/need. That does not mean that all real boards support that. > At this stage I have not seen a strong arguments for the original > commit. The reason that have been given a posteriori are: > - Smaller images, so often faster load times. That's due to compression. You can have compression without EFI. > - Feature parity between architectures. > - Fullfils the interface (U)EFI and works fine in edk2. Right. EDK2. This is a joke, right? Looking at https://github.com/edk2-porting I see the following repos: - edk2-rk3588 ("EDK2 UEFI firmware for Rockchip RK3588 platforms") - edk2-msm ("Broken edk2 port for Qualcomm platforms xD") So there is *partial* support for some rk3588 based devices and broken support for (some?) Qualcomm based devices. That's it. Looking at the contributors for edk2-rk3588 I see there are *3* people with more then 10 commits ... and one indicates he's inactive. I haven't found any other indication it has some real momentum. > I don't believe the above reasons are enough to enforce UEFI only > kernel and break the boot on existing boards. In addition the "forky So I *actually* tested it on my Pine64 Quartz64 Model A board (rk3566) by upgrading Debian's 6.13.2 kernel (which works) to the 6.13.4 kernel. FWIW/FTR: My Q64-A board has a self-compiled U-Boot 2024.10-rc6. Aurelien indicated he wanted this bug to be about RISC-V, so I'll just attach my serial log in case ppl want to see that. TL;DR: My U-Boot found out that it CAN'T load Debian's 6.13.4 kernel and tries the next one till it finds one which it can boot ... which was my 6.13 kernel (without EFI_ZBOOT). On Sun Feb 23, 2025 at 10:07 PM CET, Aurelien Jarno wrote: > On 2025-02-23 21:45, Bastian Blank wrote: >> Please re-assign to the bootloader package. > > I disagree. The bootloader is u-boot and while it might be fixable at > this level, debian should be bootable on the original firmware. Most people use the bootloader/U-Boot that was shipped with the product and never update it. I can understand why as the goal of the bootloader is to boot the device, so when it does that ... why upgrade? https://bugs.debian.org/1095745 is about broken backward compatibility and that is a *kernel* bug. My 0.02 > [2] https://salsa.debian.org/kernel-team/linux/-/merge_requests/1362
DDR 2d653b3476 typ 24/01/20-15:04:19,fwver: v1.21 ln LP4/4x derate en, other dram:1x trefi ddrconfig:7 LPDDR4X, 324MHz BW=32 Col=10 Bk=8 CS0 Row=17 CS1 Row=17 CS=2 Die BW=8 Size=8192MB change to: 324MHz PHY drv:clk:36,ca:36,DQ:29,odt:0 vrefinner:24%, vrefout:41% dram drv:40,odt:0 clk skew:0x61 rx vref: 34.4% tx vref: 40.0% change to: 528MHz PHY drv:clk:36,ca:36,DQ:29,odt:0 vrefinner:24%, vrefout:41% dram drv:40,odt:0 clk skew:0x58 rx vref: 34.4% tx vref: 40.0% change to: 780MHz PHY drv:clk:36,ca:36,DQ:29,odt:60 vrefinner:16%, vrefout:41% dram drv:40,odt:0 clk skew:0x58 rx vref: 16.6% tx vref: 40.0% change to: 1056MHz(final freq) PHY drv:clk:36,ca:36,DQ:29,odt:60 vrefinner:16%, vrefout:22% dram drv:40,odt:80 clk skew:0x36 WG�8�## Checking hash(es) for config config-1 ... OK ## Checking hash(es) for Image atf-1 ... sha256+ OK ## Checking hash(es) for Image u-boot ... sha256+ OK ## Checking hash(es) for Image fdt-1 ... sha256+ OK ## Checking hash(es) for Image atf-2 ... sha256+ OK ## Checking hash(es) for Image atf-3 ... sha256+ OK ## Checking hash(es) for Image atf-4 ... sha256+ OK ## Checking hash(es) for Image atf-5 ... sha256+ OK ## Checking hash(es) for Image atf-6 ... sha256+ OK INFO: Preloader serial: 2 NOTICE: BL31: v2.3():v2.3-645-g8cea6ab0b:cl, fwver: v1.44 NOTICE: BL31: Built : 16:36:43, Sep 19 2023 INFO: GICv3 without legacy support detected. INFO: ARM GICv3 driver initialized in EL3 INFO: pmu v1 is valid 220114 INFO: l3 cache partition cfg-0 INFO: dfs DDR fsp_param[0].freq_mhz= 1056MHz INFO: dfs DDR fsp_param[1].freq_mhz= 324MHz INFO: dfs DDR fsp_param[2].freq_mhz= 528MHz INFO: dfs DDR fsp_param[3].freq_mhz= 780MHz INFO: Using opteed sec cpu_context! INFO: boot cpu mask: 0 INFO: BL31: Initializing runtime services WARNING: No OPTEE provided by BL2 boot loader, Booting device without OPTEE initialization. SMC`s destined for OPTEE will return SMC_UNK ERROR: Error initializing runtime service opteed_fast INFO: BL31: Preparing for EL3 exit to normal world INFO: Entry point address = 0xa00000 INFO: SPSR = 0x3c9 U-Boot 2024.10-rc6-00001-g6ae26229b09f (Oct 01 2024 - 17:15:24 +0200) Model: Pine64 Quartz64 Model A DRAM: 8 GiB (effective 7.7 GiB) PMIC: RK817 (on=0x40, off=0x00) Core: 320 devices, 26 uclasses, devicetree: separate MMC: mmc@fe2b0000: 1, mmc@fe2c0000: 2, mmc@fe310000: 0 Loading Environment from nowhere... OK In: serial@fe660000 Out: serial@fe660000 Err: serial@fe660000 Model: Pine64 Quartz64 Model A Net: No ethernet found. Hit any key to stop autoboot: 0 Scanning for bootflows in all bootdevs Seq Method State Uclass Part Name Filename --- ----------- ------ -------- ---- ------------------------ ---------------- Scanning global bootmeth 'efi_mgr': Card did not respond to voltage select! : -110 Card did not respond to voltage select! : -110 No EFI system partition No EFI system partition Failed to persist EFI variables No EFI system partition Failed to persist EFI variables No EFI system partition Failed to persist EFI variables 0 efi_mgr ready (none) 0 <NULL> ** Booting bootflow '<NULL>' with efi_mgr Loading Boot0000 'mmc 0' failed EFI boot manager: Cannot load any image Boot failed (err=-14) Scanning bootdev 'mmc@fe2b0000.bootdev': Card did not respond to voltage select! : -110 Scanning bootdev 'mmc@fe310000.bootdev': 1 extlinux ready mmc 5 m...@fe310000.bootdev.part /boot/extlinux/extlinux.conf ** Booting bootflow 'mmc@fe310000.bootdev.part_5' with extlinux U-Boot menu 1: Debian GNU/Linux trixie/sid 6.13-arm64 2: Debian GNU/Linux trixie/sid 6.13-arm64 (rescue target) 3: Debian GNU/Linux trixie/sid 6.13+unreleased-arm64-cknow 4: Debian GNU/Linux trixie/sid 6.13+unreleased-arm64-cknow (rescue target) 5: Debian GNU/Linux trixie/sid 6.13-rc2+unreleased-arm64-cknow 6: Debian GNU/Linux trixie/sid 6.13-rc2+unreleased-arm64-cknow (rescue target) 7: Debian GNU/Linux trixie/sid 6.12.8-arm64 8: Debian GNU/Linux trixie/sid 6.12.8-arm64 (rescue target) Enter choice: 1: Debian GNU/Linux trixie/sid 6.13-arm64 Retrieving file: /boot/vmlinuz-6.13-arm64 Retrieving file: /boot/initrd.img-6.13-arm64 append: root=UUID=024bfeaf-e7f8-45f4-b6eb-ccc2c679f52e ignore_loglevel ro rootwait earlycon console=tty0 console=ttyS2,1500000n8 fw_devlink=off Retrieving file: /usr/lib/linux-image-6.13-arm64/rockchip/rk3566-quartz64-a.dtb Bad Linux ARM64 Image magic! 2: Debian GNU/Linux trixie/sid 6.13-arm64 (rescue target) Retrieving file: /boot/vmlinuz-6.13-arm64 Retrieving file: /boot/initrd.img-6.13-arm64 append: root=UUID=024bfeaf-e7f8-45f4-b6eb-ccc2c679f52e ignore_loglevel ro rootwait earlycon console=tty0 console=ttyS2,1500000n8 fw_devlink=off single Retrieving file: /usr/lib/linux-image-6.13-arm64/rockchip/rk3566-quartz64-a.dtb Bad Linux ARM64 Image magic! 3: Debian GNU/Linux trixie/sid 6.13+unreleased-arm64-cknow Retrieving file: /boot/vmlinuz-6.13+unreleased-arm64-cknow Retrieving file: /boot/initrd.img-6.13+unreleased-arm64-cknow append: root=UUID=024bfeaf-e7f8-45f4-b6eb-ccc2c679f52e ignore_loglevel ro rootwait earlycon console=tty0 console=ttyS2,1500000n8 fw_devlink=off Retrieving file: /usr/lib/linux-image-6.13+unreleased-arm64-cknow/rockchip/rk3566-quartz64-a.dtb ## Flattened Device Tree blob at 12000000 Booting using the fdt blob at 0x12000000 Working FDT set to 12000000 Loading Ramdisk to eaac9000, end eceadef8 ... OK Loading Device Tree to 00000000eaab8000, end 00000000eaac8fd6 ... OK Working FDT set to eaab8000 Starting kernel ... [ 0.000000] Booting Linux on physical CPU 0x0000000000 [0x412fd050] [ 0.000000] Linux version 6.13+unreleased-arm64-cknow (debian-ker...@lists.debian.org) (aarch64-linux-gnu-gcc-14 (Debian 14.2.0-12) 14.2.0, GNU ld (GNU Binutils for Debian) 2.43.50.20250 108) #1 SMP Debian 6.13-1~cknow (2025-01-24) [ 0.000000] KASLR enabled [ 0.000000] Machine model: Pine64 Quartz64 Model A [ 0.000000] printk: debug: ignoring loglevel setting. [ 0.000000] efi: UEFI not found. [ 0.000000] earlycon: uart0 at MMIO32 0x00000000fe660000 (options '1500000n8') [ 0.000000] printk: legacy bootconsole [uart0] enabled
signature.asc
Description: PGP signature