Skip to content

kernel 20261108-b99aedaf arm64

Pre-release
Pre-release

Choose a tag to compare

@enavarre-cl enavarre-cl released this 08 Nov 22:16
· 136 commits to main since this release

EmiBSD 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, shmctl and msgctl, as the shipped include/sys/syscall.h names them (the pin's syscalls.master names them only under #ifdef SYSVSEM/SYSVSHM/SYSVMSG). Every SYS_ name of that header is in exactly one of native, legacy or absent, 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 -m Size column of the sockpl and unpcb pools 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 reads abi: 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).