Skip to content

EmiBSD 2026.11.4 (pre-release, signed)

Pre-release
Pre-release

Choose a tag to compare

@enavarre-cl enavarre-cl released this 09 Nov 03:46

The fifth EmiBSD release for arm64, signed, again a pre-release. It replaces
2026.11.3, whose ISO cannot be rebuilt
from its tag; the system it installs is the same. The install media install
EmiBSD in QEMU, the installer verifies the sets against the medium's signature, and the
installed system boots to login:. It has not yet been compared with a real OpenBSD
(diff-openbsd, step 5 of the checklist).

Not for production. EmiBSD is an experiment. It runs only in QEMU, and its crypto,
network and storage code is unaudited.

What changed since 2026.11.3

  • Reproducible again. 2026.11.3's ISO was made with a host makefs built at the previous
    Userland pin, so its tag rebuilds another ISO (its .img and the sets' tree are the same).
    This release's media are made with the pinned Userland's makefs, and OS's just media now
    refuses a makefs built at another commit than the pin.
  • DevTools llvm-23.1.4+emibsd.4 and rust-1.99.1+emibsd.2: the target's C++ runtime is
    shared, with the system's sonames (libc++.so.13.0, libc++abi.so.10.0). OS's host makefs
    is the same with them; Userland's base will carry the two libraries once it builds with them.
  • Kernel 20261108-b99aedaf and Userland 2026.11.4 are as in 2026.11.3: the socket layer and
    the socket system calls in the new kernel; a base built against that kernel's ABI headers.

The media

  • emibsd-2026.11.4-arm64-install.iso: for QEMU and VMs; cd9660 with an EFI El Torito image.
  • emibsd-2026.11.4-arm64-install.img: a USB stick image, laid out as OpenBSD's arm64 install80.img.
  • SHA256 and SHA256.sig: the sums of both, and their signature with emibsd-80-base
    (keys/emibsd-80-base.pub,
    RWR7BZgzESUf6vppLWNF/Q83e1OvjRIDJ4kNBtzh0gPMW889JsfGSjU3).

Both carry the sets, so the install needs no network. How to run it in QEMU, step by step:
README.

V=2026.11.4
U=https://github.com/EmiBSD/OS/releases/download/$V
curl -fLO $U/emibsd-$V-arm64-install.iso -fLO $U/SHA256 -fLO $U/SHA256.sig &&
  shasum -a 256 --ignore-missing -c SHA256
# with signify and the public key above:
signify -C -p emibsd-80-base.pub -x SHA256.sig emibsd-$V-arm64-install.iso

What it assembles

Pin
Kernel pre-release 20261108-b99aedaf: bsd.mp and bsd.RAMDISK, with the ABI linked in; BOOTAA64.EFI
Userland release 2026.11.4, signed: the base80, comp80, game80 and man80 sets (.tar.zst), miniroot80.fs, INSTALL.arm64
DevTools a677d16bb3bb, llvm-23.1.4+emibsd.4; Rust 1.99.1+emibsd.2
OpenBSD 3ce1f3f79392, the pin Kernel, Userland and LandingZone share

Checked

  • just check, just fetch, just smoke: the pins exist and match their sums, Userland's
    signature verifies, the released kernel boots.
  • just media twice from the manifest commit: the same images and the same SHA256.sig.
  • just smoke-media: each image installs all four sets onto a fresh disk in QEMU virt
    (EDK2, cortex-a72), the installer reports Signature Verified, and the installed disk boots
    alone to login:; uname -a gives EmiBSD emibsd.my.domain 8.0 GENERIC#1900 arm64
    (ISO: install 158 s, boot 49 s; stick: install 104 s, boot 49 s).

Known gaps

  • No diff-openbsd yet: the installed system has not been compared with a real OpenBSD.
  • The kernel's network smokes run at Kernel's N6 close; this kernel has not been through it.
  • The comp set has no cc, ld or ar yet (Userland's comp, with DevTools' native
    toolchain, T3b), so reorder_libs and the ssh-agent relink fail at boot, without harm.
  • reorder_kernel fails at boot without a kernel.tgz (Kernel's and Userland's), without harm.
  • Network installs and sysupgrade from the mirror are untested; the media install from local sets.
  • ISO installs print newfs_msdos: /dev/r0000000000000000.i: No such file or directory
    during disk setup: OpenBSD 8.0 prints the same line with a CD attached; the install is not affected.
  • Tested only in QEMU's virt machine; real hardware is untried.
  • arm64 only; amd64 waits for Kernel's N10.