Edities
FAQ › EUZOS Server › Edities · English
Wat is het?
EUZOS bestaat in twee edities uit één codebase: EUZOS Desktop (voor de pc's, laptops en tablets van gebruikers) en EUZOS Server (voor servers in een bedrijf; eerste rol: de werkplekserver). Beide gebruiken dezelfde kernel, dezelfde bibliotheken en dezelfde bootloader. Je kiest de editie bij het bouwen. Wat een editie niet heeft, zit helemaal niet in haar kernel: de modules staan achter #[cfg(feature = "desktop")] of #[cfg(feature = "server")], en bibliotheken die maar één editie gebruikt zijn optionele afhankelijkheden.
Hoe doe ik…?
Hoe bouw ik EUZOS Server?
make image EUZOS_EDITION=server # EUZOS Server, testbuild
make image EUZOS_EDITION=server EUZOS_ENV=production # EUZOS Server, productiebuild
make images # alle vier de images, gecontroleerd en gezipt
EUZOS_EDITION=desktop|server (standaard desktop) combineer je met EUZOS_ENV=test|production. De oude variabelenamen (EUZOS_EDITIE, EUZOS_OMGEVING) worden nog één release geaccepteerd.
Hoe zie ik welke editie een kernel is?
Het kernelbestand bevat het merk EUZOS-EDITION:desktop of EUZOS-EDITION:server (EDITION_MARK in kernel/src/main.rs); make images gebruikt het om te controleren dat elk image de kernel van zijn editie heeft. De eerste regel van het logboek noemt ook de editie, bijvoorbeeld EUZOS Server kernel v…, build v….
Waarom zegt een opdracht "not in EUZOS Server"?
Omdat de module niet in de serverkernel is gecompileerd. De server antwoordt <opdracht>: not in EUZOS Server, only in EUZOS Desktop (docs/EDITIONS.md) voor camera, privacy, sdio, wifi, mobile, offline, serveradmin, pckey, sound, browser, chromium, logout, mail, browserfeedback, explorer, microsoft en vault. Het bureaublad antwoordt <opdracht>: only in EUZOS Server voor workplace en packages. Zie Serverconsole.
Waarom is er geen kleine installatiestick voor de server?
make installer (de kleine installatiestick) is alleen voor het bureaublad. EUZOS Server installeer je vanaf het volledige image (zie Serverinstallatieprogramma).
Details
Wat elke editie heeft
| EUZOS Desktop | EUZOS Server | |
|---|---|---|
| Voor | pc's, laptops en tablets van gebruikers | servers in een bedrijf (eerst: de werkplekserver) |
| Scherm | grafisch bureaublad, inlogscherm, vensters | de console; alleen het installatieprogramma is grafisch (zelfde stijl als het bureaublad) |
| Gebruikers | inloggen (QR, wachtwoord, Microsoft), profiel, profielmap, kluis, offline inloggen | geen sessie; alleen de beheerder logt in, in het installatieprogramma (voor de registratie van de werkplekserver) |
| Schermbeveiliging | scherm uit, schermbeveiliging, vergrendelscherm | nee |
| Apps | browser, Chromium, mail, verkenner, terminal, cameratest | geen; in plaats daarvan serverpakketten |
| Netwerk | Intel (e1000/I219), Realtek RTL8111/8168, Realtek USB (RTL8152), virtio, wifi, mobiel (MBIM) | Intel, Realtek, Realtek USB, virtio en Broadcom BCM5717-5720 (net/bcm5720.rs); geen wifi, geen mobiel |
| USB | xHCI (USB 3); nog geen EHCI | xHCI en EHCI (USB 2.0, usb/ehci.rs) |
| Invoer | toetsenbord, muis, touchpad, aanraakscherm, schermtoetsenbord | toetsenbord (PS/2, USB); de invoerlaag zelf is gedeeld |
| Geluid, camera | HD Audio, ALSA voor apps, UVC-camera | nee |
| Opslag | AHCI, NVMe, USB-opslag, partitie 2 (profielen en apps/) | hetzelfde (de werkplekserver gebruikt het appgebied als cache) |
| Rollen | geen | Werkplekbeheer (WORKPLC.TXT); meer gepland |
| Netwerkinstelling | DHCP (en wifi) | DHCP of een vast adres per adapter (NETWORK.TXT, network), extern adres achter NAT |
| Firewall | nee | inkomend standaard dicht (FIREWALL.TXT, ondertekend; firewall, Server Admin) |
| Server Admin | ja (de beheerder beheert een server vanaf een EUZOS-pc) | nee (een server beheert zichzelf niet) |
| Processors | x86-64 en ARM64 | x86-64 |
| Images | euzos-desktop-sbx, euzos-desktop-prod | euzos-server-sbx, euzos-server-prod |
Gedeeld zijn: de kernel zelf (geheugen, threads, SMP, ACPI/AML, PCI), de console en de shell, het netwerk (TCP/IP, DHCP, DNS, NTP, TLS, HTTP-client), sshd (met de regels van de editie), opslag en install, de Linux-vertaallaag (zonder /dev/snd, /dev/video en de Wayland-compositor op de server), fetch, de appwinkel en DriverEnricher.
Hoe de splitsing in de code werkt
kernel/Cargo.toml: de featuresdesktop(standaard) enserver; precies één van de twee, anders stopt de build. Bibliotheken die alleen het bureaublad gebruikt zijn optioneel (web,http,mail,image,hda,alsa,sdio,iwl,uvc,rtl8712,wayland,devtools,oauth,onedrive,graph,mailapp,browserfeedback,storage); alleen server:bcm.kernel/src/main.rs: de bureaubladmodules staan achter#[cfg(feature = "desktop")];workplace,serverinstaller(server/installer.rs),packages(server/packages.rs) enserver_setup_choice(server/setup_choice.rs) achterserver.- Vervangmodules met dezelfde naam en zonder inhoud waar gedeelde code een naam van de andere editie nodig heeft:
server/screen.rs(geen grafisch bureaublad: een melding wordt een consoleregel, toetsen gaan naar het installatieprogramma),net/no_mobile.rs,linux/no_media.rs, en op het bureaubladusb/without_ehci.rs. - De serverbuild staat
dead_codetoe; andere waarschuwingen blijven fouten.
Images
| Zip | Editie | Omgeving | Inhoud |
|---|---|---|---|
euzos-desktop-sbx-<build>.zip | Desktop | testbuild, omgeving sandbox | x86-64 en ARM64, wififirmware, test-SSH-sleutels als die er zijn |
euzos-desktop-prod-<build>.zip | Desktop | productiebuild | zonder de testbestanden (PROFILE.TXT, EXTRA.PEM, AUTHKEYS.TXT, HOSTKEY.TXT, WIFI.TXT) |
euzos-server-sbx-<build>.zip | Server | testbuild, omgeving sandbox | alleen x86-64, geen wififirmware, geen testprogramma's voor beeld, camera en geluid |
euzos-server-prod-<build>.zip | Server | productiebuild | hetzelfde, zonder testsleutels |
make images schrijft de grootte van elke kernel naar build/editions-<build>.txt.
Naslag
Consoleopdrachten
| Opdracht | Editie | Wat het doet |
|---|---|---|
installer, installer text | Server | het serverinstallatieprogramma (grafisch, of tekst) — zie Serverinstallatieprogramma |
packages | Server | de serverpakketten en hun stand — zie Pakketten |
workplace [status|setup [naam]|now] | Server | de werkplekrol — zie Pakketten |
network … | Server | vast adres / DHCP per adapter — zie Netwerk en firewall |
firewall … | Server | de inkomende firewall — zie Netwerk en firewall |
serveradmin … | Desktop | Server Admin — zie Server Admin |
pckey [create] | Desktop | de apparaatsleutel van de pc (nodig voor Server Admin) |
Functies en modules
| Onderdeel | Rol |
|---|---|
kernel/src/main.rs EDITION_MARK | EUZOS-EDITION:desktop / EUZOS-EDITION:server in het kernelbestand |
kernel/src/main.rs::run_command | de #[cfg(feature = "server")]-takken (installer, network, firewall, packages) en de lijst geweigerde bureaubladopdrachten |
crate::server_setup_choice (kernel/src/server/setup_choice.rs) | wat het grafische serverinstallatieprogramma op de schijf zet, en de registratie |
crate::serverinstaller (kernel/src/server/installer.rs) | het tekstinstallatieprogramma |
crate::packages (kernel/src/server/packages.rs) | de pakketlijst en de standen |
crate::screen (kernel/src/server/screen.rs) | de kleine tekenlaag van de server voor het grafische installatieprogramma |
crate::net::bcm5720, crate::usb::ehci | drivers die alleen de server heeft (Broadcom BCM5717-5720, EHCI) |
Configuratiebestanden
| Bestand | Editie | Betekenis |
|---|---|---|
\EOS\FW\WORKPLC.TXT | Server | de rol Werkplekbeheer (Pakketten); een bureaublad dat hem vindt, meldt in het logboek dat de rol alleen in EUZOS Server bestaat |
\EOS\FW\NETWORK.TXT | Server | vaste adressen (Netwerk en firewall) |
\EOS\FW\FIREWALL.TXT | Server | ondertekende firewallregels (Netwerk en firewall) |
\EOS\FW\PROFILE.TXT | beide | de omgeving / profielserver |
Zie ook
- docs/EDITIONS.md
- docs/USB-EHCI.md
- docs/ENVIRONMENTS.md
- Serverinstallatieprogramma, Serverconsole, Console van het bureaublad
EUZOS