Я пытаюсь загрузить минимальный двоичный файл, используя QEMU, но я получаю статус ошибки команды: не найдено .
Qemu Boots в его оболочку и когда я перейду в FS0: я вижу файл в \ efi \ bootx64.efi , но я не могу загрузить его. Я думаю, что мой код выглядит нормально, и точка входа определяется, как и должно быть. Я попытался заменить последний цикл на ret , но он ничего не изменил..section .text
.code64
.globl efi_main
efi_main:
xor %eax, %eax
.loop:
jmp .loop
< /code>
fi.ld
OUTPUT_FORMAT("pei-x86-64")
ENTRY(efi_main)
SECTIONS {
. = 0x1000;
.text : { *(.text) }
.data : { *(.data) }
.rdata : { *(.rdata) }
.bss : { *(.bss COMMON) }
}
< /code>
makefile < /p>
all: fat.img
boot.o: boot.S
as --64 -o boot.o boot.S
boot.pe: boot.o efi.ld
ld -nostdlib -e efi_main -T efi.ld -o boot.pe boot.o
BOOTX64.EFI: boot.pe
objcopy -j .text -j .data -j .bss \
--target=efi-app-x86_64 boot.pe BOOTX64.EFI
fat.img: BOOTX64.EFI
mkdir -p iso/EFI/BOOT
cp BOOTX64.EFI iso/EFI/BOOT
dd if=/dev/zero of=fat.img bs=1M count=10
mkfs.vfat fat.img
mcopy -i fat.img -s iso/* ::/
run: OVMF_VARS.fd fat.img
qemu-system-x86_64 \
-drive if=pflash,format=raw,readonly=on,file=/usr/share/OVMF/OVMF_CODE.fd \
-drive if=pflash,format=raw,file=./OVMF_VARS.fd \
-drive format=raw,file=fat.img \
-net none
clean:
rm -rf BOOTX64.EFI *.o *.pe iso fat.img
Подробнее здесь: https://stackoverflow.com/questions/796 ... -qemu-uefi
Не могу загрузить минимальный код ассемблера в Qemu UEFI ⇐ Linux
-
Anonymous
1749674289
Anonymous
Я пытаюсь загрузить минимальный двоичный файл, используя QEMU, но я получаю статус ошибки команды: не найдено .
Qemu Boots в его оболочку и когда я перейду в FS0: я вижу файл в \ efi \ bootx64.efi , но я не могу загрузить его. Я думаю, что мой код выглядит нормально, и точка входа определяется, как и должно быть. Я попытался заменить последний цикл на ret , но он ничего не изменил..section .text
.code64
.globl efi_main
efi_main:
xor %eax, %eax
.loop:
jmp .loop
< /code>
fi.ld
OUTPUT_FORMAT("pei-x86-64")
ENTRY(efi_main)
SECTIONS {
. = 0x1000;
.text : { *(.text) }
.data : { *(.data) }
.rdata : { *(.rdata) }
.bss : { *(.bss COMMON) }
}
< /code>
makefile < /p>
all: fat.img
boot.o: boot.S
as --64 -o boot.o boot.S
boot.pe: boot.o efi.ld
ld -nostdlib -e efi_main -T efi.ld -o boot.pe boot.o
BOOTX64.EFI: boot.pe
objcopy -j .text -j .data -j .bss \
--target=efi-app-x86_64 boot.pe BOOTX64.EFI
fat.img: BOOTX64.EFI
mkdir -p iso/EFI/BOOT
cp BOOTX64.EFI iso/EFI/BOOT
dd if=/dev/zero of=fat.img bs=1M count=10
mkfs.vfat fat.img
mcopy -i fat.img -s iso/* ::/
run: OVMF_VARS.fd fat.img
qemu-system-x86_64 \
-drive if=pflash,format=raw,readonly=on,file=/usr/share/OVMF/OVMF_CODE.fd \
-drive if=pflash,format=raw,file=./OVMF_VARS.fd \
-drive format=raw,file=fat.img \
-net none
clean:
rm -rf BOOTX64.EFI *.o *.pe iso fat.img
Подробнее здесь: [url]https://stackoverflow.com/questions/79662619/cant-boot-minimal-assembler-code-in-qemu-uefi[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия