OpenBSD 7.5 via QEMU on Hetzner physical machine (no phys. access / KVM console)
In this technical retrospective (2024), @hoschi_ shares practical architectural lessons learned from running, scaling, or migrating production software under lean constraints.
Core Principles for Independent Builders:
Defaulting to simpler architectures (such as monolithic frameworks, SQLite, or managed VPS) prevents early engineering bankruptcy.
Evaluating true compute and egress costs reveals that high cloud bills can often be slashed by 80%+ through judicious re-platforming.
Code you write at 2 AM as a solo engineer must be easy to debug six months later without complex microservice dependencies.
Community Debate Themes:
HN engineers debated the tradeoffs between cloud convenience and raw server economics, database indexing strategies, and resisting premature architectural complexity.
CATEGORY Frugal Engineering →
HISTORICAL ERA Post-ZIRP & AI (2023–2026)
COMMUNITY SCORE ★ 148 points
TOTAL DISCUSSIONS 47 comments
QEMU most likely is not required. OpenBSD's installer is inside a single 4.5 MiB [1] ramdisk kernel image. Chainload or netboot it, or download the ramdisk to ffs on sd0 and run installboot [2]. Once the ramdisk kernel is loaded you can erase the disk containing it.
1. https://cdn.openbsd.org/pub/OpenBSD/7.5/amd64/bsd.rd
2. installboot also needs /usr/mdec/biosboot and /usr/mdec/boot from base75.tgz.
nixos-anywhere is a tool that allows you to do something similar (?) to install NixOS in-place on a remote machine (using kexec “magic” under the hood).
https://github.com/nix-community/nixos-anywhere
I tried it on a Hetzner VPS and was honestly pretty surprised that it even worked. What makes it even cooler is that you can continue to rebuild the machine’s config remotely even after initialization (thanks to NixOS).
Well, I did it 11 years ago. There is little magic. Boot linux rescue system. Fire qemu. Go with auto-install. Even with raid setup if you want to. Done.
The only tweak -- auto-detection of swap space, as it is derived from RAM available and you cannot give all 100% RAM to qemu. So you need to adjust for it.
https://www.dim13.org/Install-OpenBSD-on-remote-host-without-KVM
Nice write-up. It should really not be that hard but unfortunately it is. And it is getting worse.
It made me sad to see that Hetzner had discontinued the FreeBSD rescue system. But it seems to be correct: https://community.hetzner.com/tutorials/freebsd-openzfs-via-linux-rescue
How much did it really cost them to have the mfsbsd image available?
Discontinuation of FreeBSD rescue system catches me off-guard when I ruined boot of my FreeBSD system by inaccurate ZFS operations (not ZFS or FreeBSD fault, but operator's one).
Trick with qemu works, but is veeeeery slow if you need a lot of disk access (ZFS zmirror scrub, or ZFS `send | receive` pipe or something like this).