Repository navigation
kernel 20261108-b99aedaf arm64
Pre-releaseEmiBSD kernel for arm64, built by just dist-arm64 from commit b99aedaf (main: N6.2a and N6.2b merged, a wg fix, a MANUAL.toml fix). It replaces 20261108-2c665343.
What changed from 20261108-2c665343
- MANUAL.toml, Userland's check: the absent system calls 295, 296 and 297 are now named
__semctl,shmctlandmsgctl, as the shippedinclude/sys/syscall.hnames them (the pin'ssyscalls.masternames them only under#ifdef SYSVSEM/SYSVSHM/SYSVMSG). EverySYS_name of that header is in exactly one ofnative,legacyorabsent, by name and number (220 checked). - The socket layer is the new kernel's (N6.2a): sockets, socket buffers, domains, protocols and UNIX domain sockets (with descriptor passing) moved out of the inherited bsd tree. Nothing userland sees changes, except that the
vmstat -mSize column of thesockplandunpcbpools shows the new kernel's item sizes; the pool names and every other column are the same. - The 19 socket system calls are native (N6.2b): socket, bind, listen, accept, accept4, connect, socketpair, sendto, sendmsg, sendmmsg, recvfrom, recvmsg, recvmmsg, shutdown, setsockopt, getsockopt, getsockname, getpeername, ypconnect. MANUAL.toml's
[syscalls]: native 170 -> 189, legacy 33 -> 14, absent 128. The boot line readsabi: 331 syscalls, 189 native. recvmsg(2) and the mmsg calls copy the caller's msghdr back whole, holes included, as OpenBSD does. - wg(4): a packet is handed from the crypto workers to the delivery task with release/acquire ordering, closing a race OpenBSD's code has on weakly ordered CPUs.
One tarball for EmiBSD/OS and Userland. Fetch it by this tag, check the sum, then unpack. It contains a symlink (include/machine), so unpack with a tar that keeps symlinks.
cd407fcf4133d9289977269188223900a3950e6a53ea57eae0e4c2d68d7372dc kernel-20261108-b99aedaf-arm64.tar.zst
Inside kernel-20261108-b99aedaf-arm64/, covered by its SHA256 (OpenBSD's format):
| File | What |
|---|---|
bsd.mp |
the MULTIPROCESSOR kernel with the ABI linked in, release profile (LTO, symbols kept), default features (no qemu) |
bsd.RAMDISK |
the same kernel with an empty 32 MiB ramdisk (65536 sectors); cargo xtask rdsetroot fills it with a miniroot to make bsd.rd |
BOOTAA64.EFI |
the EFI boot loader |
MANUAL.toml |
the kernel's interface inventory (drivers, system calls, pages) |
include/ |
the ABI's C headers, the OpenBSD pin's text (1191 files, machine -> arm64) |
BUILDINFO |
commit, dates, toolchain (rustc 1.99.1), LandingZone and OpenBSD pins, profiles |
This is a pre-release: a development build, tested only under QEMU (virt). Before packing, this kernel booted once and passed the user-mode checks of smoke-boot up to init's last one, then hit OpenBSD's "init died" panic as expected (12.1 s). After the N6.2b merge, the arm64 smoke-boot and smoke-abi passed and the host tests passed; the wg and MANUAL fixes after it ran their own tests. The network smokes and diff-openbsd run at the N6 close, so this build has not been through a close's ci. arm64 only until amd64 is homologated (N10).