Commit Graph

110 Commits

Author SHA1 Message Date
Wildan M
69dc41a1d8
Prevent running QEMU if disk mounted 2026-05-08 19:30:35 +07:00
Wildan M
1e5d6a1fae
Allow overriding QEMU 2026-04-20 10:05:56 +07:00
Philipp Bartsch
d87956c504 Add NixOS specific qemu UEFI firmware searchpaths 2026-03-26 00:37:24 +01:00
bjorn3
3641dc7698 Use qemu-xhci for usb on x86_64 to match arm64 and riscv64 2026-03-01 17:04:39 +01:00
bjorn3
18c22db8ce Remove dedicated qemu_raspi target
Regular qemu already handles everything necessary if BOARD=raspi3bp is set.
2026-03-01 16:58:58 +01:00
bjorn3
0a09e5af47 Remove qemu_extra and qemu_extra_nvme make targets
The extra disk is unconditionally attached by the regular disk logic.
2026-03-01 16:56:05 +01:00
bjorn3
25ed25340b Remove obsolete env var usage
From what I can find on the internet, SDL nowadays doesn't enable this
option by default anymore anyway.
2026-03-01 16:53:23 +01:00
bjorn3
94c995e38d Use nvme by default outside of 32bit x86 and raspi
Most modern systems use nvme as disk. 32bit x86 is a legacy system where
ata is likely still used. Raspberry PI uses the sdcard.
2026-03-01 16:53:23 +01:00
Wildan M
9a3c35f0b2
Add QEMU virtio with SDL backend 2026-02-08 15:45:08 +07:00
Ribbon
0690bf5668 Fix RISC-V firmware location in Fedora 2026-01-26 19:53:00 -03:00
Wildan M
e802cea77a
Add TESTBIN to relibc-tests and QEMU exit device 2025-12-19 17:03:00 +07:00
Wildan M
03f992a9ae Rename i686 to i586 2025-11-16 11:16:17 +07:00
Wildan Mubarok
4597c5f0fa Add push recipe combination and more ports to forward on QEMU 2025-09-27 22:11:42 -06:00
bjorn3
16e98e3f28 Add a make qemu mode to allow attaching gdb without waiting for it
This way you can unconditionally enable this mode during development
without being forced to attach a debugger every time you start a VM.
2025-08-24 18:56:39 +02:00
bjorn3
716cca1b4e Enable UEFI by default on x86_64
It boots faster and more reliable than SeaBIOS. And in practice you are
unlikely to use BIOS on real hardware if you have an x86_64 capable CPU
anyway.
2025-08-24 18:40:01 +02:00
Jeremy Soller
f768df678c Merge branch 'qemu_gpu' into 'master'
Rework qemu gpu configuration

See merge request redox-os/redox!1634
2025-08-24 09:07:42 -06:00
bjorn3
5d7fcad842 Rework qemu gpu configuration
* Make gpu=no work on arm64 and riscv64
* Register gpu's with the firmware as vga card on x86 where possible
* Add a virtio-gl option for virtio-gpu with OpenGL support (no support
  on the driver side yet)
* Support ramfb on x86
2025-08-24 16:31:54 +02:00
Wildan Mubarok
c09215748d Formatting 2025-08-18 10:37:28 +00:00
Wildan Mubarok
cb36369905 Apply apic and mouse fixes 2025-08-18 10:10:09 +00:00
Wildan Mubarok
e3f6bf4b1d Merge branch redox:master into windows-qemu 2025-08-18 08:58:19 +00:00
Wildan Mubarok
aad831766c Use HVF Acceleration by default for MacOS Silicon 2025-08-16 13:36:12 +00:00
Wildan Mubarok
b50084d4dd Add option to run Windows QEMU when using WSL2 2025-08-15 19:45:23 +00:00
bjorn3
472df6fb44 Fix netbooting on Debian
In Debian Trixie OVMF has moved to a different location. In addition the
bootrom of the network adapters no longer contains iPXE, so we need to
manually chainload it (make sure to install the ipxe package).
2025-08-12 20:08:20 +02:00
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