← FAQ
FAQ

Updates (gepland)

FAQ › EUZOS Desktop › Updates · English

Status: gepland. Automatische versie-updates zijn een ontwerp (docs/UPDATES.md, 27-10-2026), nog niet gebouwd. Niets op een pc of server vraagt of installeert vandaag zelf een nieuwe OS-release. De opdrachten, bestanden en eindpunten op deze pagina die gepland heten, bestaan nog niet in de code. Wat al werkt, is de handmatige cyclus van proberen en vastzetten (zie Opstarten).

Wat is het?

Het plan beschrijft hoe een draaiende EUZOS-pc (Desktop) of -server (Server) hoort van een nieuwere release, die downloadt en installeert zonder het risico van een machine die niet meer start. Het hergebruikt onderdelen die al bestaan: de proefkernel (try/commit), ondertekende bestanden en de bescherming tegen terugrollen (FETCH.TXT), het ondertekende releasemanifest, de downloadserver met downloadtokens, en de appcatalogus.

Hoe doe ik…?

Hoe werk ik EUZOS vandaag bij?

Met de hand, met onderdelen die nu bestaan:

  • Nieuwe kernel: zet hem op het opstartvolume als \EOS\KX64TRY.ELF, voer try uit, controleer hem, daarna commit (het Mac-script tools/trial.sh doet dit automatisch via SSH). Zie Opstarten.
  • Een ondertekend bestand: fetch <url> <pad>.
  • Alles: opnieuw installeren met het Installatieprogramma (dit wist de schijf, ook de profielen).
  • Chromium: apps install chromium met de hand haalt een nieuwere versie uit de catalogus (zie Bureaublad en apps).

Hoe hoort een pc van een update? (gepland)

Een desktop vraagt het de profielserver meteen na een geslaagde aanmelding (hij heeft het pc-token nodig), daarna elke 4 uur plus willekeurig 0–30 minuten zolang er iemand is ingelogd; nooit vaker dan eens per 15 minuten. Het kanaal volgt het buildtype: een productiebuild neemt alleen productiebuilds, een testbuild alleen testbuilds.

Wat ziet de gebruiker? (gepland)

  • Een geel label "Update beschikbaar" naast de taakbalk, op elk scherm van het bureaublad; een tik erop opent de updatekaart met de releaseopmerkingen, Nu herstarten en Vannacht.
  • Vannacht: om 03:00 lokale tijd als de pc aan staat, 15 minuten niet gebruikt is en op netstroom of boven 40% accu zit; staat de pc dan uit, dan zet de volgende keer uitschakelen de update klaar ("Bijwerken en uitschakelen").
  • Beveiligingsupdates: "Verplicht voor <datum>"; na de termijn een aftelling van 15 minuten, dan de herstart. De termijn telt vanaf het moment dat dit apparaat het aanbod voor het eerst zag.
  • Daarna één melding: "EUZOS is bijgewerkt naar 240", of na een terugrol "De update kon niet worden geïnstalleerd; EUZOS houdt versie 239".

De beslissing van de eigenaar: op de desktop gaan downloaden en klaarzetten automatisch; een organisatie kan "vragen" als beleid kiezen.

(De Nederlandse schermteksten hierboven zijn vertalingen van het ontwerp; ze staan nog niet in de vertaalbestanden.)

Hoe installeert het veilig? (gepland)

  1. Controleren: de ondertekende releasebeschrijving en het manifest (handtekening, editie, buildtype, build hoger dan de draaiende, versie niet lager dan in FETCH.TXT, niet ingetrokken).
  2. Klaarzetten: alleen gewijzigde bestanden (verschil op SHA-256) gaan naar \EOS\UPD\; de nieuwe kernel meteen naar \EOS\KX64TRY.ELF.
  3. Herstarten in de proef (TRY.TXT schrijven).
  4. Gezondheidscontrole in de proefkernel (binnen 5 minuten): een netwerkverbinding met een adres, en TLS naar de profielserver van de omgeving die de ingebouwde serversleutel teruggeeft.
  5. Geslaagd: automatisch commit, daarna de klaargezette bestanden op hun plaats (de oude bewaard in \EOS\PREV\), het nieuwe manifest, FETCH.TXT, configuratiemigraties.
  6. Mislukt: de proefkernel herstart vanzelf; de vastgezette kernel komt terug, ziet de mislukte proef, en geeft die release na 2 pogingen op.
  7. Melden van het resultaat aan de profielserver.

Alleen de kernel krijgt een proefstart. Een release die de bootloader verandert, wordt in fase 1 nooit automatisch geïnstalleerd. Ontwikkelkernels (build-ID die niet met release- begint) en systemen die van een stick gestart zijn, tonen alleen het aanbod.

Kan ik na een update terug? (gepland)

update rollback zal KX64OLD.ELF terugzetten (een lokale wissel, geen download).

Hoe zit het met EUZOS Server? (gepland)

Een server herstart nooit vanzelf. Downloaden en klaarzetten gaan automatisch; Server Admin krijgt de acties update-status, update-now en update-window <dag uu:mm-uu:mm>|off. Een server die te laat is, staat rood in Server Admin en op de beheerpagina. Zie Server Admin.

Wat gebeurt er offline? (gepland)

