Immutable
release. Only release title and notes can be modified.
Removed
- The
rc.localhook that mounted the consumer's FAT resources disk and
installed the SSH key from it. The passwordless login replaces it
Added
- Publish the kernel for QEMU's
microvmmachine type inside the image bundle,
where a NetBSD release provides one - The
runneruser can log in over SSH without a credential on every
architecture, not just VAX, which lets a consumer stop building the FAT
resources disk that carries a generated key - New
boot_timestampsbuild variable, which makes/etc/rcprint a
timestamped line to the console as eachrc.dscript starts
Changed
- Distribute every image as a bundle,
netbsd-<version>-<architecture>.tar.zst,
holding a RAWdisk.imgand, where the release has one, akernel. qcow2 is
gone: its own compression has to keep the image writable, so it compresses
worse than a solid stream, and the consumer pays that on every job. The 11.0
x86-64 image goes from 497 MiB to 268 MiB
(action#151) - Turn the image's zero ranges into holes before archiving it. The image comes
out of the builder fully allocated, andtar --sparseasks the file system
where the holes are rather than looking for zeroes itself, so without this
the archive carries all 12 GB and the consumer writes all 12 GB back out
when it unpacks: 47 seconds, against the 4 that converting the qcow2 took - Freeze the address the hypervisor hands out into the static network
configuration and disable the DHCP client, taking it off the boot path to
sshd - Don't run
ntpdateat boot. It blocks the boot on network round trips to
correct an offset that is already close to zero, since the emulated RTC is
seeded from the host clock.ntpdstays enabled, now with-g - Don't do duplicate address detection at all, and don't wait for it in
/etc/rc.d/network. An address is unusable while it is probed, sosshd
answered nothing for several seconds after it started listening. There is no
second host on the hypervisor's user mode network that could hold the
address
Fixed
- Stop the boot-time
ntpdatebeing able to stall a NetBSD/VAX guest
indefinitely. It runs inline in the boot sequence, ahead ofsshd, and the
DNS lookup for the pool names in the stockntp.confhas no deadline, so a
lookup that went unanswered left the guest sitting atSetting date via ntp.It is now given numeric addresses, keeping DNS off the boot path, and
a per-query timeout - Bound the VAX image test's wait for
sshdon the clock. It counted attempts
instead, and an attempt costs nothing against a closed port but a whole
ConnectTimeoutagainst a guest that stalls after accepting, so the
intended hour was really anywhere up to four. One stalled guest held a
runner for over two hours