Latest: 0.0.0
The image builder for reactos
All the supported releases are here:
| Release | i386 (x86 32-bit) |
|---|---|
| 0.4.15 | ✅ |
Note: ReactOS support is a tech preview. Remote command execution works; file sync does not exist yet, which is why the table cell carries no sync methods.
ReactOS ships no remote-access server of any kind --
base/applications/networkhas a telnet client, and the rapps database offers only PuTTY and WinSCP, also clients -- so this builder supplies its own:files/anyvmtd.c, a small Win32 telnet server cross-compiled with mingw-w64, copied onto the installed volume while it is offline and registered as a boot-time service from the unattended answer file. The guest is driven over that channel (VM_TRANSPORT=telnet, the same engine path plan9-builder uses). It authenticates nobody and is reachable only through the loopback-bound QEMU hostfwd.For sync, the guest was surveyed live rather than assumed. There is no sshd and no ssh client (so no rsync / sshfs / scp), no 9P client, no SMB redirector at all (
mrxsmb.sysis absent, which also rules out QEMU's built-in slirpsmb=share), and ReactOS'scertutilis a stub with only-hashfile-- no-encode/-decode, so even a base64-over-the-telnet- channel fallback is out.NFS is the interesting one: it ships, it is correctly registered, and it still does not work. The image carries the full ms-nfs41-client stack (
nfs41_driver.sys,nfsd.exe,nfs41_np.dll),ProviderOrderis alreadynfs41_driver, andnet start nfs41_driverreaches STATE 4 RUNNING. But the daemon service -- namedpnfs, notnfsd-- hangs in START_PENDING, andnet use Z: \\<host>\<export>fails with System error 2 against an export the guest can ping. That is a ReactOS bug, not a builder gap.So the two live candidates both need code: drive the guest's
ftpclient (present) from a host-side FTP server in anyvm.py, or extendanyvmtdwith a put/get protocol plus a matching anyvm.py sync method.
Note: 0.4.15 (2025-03-21) is the newest ReactOS release, and x86 32-bit is the only architecture it ships. Newer-looking tags in the repository --
0.4.16,0.4.16-RC2,0.4.17-dev-- are bare git tags with no published release and no downloadable media (releases/tags/0.4.16answers 404), which is whyhooks/upstream_check.pyfilters on a real release carrying an*-iso.zipasset rather than on tag names.
How to build:
-
Use the manual.yml to build manually.
Run the workflow manually, you will get a view-only webconsole from the output of the workflow, just open the link in your web browser.
You will also get an interactive VNC connection port from the output, you can connect to the vm by any vnc client.
-
Run the builder locally on your Ubuntu machine.
Just clone the repo. and run:
python3 build.py conf/reactos-0.4.15-i386.conf