Geen aanbod en geen download zonder de profielserver. Een klaargezette release krijgt geen proefstart zolang de profielserver onbereikbaar is. Via een verbinding met datalimiet (mobiel) controleert de pc wel maar downloadt hij niet ("Wachten op wifi of kabel"). Offline inloggen verandert niet.

Details

Onderdelen die al bestaan

OnderdeelWaar
Proefkernel en vastzettenboot/src/main.rs (try_once), kernel::boot_volume (prepare_try, commit), tools/trial.sh
Zelfherstel van een proefkernelpanic-afhandeling, fatale uitzondering, kernel::watchdog (HANG.TXT)
Ondertekende bestanden, tegen terugrollentools/sign, kernel::fetch, \EOS\FW\SIGNPUB.TXT, \EOS\FW\FETCH.TXT
Releasemanifestlibs/manifest, tools/release.sh, tools/stickrelease.sh
BuildnummersOS_BUILD (Desktop), SERVER_BUILD (Server), het editiemerk EUZOS-EDITION: in het kernelbestand
Downloadserver en tokensserver/download, POST /api/apps/token, POST /api/workplace/v1/download-token
Appcatalogusserver/profile/src/apps.rs, kernel/src/app_store.rs

Bouwplan (uit docs/UPDATES.md)

FaseWat
U1releaseformaat (DESKTOP.REL/SERVER.REL, .RVK), libs/release, release.sh per editie
U2profielserver: schema 19, aanbod/token/melding, ringen, CLI
U3kernelmotor kernel/src/update.rs, consoleopdracht update
U4desktop-UX (label, kaart, vannacht, termijn)
U5server (acties update-*, ondertekend venster)
U6beheerpagina "Releases"
U7apps: minimumversie, automatische app-updates
U8later: sleutelwissel, A/B-bootloader, releasecache, Secure Boot-spoor

Naslag

Consoleopdrachten

OpdrachtArgumentenWat het doetStatus
try, commit–proefkernel één keer, daarna vastzettenbestaat (Opstarten)
fetch<url> <pad>ondertekend bestand naar het opstartvolumebestaat
apps install chromium–Chromium (nieuwere versie) uit de catalogus halenbestaat (Bureaublad en apps)
update–statusgepland
update check–nu om een aanbod vragengepland
update now–nu installeren (herstarten in de proef)gepland
update tonight–vannacht installerengepland
update rollback–KX64OLD.ELF terugzettengepland

De geplande opdracht update is alleen Engels (geen Nederlandse alias).

Functies en modules

ModuleRolStatus
kernel::boot_volume::prepare_try, commitproberen en vastzettenbestaat
kernel::fetch::fetch_manifest, fetch_entryeen manifest en zijn bestanden ophalen en controlerenbestaat
kernel/src/update.rsupdatemotorgepland
libs/releaseinlezen van releasebeschrijving en intrekkingslijstgepland

Configuratiebestanden (gepland)

BestandSleutelWaardenBetekenis
\EOS\FW\UPDATE.TXTdevice32 hexwillekeurige apparaat-id, één keer gemaakt
stateidle, downloading, staged, trial, failedupdatetoestand
release<editie> <build> <handtekeningversie>release die geïnstalleerd wordt
staged-atUnix-tijd
attemptsgetalproefpogingen
applynow, tonight, next-start, windowwanneer installeren
deadlineUnix-tijd of -termijn voor beveiliging
last-resultbv. installed 240 <unix>
config-schemagetalniveau van de configuratiemigratie
window (server)bv. sun 02:00-04:00onderhoudsvenster; het bestand wordt dan ondertekend met de eigen sleutel van de server
\EOS\UPD\, \EOS\PREV\––klaargezette bestanden, vorige bestanden

API-eindpunten (gepland)

Regelformaat (sleutel=waarde) zoals de bestaande EUZOS-API.

Methode en padVerzoekAntwoord
GET /api/update/v1/offertoken, edition, build, version, arch, device, langnone, of available + edition=, build=, version=, descriptor=, size=, security=, deadline=, minimum=, regels note=, revoked=
POST /api/update/v1/tokentoken; inhoud edition=, version=een downloadtoken ezdl1 (token=, expires=, duration=)
POST /api/update/v1/reporttoken; inhoud device=, edition=, from=, to=, result=installed|rolled-back|failed|deferred, reason=, detail=ok
GET /api/workplace/v1/update-offerwerkplektokenzoals offer, editie server
POST /api/workplace/v1/update-reportwerkplektokenzoals report

Protocolberichten en formaten (gepland)

Releasebeschrijving DESKTOP.REL / SERVER.REL (ondertekend met tools/sign onder precies die naam):

EUZOS-RELEASE 1
edition=desktop
build=240
build-type=production
arch=x86_64
arch=aarch64
manifest-sha256=<64 hex>
manifest-version=<handtekeningversie van MANIFEST.TXT>
minimum-from=232
config-schema=3
bootloader=unchanged
security=0

Indeling op de downloadserver (op inhoud geadresseerd): download.euzos.eu/<editie>/<handtekeningversie>/ met DESKTOP.REL(.sig), MANIFEST.TXT(.sig) en één bestand per SHA-256. Een intrekkingslijst DESKTOP.RVK / SERVER.RVK wordt door de eigenaar ondertekend.

Zie ook