renaming run-efi to run-x86-64
This commit is contained in:
@@ -36,9 +36,9 @@ Produces the UEFI bootloader (`zig-out/bin/BOOTX64.efi`) and the kernel ELF
|
|||||||
Boot it in QEMU with OVMF (opens a display window):
|
Boot it in QEMU with OVMF (opens a display window):
|
||||||
|
|
||||||
```sh
|
```sh
|
||||||
zig build run-efi
|
zig build run-x86-64
|
||||||
# distro with OVMF elsewhere:
|
# distro with OVMF elsewhere:
|
||||||
zig build run-efi -Dovmf-code=/path/OVMF_CODE.fd -Dovmf-vars=/path/OVMF_VARS.fd
|
zig build run-x86-64 -Dovmf-code=/path/OVMF_CODE.fd -Dovmf-vars=/path/OVMF_VARS.fd
|
||||||
```
|
```
|
||||||
|
|
||||||
## Test
|
## Test
|
||||||
|
|||||||
@@ -116,7 +116,7 @@ pub fn build(b: *std.Build) void {
|
|||||||
|
|
||||||
b.installArtifact(efiexe);
|
b.installArtifact(efiexe);
|
||||||
|
|
||||||
// --- run-efi: boot BOOTX64.efi in QEMU with OVMF firmware ---
|
// --- run-x86-64: boot the x86-64 kernel in QEMU via UEFI/OVMF ---
|
||||||
// Firmware lives in different places per OS/distro, so probe the known
|
// Firmware lives in different places per OS/distro, so probe the known
|
||||||
// layouts (Arch, Debian/Ubuntu, Fedora, macOS Homebrew) and use the first
|
// layouts (Arch, Debian/Ubuntu, Fedora, macOS Homebrew) and use the first
|
||||||
// that exists. Override with -Dovmf-code / -Dovmf-vars if yours is elsewhere.
|
// that exists. Override with -Dovmf-code / -Dovmf-vars if yours is elsewhere.
|
||||||
@@ -187,7 +187,7 @@ pub fn build(b: *std.Build) void {
|
|||||||
run_efi.step.dependOn(&efi_install.step);
|
run_efi.step.dependOn(&efi_install.step);
|
||||||
run_efi.step.dependOn(&kernel_install.step);
|
run_efi.step.dependOn(&kernel_install.step);
|
||||||
|
|
||||||
const run_efi_step = b.step("run-efi", "Boot the EFI app in QEMU (OVMF)");
|
const run_efi_step = b.step("run-x86-64", "Boot the x86-64 kernel in QEMU (UEFI/OVMF)");
|
||||||
run_efi_step.dependOn(&run_efi.step);
|
run_efi_step.dependOn(&run_efi.step);
|
||||||
|
|
||||||
// const run_cmd = b.addRunArtifact(exe);
|
// const run_cmd = b.addRunArtifact(exe);
|
||||||
|
|||||||
+1
-1
@@ -87,5 +87,5 @@ behind the [arch](arch.md) boundary, and when idle, or on a panic, it **halts**
|
|||||||
| Framebuffer text console (mirrors to serial) | `src/console.zig` |
|
| Framebuffer text console (mirrors to serial) | `src/console.zig` |
|
||||||
| In-kernel test cases | `src/tests.zig` |
|
| In-kernel test cases | `src/tests.zig` |
|
||||||
| Arch-specific kernel code (`halt`, GDT/IDT/TSS, exception + interrupt stubs, page tables, APIC/timer, serial, linker script) | `src/arch/x86_64/` |
|
| Arch-specific kernel code (`halt`, GDT/IDT/TSS, exception + interrupt stubs, page tables, APIC/timer, serial, linker script) | `src/arch/x86_64/` |
|
||||||
| Build + `run-efi` (QEMU/OVMF) | `build.zig` |
|
| Build + `run-x86-64` (QEMU/OVMF) | `build.zig` |
|
||||||
| QEMU integration test harness | `test/qemu_test.py` |
|
| QEMU integration test harness | `test/qemu_test.py` |
|
||||||
|
|||||||
+1
-1
@@ -25,7 +25,7 @@ esp/EFI/BOOT/BOOTX64.efi <- the "removable media" default for x86-64
|
|||||||
|
|
||||||
That's exactly the layout `build.zig` assembles. It builds `src/efi.zig` for the
|
That's exactly the layout `build.zig` assembles. It builds `src/efi.zig` for the
|
||||||
`uefi` target, installs it to `esp/EFI/BOOT/BOOTX64.efi`, and drops the kernel ELF
|
`uefi` target, installs it to `esp/EFI/BOOT/BOOTX64.efi`, and drops the kernel ELF
|
||||||
at `esp/danos`. The `run-efi` step then points QEMU at OVMF (UEFI firmware for
|
at `esp/danos`. The `run-x86-64` step then points QEMU at OVMF (UEFI firmware for
|
||||||
virtual machines) and presents that `esp/` directory to the guest as a FAT drive.
|
virtual machines) and presents that `esp/` directory to the guest as a FAT drive.
|
||||||
The firmware finds `BOOTX64.efi` and runs it — that's our `main()`.
|
The firmware finds `BOOTX64.efi` and runs it — that's our `main()`.
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user