On Thu, 29 Feb 2024 at 03:01, Kunkun Jiang <jiangkun...@huawei.com> wrote: > > Hi Peter, > > On 2024/2/27 23:28, Peter Maydell wrote: > > On Tue, 27 Feb 2024 at 14:42, Kunkun Jiang via <qemu-devel@nongnu.org> > > wrote: > >> Hi everybody, > >> > >> I want to start qemu-system-aarch64 with a vmlinux, > >> which is an ELF format file. The arm_load_elf() is > >> implemented in arm_setup_direct_kernel_boot(). So I > >> thought it was supporting the ELF format file. > > No, you can't do this. The hw/arm/boot.c code assumes > > that ELF files are "bare metal" binaries, whereas > > uImage format, AArch64 Image format, and raw binary files > > are Linux kernels. Only the last three kinds of files will > > be started with the boot protocol the Linux kernel expects. > > > > For AArch64, pass the -kernel option the path to the Image > > file, not the vmlinux file. > > Yes, it works fine using Image files. > I would also like to ask again, is it because AArch64 does not > support vmlinux, or is it because qemu does not implement > this capability?
As I said, it is because QEMU assumes that ELF files are bare metal images, not Linux kernel images. -- PMM