Skip to content

HopOS v1.5.3

Choose a tag to compare

@xinix00 xinix00 released this 27 Jul 08:25

apphttp bugfix. Serve's accept loop could spin when the app netstack returned a temporary error or an empty accept (nil, nil) — eating the entire core: the SURF display sat at 100% CPU, never answering, without a single log line. net/http has a safety net here (growing back-off on temporary errors); apphttp lacked it, and that difference was exactly the difference between a working and a dead display.

Fixed: exponential back-off (1ms→100ms) on temporary errors, and an empty accept without an error now ends the loop with a reason — fail loudly, so the app logs it and the node restarts it. Pinned by a regression test (TestServeNeverSpins).


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