RISC-V/ARM64 交叉编译 Linux 生成生成的是 EFI 文件而不是 ELF?能不能生成 ELF?

查看 48|回复 2
作者:yuanix   
这是 RISC-V 交叉编译生成的 Linux 内核,file 命令查看发现是 EFI 格式
file arch/riscv/boot/Image
arch/riscv/boot/Image: MS-DOS executable PE32+ executable (EFI application) RISC-V 64-bit (stripped to external PDB), for MS Windows
这是 AMD64 机器上的内核,可以看到是 ELF 格式
file /boot/vmlinuz-5.10.0-23-amd64
/boot/vmlinuz-5.10.0-23-amd64: Linux kernel x86 boot executable bzImage, version 5.10.0-23-amd64 ([email protected]) #1 SMP Debian 5.10.179-1 (2023-05-12), RO-rootFS, swap_dev 0x6, Normal VGA
RISC-V 交叉编译的内核输出文件能否控制格式,生成 ELF ?
查了一下,了解了 EFI STUB ,不过还是好奇能不能生成 ELF 格式的 RISC-V Linux 内核?
以及 QEMU RSIC-V 的-kernel参数是否支持加载 ELF 格式的内核文件?
希望大佬指点一下,查了半天没找到什么资料
更新一点现在我知道的东西:
qemu-system-riscv64 的 -kernel 参数至少可以接受
flat binary: U-Boot编译目标文件 u-boot.bin
ELF: U-Boot编译目标文件 u-boot
EFI: Linux kernel编译目标文件 Image

elf, risc-v, Boot, amd64

ysc3839   
更新一点现在我知道的东西:
qemu-system-riscv64 的 -kernel 参数至少可以接受
  • flat binary: U-Boot编译目标文件 u-boot.bin
  • ELF: U-Boot编译目标文件 u-boot
  • EFI: Linux kernel编译目标文件 Image

  • ysc3839   
    CONFIG_EFI_STUB?
    您需要登录后才可以回帖 登录 | 立即注册

    返回顶部