Commit Graph

87 Commits

Author SHA1 Message Date
Wildan Mubarok
fd370ccf7e Dynamically search UEFI firmware 2025-06-29 12:21:15 -06:00
bjorn3
fb64e5e9b8 Use the build dir as tftproot and build a suitable tftproot when building the live disk 2025-06-22 20:23:28 +02:00
bjorn3
d2fde06fd1 Rename livedisk.iso to redox-live.iso 2025-06-22 20:20:09 +02:00
bjorn3
41b51f692a Add support for netboot
This includes building a tftp root and using it with qemu.
2025-06-01 20:54:56 +02:00
bjorn3
35b9b69c6d Fix qemu config for multi-head gpu
The old config would create two separate VGA compatible graphics
adapters. Redox currently only supports this when the firmware
initializes both graphics adapters as boot framebuffers. Only UEFI
supports this however. Using a single multi-head virtio-gpu graphics
adapter makes it work on BIOS too.
2025-03-02 20:43:51 +01:00
Andrey Turkin
6205eafd4c Fix make qemu rasperry pi 3b emulation 2024-12-16 06:50:21 +03:00
Jeremy Soller
9d789178be
Make it possible to set qemu machine for aarch64 2024-10-29 08:52:10 -06:00
Andrey Turkin
03633046cc Riscv64gc support in the build scripts
This architecture is different from x86/aarch because its rust triplet (riscv64gc-...) differs from gcc/llvm/binutils triplet (more general riscv64-...). Therefore the build scripts have to bridge that mismatch.

This introduces new build-time environment variable GNU_TARGET which corresponds to a target used by C world utilities whereas existing TARGET now describes rust target.
2024-09-30 10:28:37 +03:00
Ribbon
8cd0b1af0f Rename two make options to a correct name 2024-07-20 00:47:36 +00:00
Ribbon
49102f6332 Add explanation comments on the build system files 2024-07-09 12:58:07 +00:00
Jeremy Soller
db2da8206e
Clarify qemu argument for ata disk 2024-06-14 08:59:39 -06:00
bjorn3
1448667c3d Replace separate targets for each disk kind with a make flag
A command like `make qemu_nvme` will become `make qemu disk=nvme` with
this change.

Also add support for selecting a virtio-blk disk and remove the
*_no_build targets as they didn't do anything different from the regular
targets anyway.
2024-06-13 17:17:57 +02:00
Jeremy Soller
a393103334
use usb-tablet instead of usb-mouse for qemu aarch64 2024-05-08 13:08:54 -06:00
Ron Williams
b5f22bd20f Make QEMU smp and mem options configurable 2024-04-04 13:08:10 +00:00
Jeremy Soller
ff74ae6681
Use qemu-xhci for usb on aarch64 2024-03-25 14:29:10 -06:00
bjorn3
40305c7980 Use U-Boot with QEMU again if efi=no is used
Also add a nicer error message when the firmware package is not
installed.
2024-03-20 15:43:53 +01:00
Jeremy Soller
0e892b725f
Use AAVMF for qemu virt 2024-03-19 20:28:48 -06:00
bjorn3
69364ba176 Only enable -d cpu_reset for qemu when debugging
It is only useful when debugging and otherwise just throws a whole bunch
of logs on every boot.
2024-01-25 15:22:03 +01:00
Jeremy Soller
dac858b84e
Default to using kvm when arch is i686 and host is x86_64 2024-01-11 09:55:54 -07:00
bjorn3
ffd64a8703 Use sparse allocation of extra.img on Linux too
fallocate immediately allocates the full size of the file, even though
it likely won't end up being used.
2023-12-17 12:44:32 +01:00
Jeremy Soller
71406afe4f
Adjust i686 qemu parameters and allow kvm to be specified 2023-12-12 08:06:12 -07:00
Ivan Tan
636df55a51 add command to support qemu-arm64 and qemu-raspi3b 2023-12-08 23:51:12 +08:00
bjorn3
3bea19f266 Switch qemu sound device from hda-duplex to hda-output
hda-duplex allows recording too. At least for XFCE this results in a
scary mic recording icon even when nothing inside the VM is actually
recording anything.
2023-10-18 22:51:41 +02:00
Jeremy Soller
3a1b960bd4
Add option for virtio networking 2023-07-07 09:23:52 -06:00
Jeremy Soller
5e89a28c5a
Add vga=virtio qemu option 2023-07-07 08:47:44 -06:00
Jeremy Soller
287df06afe
Add QEMU option for rtl8139 2023-07-07 08:21:57 -06:00
uuuvn
5554ba3cd6
Allow KVM if host architecture is the same as a guest's one 2023-06-07 11:28:15 +00:00
Jeremy Soller
b23109cec5
Name QEMU windows 2023-05-06 12:51:07 -06:00
Will Angenent
025cf84c86 Fix running qemu with aarch64 on MacOS 2023-04-29 15:27:20 +01:00
Jeremy Soller
8d53d7188a
Support aarch64 GUI 2023-04-04 08:14:43 -06:00
Jeremy Soller
8f37e0deb5 Add vga=multi argument 2023-01-20 11:53:29 -07:00
Jeremy Soller
b199398c1d Fix qemu disk argument 2023-01-11 11:01:09 -07:00
Jeremy Soller
13c5790bb6
Use ac97 by default on i686 2022-11-16 12:34:48 -07:00
Jeremy Soller
eb75853345
Allow selecting ac97 2022-11-15 15:11:38 -07:00
Jeremy Soller
9232e4282a
Build images in directory per arch, remove bochs 2022-11-10 12:06:24 -07:00
Jeremy Soller
8e6517ca68 Update cookbook 2022-11-02 14:37:30 -06:00
Jeremy Soller
2087dff7e6 Support setting QEMU CPU and machine, use pc as default for i686 2022-09-07 19:37:43 -06:00
Jeremy Soller
087825fa8b
Refactor of disk image handling 2022-09-07 08:28:12 -06:00
Jeremy Soller
b3d2b51a69
Remove qemu nvme tracing 2022-08-31 10:56:50 -06:00
Jeremy Soller
0807904117 QEMU tracing for NVME 2022-08-30 11:09:49 -06:00
Jeremy Soller
68c91c801f Support booting both BIOS and UEFI from the same image 2022-08-28 15:24:34 -06:00
Jeremy Soller
231d10a83c
Always use live disk for aarch64 2022-08-26 11:30:14 -06:00
Jeremy Soller
6db193a439
Use minimum x86_64 CPU when not using KVM 2022-08-26 08:29:14 -06:00
Jeremy Soller
b6b0854f4c
Support multi-core x86 2022-08-26 08:25:46 -06:00
Jeremy Soller
723d862a0c Disable efi on i686 2022-08-24 06:26:27 -06:00
Jeremy Soller
d0bcec9c65 Fix swapped harddrive and livedisk 2022-08-24 06:23:57 -06:00
Jeremy Soller
6a7daa8891 Simplify qemu recipes 2022-08-24 06:22:40 -06:00
Jeremy Soller
fefa5b2117 Support higher RAM sizes for x86 2022-08-23 15:42:50 -06:00
Jeremy Soller
c565b323d6 Enable kvm and use q35 for i686 2022-08-21 14:57:56 -06:00
Jeremy Soller
1a0afdca45
Remove no-reboot from qemu flags 2022-08-04 10:21:52 -06:00