← Časté dotazy

Časté dotazy jsou napsány v angličtině a nizozemštině; zobrazují se v angličtině.

Časté dotazy

Editions

FAQ › EUZOS Server › Editions · Nederlands

What is it?

EUZOS comes in two editions built from one codebase: EUZOS Desktop (for users' PCs, laptops and tablets) and EUZOS Server (for servers in a company; first role: the workplace server). Both use the same kernel, the same libraries and the same boot loader. You choose the edition when you build. What an edition does not have is not in its kernel at all: the modules sit behind #[cfg(feature = "desktop")] or #[cfg(feature = "server")], and libraries that only one edition uses are optional dependencies.

How do I…?

How do I build EUZOS Server?

make image EUZOS_EDITION=server                      # EUZOS Server, test build
make image EUZOS_EDITION=server EUZOS_ENV=production # EUZOS Server, production build
make images                                          # all four images, checked and zipped

EUZOS_EDITION=desktop|server (default desktop) combines with EUZOS_ENV=test|production. The old variable names (EUZOS_EDITIE, EUZOS_OMGEVING) are still accepted for one release.

How do I see which edition a kernel is?

The kernel file contains the mark EUZOS-EDITION:desktop or EUZOS-EDITION:server (EDITION_MARK in kernel/src/main.rs); make images uses it to check that each image has the kernel of its edition. The first line of the log also names the edition, for example EUZOS Server kernel v…, build v….

Why does a command say "not in EUZOS Server"?

Because the module is not compiled into the server kernel. The server answers <command>: not in EUZOS Server, only in EUZOS Desktop (docs/EDITIONS.md) for camera, privacy, sdio, wifi, mobile, offline, serveradmin, pckey, sound, browser, chromium, logout, mail, browserfeedback, explorer, microsoft and vault. The desktop answers <command>: only in EUZOS Server for workplace and packages. See Server console.

Why is there no small installation stick for the server?

make installer (the small installation stick) is for the desktop only. You install EUZOS Server from the full image (see Server installer).

Details

What each edition has

EUZOS DesktopEUZOS Server
Forusers' PCs, laptops and tabletsservers in a company (first: the workplace server)
Screengraphical desktop, login screen, windowsthe console; only the installer is graphical (same style as the desktop)
Userslogin (QR, password, Microsoft), profile, profile directory, vault, offline loginno session; only the admin logs in, in the installer (to register the workplace server)
Screen securityscreen off, screensaver, lock screenno
Appsbrowser, Chromium, mail, explorer, terminal, camera testnone; server packages instead
NetworkIntel (e1000/I219), Realtek RTL8111/8168, Realtek USB (RTL8152), virtio, Wi-Fi, mobile (MBIM)Intel, Realtek, Realtek USB, virtio and Broadcom BCM5717-5720 (net/bcm5720.rs); no Wi-Fi, no mobile
USBxHCI (USB 3); no EHCI yetxHCI and EHCI (USB 2.0, usb/ehci.rs)
Inputkeyboard, mouse, touchpad, touchscreen, on-screen keyboardkeyboard (PS/2, USB); the input layer itself is shared
Sound, cameraHD Audio, ALSA for apps, UVC camerano
StorageAHCI, NVMe, USB storage, partition 2 (profiles and apps/)the same (the workplace server uses the apps area as a cache)
RolesnoneWorkplace management (WORKPLC.TXT); more planned
Network setupDHCP (and Wi-Fi)DHCP or a static address per adapter (NETWORK.TXT, network), external address behind NAT
Firewallnoinbound closed by default (FIREWALL.TXT, signed; firewall, Server Admin)
Server Adminyes (the admin manages a server from an EUZOS PC)no (a server does not manage itself)
Processorsx86-64 and ARM64x86-64
Imageseuzos-desktop-sbx, euzos-desktop-prodeuzos-server-sbx, euzos-server-prod

Shared are: the kernel itself (memory, threads, SMP, ACPI/AML, PCI), the console and the shell, the network (TCP/IP, DHCP, DNS, NTP, TLS, HTTP client), sshd (with the edition's rules), storage and install, the Linux translation layer (without /dev/snd, /dev/video and the Wayland compositor on the server), fetch, the app store and DriverEnricher.

How the split works in the code

  • kernel/Cargo.toml: the features desktop (default) and server; exactly one of the two, otherwise the build stops. Desktop-only libraries are optional (web, http, mail, image, hda, alsa, sdio, iwl, uvc, rtl8712, wayland, devtools, oauth, onedrive, graph, mailapp, browserfeedback, storage); server-only: bcm.
  • kernel/src/main.rs: the desktop modules are behind #[cfg(feature = "desktop")]; workplace, serverinstaller (server/installer.rs), packages (server/packages.rs) and server_setup_choice (server/setup_choice.rs) behind server.
  • Stand-in modules with the same name and no content where shared code needs a name of the other edition: server/screen.rs (no graphical desktop: a notice becomes a console line, keys go to the installer), net/no_mobile.rs, linux/no_media.rs, and on the desktop usb/without_ehci.rs.
  • The server build allows dead_code; other warnings stay errors.

Images

ZipEditionEnvironmentContents
euzos-desktop-sbx-<build>.zipDesktoptest build, environment sandboxx86-64 and ARM64, Wi-Fi firmware, test SSH keys if present
euzos-desktop-prod-<build>.zipDesktopproduction buildwithout the test files (PROFILE.TXT, EXTRA.PEM, AUTHKEYS.TXT, HOSTKEY.TXT, WIFI.TXT)
euzos-server-sbx-<build>.zipServertest build, environment sandboxx86-64 only, no Wi-Fi firmware, no display/camera/sound test programs
euzos-server-prod-<build>.zipServerproduction buildthe same, without test keys

make images writes the size of each kernel to build/editions-<build>.txt.

Reference

Console commands

CommandEditionWhat it does
installer, installer textServerthe server installer (graphical, or text) — see Server installer
packagesServerthe server packages and their state — see Packages
workplace [status|setup [name]|now]Serverthe workplace role — see Packages
network …Serverstatic address / DHCP per adapter — see Network and firewall
firewall …Serverthe inbound firewall — see Network and firewall
serveradmin …DesktopServer Admin — see Server Admin
pckey [create]Desktopthe PC's device key (needed for Server Admin)

Functions and modules

ItemRole
kernel/src/main.rs EDITION_MARKEUZOS-EDITION:desktop / EUZOS-EDITION:server in the kernel file
kernel/src/main.rs::run_commandthe #[cfg(feature = "server")] arms (installer, network, firewall, packages) and the list of refused desktop commands
crate::server_setup_choice (kernel/src/server/setup_choice.rs)what the graphical server installer writes to the disk, and the registration
crate::serverinstaller (kernel/src/server/installer.rs)the text installer
crate::packages (kernel/src/server/packages.rs)the package list and states
crate::screen (kernel/src/server/screen.rs)the server's small drawing layer for the graphical installer
crate::net::bcm5720, crate::usb::ehciserver-only drivers (Broadcom BCM5717-5720, EHCI)

Config files

FileEditionMeaning
\EOS\FW\WORKPLC.TXTServerthe Workplace management role (Packages); a desktop that finds it logs that the role only exists in EUZOS Server
\EOS\FW\NETWORK.TXTServerstatic addresses (Network and firewall)
\EOS\FW\FIREWALL.TXTServersigned firewall rules (Network and firewall)
\EOS\FW\PROFILE.TXTboththe environment / profile server

See also