Skip to content

NetBSD 1.0.0

Latest

Choose a tag to compare

@github-actions github-actions released this 18 Aug 05:46
Immutable release. Only release title and notes can be modified.

Removed

  • The rc.local hook 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 microvm machine type inside the image bundle,
    where a NetBSD release provides one
  • The runner user 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_timestamps build variable, which makes /etc/rc print a
    timestamped line to the console as each rc.d script starts

Changed

  • Distribute every image as a bundle, netbsd-<version>-<architecture>.tar.zst,
    holding a RAW disk.img and, where the release has one, a kernel. 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, and tar --sparse asks 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 ntpdate at 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. ntpd stays 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, so sshd
    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 ntpdate being able to stall a NetBSD/VAX guest
    indefinitely. It runs inline in the boot sequence, ahead of sshd, and the
    DNS lookup for the pool names in the stock ntp.conf has no deadline, so a
    lookup that went unanswered left the guest sitting at Setting 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 sshd on the clock. It counted attempts
    instead, and an attempt costs nothing against a closed port but a whole
    ConnectTimeout against 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