qemu-system-i386:在没有 PVH ELF 的情况下加载未压缩的内核时出错
qemu-system-i386: Error loading uncompressed kernel without PVH ELF Note
我正在尝试使用以下代码将我的 OS 启动到 qemu:
qemu-system-i386 -kernel MyOS/mykernel.elf
但是我一直收到这个错误:
qemu-system-i386: Error loading uncompressed kernel without PVH ELF Note
这是我用来构建的代码:
i686-elf-gcc -std=gnu99 -ffreestanding -g -c MyOS/start.s -o MyOS/start.o
i686-elf-gcc -std=gnu99 -ffreestanding -g -c MyOS/kernel.c -o MyOS/kernel.o
i686-elf-gcc -ffreestanding -nostdlib -g -T MyOS/linker.ld MyOS/start.o MyOS/kernel.o -o MyOS/mykernel.elf -lgcc
qemu-system-i386 -kernel MyOS/mykernel.elf
我的文件:
kernel.c/o
start.s/o
linker.ld
mykernel.elf
有人可以帮忙吗?如果您需要代码以防万一是代码的错误或其他原因,请回复说明。
尝试将此添加到命令行
-machine type=pc-i440fx-3.1
来源:https://forum.osdev.org/viewtopic.php?f=1&t=33638
或者看看这个
How can I create a PVH "kernel" that will be run by qemu
希望对您有所帮助
我正在尝试使用以下代码将我的 OS 启动到 qemu:
qemu-system-i386 -kernel MyOS/mykernel.elf
但是我一直收到这个错误:
qemu-system-i386: Error loading uncompressed kernel without PVH ELF Note
这是我用来构建的代码:
i686-elf-gcc -std=gnu99 -ffreestanding -g -c MyOS/start.s -o MyOS/start.o
i686-elf-gcc -std=gnu99 -ffreestanding -g -c MyOS/kernel.c -o MyOS/kernel.o
i686-elf-gcc -ffreestanding -nostdlib -g -T MyOS/linker.ld MyOS/start.o MyOS/kernel.o -o MyOS/mykernel.elf -lgcc
qemu-system-i386 -kernel MyOS/mykernel.elf
我的文件:
kernel.c/o
start.s/o
linker.ld
mykernel.elf
有人可以帮忙吗?如果您需要代码以防万一是代码的错误或其他原因,请回复说明。
尝试将此添加到命令行
-machine type=pc-i440fx-3.1
来源:https://forum.osdev.org/viewtopic.php?f=1&t=33638
或者看看这个 How can I create a PVH "kernel" that will be run by qemu
希望对您有所帮助