blob: e36778bc5d6b567ad4a29eeceff31105b61dab95 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
|
qemu-system-riscv64 failed to load binary kernel into memory
QEMU Version: 5.1.0
Compiled in Ubuntu 20.04 for riscv64, following the guide https://risc-v-getting-started-guide.readthedocs.io/en/latest/linux-qemu.html.
In qemu-system-riscv64, code at 0x80000000 will be executed by virtual CPU.
For example, using `qemu-system-riscv64 -nographic -machine virt -bios none -kernel vmlinux -S -s`, my homebrew kernel(ELF file) will load at 0x80000000. If I strip the kernel using `riscv64-linux-gnu-objcopy -O binary vmlinux Image`, qemu-system-riscv64 will not load the binary machine code into the riscv64 load address, but `-bios Image` will.
In `qemu-system-aarch64` compiled by Ubuntu team, I can use `qemu-system-aarch64 -M raspi3 -kernel Image_aarch64 -S -s` to load a specific machine code binary into 0x80000. And the elf kernel can be loaded to that address, too.
|