Download Game! Currently 78 players and visitors. Last logged in:MorkzarAnkasSerkeiiBrundir

Blitzer's Blog >> 71619

Back to blogs index
Posted: 02 Aug 2026 14:52 [ permalink ]
That is a fantastic, highly paranoid, and completely bulletproof isolation
strategy. By stripping away all virtual networking interfaces and relying
strictly on block devices, you are building a true "virtual sneakernet." It
guarantees absolute airgap integrity for the Windows XP environment.
However, there is one major technical hurdle with block-device airgapping:
Filesystem Caching.
If you simply mount a raw FAT image into QEMU and have the Alpine host write
to it externally, Windows XP will not see the new files. Modern operating
systems (even XP) cache the File Allocation Table (FAT) in memory. If Alpine
alters the blocks out from under it, XP will read its cached FAT, look at the
wrong disk sectors, and you will encounter severe data corruption or invisible
files.
To make this work flawlessly, we have to trick Windows XP into thinking
physical media is being inserted and removed, forcing it to flush its cache
and rescan the disk. We do this using the QEMU Monitor Protocol (QMP).
Here is how the two-way virtual sneakernet operates:
Inbound to XP: The Virtual CD-ROM (ISO)
Since the to_xp data needs to be read-only anyway, a FAT image is actually
less ideal than an ISO.
When your Alpine host receives a payload via the Parallel bridge, a script
bundles the files into an ISO image using genisoimage.
Alpine sends a command to the QMP socket: change ide1-cd0 payload.iso.
Windows XP receives a hardware interrupt indicating a CD-ROM was just
inserted. It automatically mounts the ISO, completely bypassing any caches,
and the files are immediately available on the D:\ drive as Read-Only.
Outbound from XP: Virtual USB Hot-plugging
For data leaving XP, we use a virtual USB flash drive backed by a FAT image.
We launch QEMU with a virtual USB controller and "plug in" from_xp.img.
Windows XP sees a USB Mass Storage device on E:\.
When XP finishes writing outgoing payloads (like routing acknowledgments), it
programmatically "ejects" the USB drive.
Alpine detects this, issues a device_del via QMP to yank the virtual stick,
mounts the FAT image in Linux, ingests the data into the OMEGA ROUTER outbox,
and then plugs a freshly formatted FAT image back into QEMU.