Re: [RFC PATCH 1/4] efi/libstub: Avoid legacy decompressor zlib/zstd wrappers

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

 



On Tue, 14 Jan 2025 at 16:08, Guenter Roeck <linux@xxxxxxxxxxxx> wrote:
>
> On 1/14/25 03:40, Ard Biesheuvel wrote:
> > On Tue, 14 Jan 2025 at 08:33, Ard Biesheuvel <ardb@xxxxxxxxxx> wrote:
> >>
> >> On Tue, 14 Jan 2025 at 01:31, Guenter Roeck <linux@xxxxxxxxxxxx> wrote:
> >>>
> >>> Hi,
> >>>
> >>> On Wed, Dec 18, 2024 at 04:03:17PM +0100, Ard Biesheuvel wrote:
> >>>> From: Ard Biesheuvel <ardb@xxxxxxxxxx>
> >>>>
> >>>> Remove the dependency on the decompression wrappers used by the legacy
> >>>> decompressor, which do some odd things like providing a barebones
> >>>> malloc() implementation. Instead, implement GZIP deflate and ZSTD
> >>>> decompression in terms of the underlying libraries.
> >>>>
> >>>> Signed-off-by: Ard Biesheuvel <ardb@xxxxxxxxxx>
> >>>
> >>> With this patch in linux-next, my loongarch boot tests with qemu
> >>> no longer boot. Log message is:
> >>>
> >>> qemu log:
> >>> EFI stub: Decompressing Linux Kernel...
> >>> EFI stub: EFI_RNG_PROTOCOL unavailable
> >>> EFI stub: Loaded initrd from LINUX_EFI_INITRD_MEDIA_GUID device path
> >>> EFI stub: Exiting boot services
> >>>
> >>> ... and then there is nothing until I abort the emulation.
> >>>
> >>> Reverting this patch results in a build failure, so I awas not able to
> >>> test it. Bisect results are atatched for reference.
> >>>
> >>
> >> Thanks for the report - I'll drop the patch for now, and try again next cycle.
> >
> > Mind sharing your config/firmware/command line details? I'm failing to
> > reproduce the issue.
>
> qemu-system-loongarch64 -M virt -cpu \
>       la464 -kernel arch/loongarch/boot/vmlinuz.efi -smp 2 \
>       -no-reboot -m 4G -initrd rootfs.cpio \
>       -bios QEMU_EFI-loongarch64.fd \
>       --append "panic=-1 kunit.stats_enabled=2 kunit.filter=speed>slow rdinit=/sbin/init console=ttyS0,115200 earlycon=uart8250,mmio,0x1fe001e0,115200n8" \
>       -nographic -serial stdio -monitor none
>
> qemu version is 9.1. The EFI image is at
> https://github.com/groeck/linux-build-test/blob/master/rootfs/firmware/QEMU_EFI-loongarch64.fd
> and the initrd is at
> https://github.com/groeck/linux-build-test/blob/master/rootfs/loongarch/rootfs.cpio.gz
>
> Configuration is defconfig with various debug options enabled.
>
> I'll be happy to make a test directory available with all information needed
> if that helps. Please let me know.
>

Everything works fine with my distro QEMU:

$ qemu-system-loongarch64 --version
QEMU emulator version 8.2.4 (Debian 1:8.2.4+ds-1+build1)
Copyright (c) 2003-2023 Fabrice Bellard and the QEMU Project developers

and it doesn't matter if I use your firmware or my own (grabbed
randomly from [0])

When I build QEMU from source (stable-9.2), things still work happily
if I use that same firmware. With your firmware, my QEMU 9.2 is
completely dead.

Where did you find that image? I tried rebuilding it myself from a
recent EDK2 base, but that doesn't work at all either.

[0] https://github.com/AOSC-Dev/LoongArchQemuVirtFirmware




[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Security]     [Bugtraq]     [Linux OMAP]     [Linux MIPS]     [ECOS]     [Asterisk Internet PBX]     [Linux API]

  Powered by Linux