Skip to content

HopOS v1.5.0 — the review release

Choose a tag to compare

@xinix00 xinix00 released this 26 Jul 16:41

A full review pass, applied — net −800 lines at the same feature set:

  • One netstack. The lneto appnet variant is gone (dependency removed); gVisor's netstack is the stack.
  • Dead-peer detection moved to where it belongs. The switch no longer forges TCP RSTs on behalf of dead apps — silence can always be the network, and two layers already cover it (the task health check and the app's own ping). See docs/technical/networking.md.
  • apphttp: a minimal plain-HTTP/1.1 client for apps, as a separate package — net/http unconditionally links crypto/tls, measured on app/hello: applib alone 1.71 MB, + netstack 4.70 MB, + net/http 7.99 MB. Only who imports it pays.
  • Leaner GUI node side: the node keeps only the DeviceGrant (gui/fbgrant); the display-controller and compositor stack live app-side in the companion hop-os-surf repo. Every image builds bare or gui (GUI=0) — a bare node never gives away the glass.
  • hopos.cfg.example: a secrets-free sample next to the gitignored real config, so a fresh clone sees exactly what a node needs.

Prebuilt, signed boot images — https://gethop.org/hopos/ for the 5-minute quickstart.

  • BOOTAA64.EFI — any UEFI arm64 box: copy to EFI/BOOT/ on a FAT USB stick, add hopos.cfg
  • hopos-rpi5.zip — Raspberry Pi 5: unzip onto the SD bootfs
  • hopos-rpi4.zip — Raspberry Pi 4: unzip onto the SD bootfs
  • *-headless — the same images built with GUI=0: not a disabled GUI but zero GUI code linked. For UEFI, rename BOOTAA64-headless.EFI to BOOTAA64.EFI on the stick.

Verify: ssh-keygen -Y verify -f allowed_signers -I hello@gethop.org -n gethop-release -s SHA256SUMS.sig < SHA256SUMS && shasum -a 256 -c SHA256SUMS