MoonLightOS

Veiledning

Fra nedlasting til et system som virker, og hva du gjør når noe går galt.

Før du begynner

Hvilken som helst 64-bits x86-maskin. Installasjonsprogrammet krever minst 1,7 GB RAM og 18 GB diskplass; tallene nedenfor er de systemet går behagelig med.

MinimumAnbefalt
RAM2 GB4 GB
Diskplass18 GB30 GB
Prosessorhvilken som helst 64-bits x86-prosessorto kjerner
Grafikkhvilket som helst grafikkort med rammebufferhvilken som helst GPU fra de siste 15 årene

Samme ISO-fil støtter både UEFI og gammeldags BIOS. Secure Boot kan stå på.

Last ned og kontroller

ISO-filen er én fil, moonlightos-26.04.5-bengunur-amd64.iso, og ved siden av den ligger en fil med SHA-256-summen. Kontroller summen før du skriver filen til pinnen: en nedlasting som ikke ble fullført, gir en minnepinne som starter og så svikter på forvirrende måter.

På Linux eller macOS, i mappa der du lagret nedlastingen:

sha256sum -c moonlightos-26.04.5-bengunur-amd64.iso.sha256

På Windows, i PowerShell: sammenlign summen som skrives ut, med den som står i .sha256-filen:

Get-FileHash .\moonlightos-26.04.5-bengunur-amd64.iso -Algorithm SHA256
Get-Content .\moonlightos-26.04.5-bengunur-amd64.iso.sha256

Den første kommandoen skriver OK; den andre skriver en sum som må stemme med den i filen. Alt annet betyr at nedlastingen er skadet.

Last ned 26.04.5

Skriv ISO-filen til en minnepinne

ISO-filen er hybrid, så en rett blokkopiering er nok: du trenger ikke noe eget verktøy, og den samme pinnen starter både på UEFI- og BIOS-maskiner. Alt som ligger på pinnen, blir slettet. Du trenger en pinne på minst 8 GB.

På Linux eller macOS finner du først enhetsnavnet (lsblk på Linux, diskutil list på macOS), og så:

sudo dd if=moonlightos-26.04.5-bengunur-amd64.iso of=/dev/sdX bs=4M status=progress oflag=direct conv=fsync
sudo dd if=moonlightos-26.04.5-bengunur-amd64.iso of=/dev/rdiskN bs=4m   # macOS

Kontroller enhetsnavnet to ganger: dd skriver til den enheten den får.

Windows

Bruk Rufus i DD-modus, balenaEtcher eller Ventoy. Spør Rufus om den skal skrive i ISO- eller DD-modus, velger du DD.

Start fra minnepinnen

Start maskinen med pinnen i og åpne engangsmenyen for oppstart (F12, F8, F2, Esc eller Del, avhengig av produsenten), eller sett USB-enheten først i oppstartsrekkefølgen i fastvareinnstillingene. Secure Boot trenger du ikke røre.

Oppstartsmenyen

  • Try or Install MoonLightOS

    Den vanlige oppføringen. Starter live-økten med oppstartsanimasjonen.

  • Try or Install MoonLightOS (safe graphics)

    Det samme, men uten grafikkmodus i kjernen. Bruk den hvis skjermen blir svart eller bildet er forvrengt.

  • MoonLightOS in RAM (needs 6 GB+)

    Kopierer hele systemet til minnet, så pinnen kan tas ut.

  • Check this medium for defects

    Kontrollerer hver fil på pinnen mot summene som ble lagret under byggingen.

  • Verbose boot (no splash, logs to serial)

    Viser hver melding på skjermen og på den første serieporten. Det er den eneste måten å lese en oppstart som svikter før skjermen er tilgjengelig.

  • UEFI firmware settings

    Starter maskinen på nytt, inn i fastvareinnstillingene.

Skjermbilde av MoonLightOS
Så kommer oppstartsanimasjonen: logoen står stille, lysringen pulserer og framdriftslinja fylles.

Live-økten

Det første du ser, er oppsettveiviseren: velg språket systemet skal bruke, bekreft tastaturoppsettet (skriv i feltet for å prøve det), koble til et trådløst nett, og så enten utforsk eller installer. Alt veiviseren setter, er en reell systeminnstilling, og installasjonsprogrammet bruker de samme valgene.

Skjermbilde av MoonLightOS

Live-økten er hele systemet, uendret: samme skrivebord, samme verktøy, samme innstillingssider. Live-brukeren heter moonlight og har ikke passord. Ingenting du gjør her, berører disken før du kjører installasjonsprogrammet.

For å installere dobbeltklikker du på Installer MoonLightOS på skrivebordet, eller du åpner Oppsett på nytt og velger Installer.

Installer

Installasjonsprogrammet er Calamares. Sju sider, og så kopieringen til disken.

  1. Velkommen

    Språket i installasjonsprogrammet og lenkene til denne veiledningen.

  2. Sted

    Region og tidssone; lokaltilpasning og tallformater følger av det.

  3. Tastatur

    Allerede satt til det du valgte i veiviseren. Skriv i feltet for å kontrollere det.

  4. Partisjoner

    Slett disken er standardvalget og lager et ext4-filsystem med en vekslefil; btrfs, xfs og f2fs er også mulig, og du kan partisjonere manuelt. Kryss av for Krypter systemet for LUKS2-kryptering av hele disken, og velg en passordfrase: den skriver du inn ved hver oppstart, og den kan ikke gjenopprettes hvis du glemmer den. På en UEFI-maskin lages det en EFI-partisjon på 512 MiB.

  5. Brukere

    Navnet ditt, navnet på maskinen, et brukernavn og et passord på minst åtte tegn fra to tegnklasser. Den første kontoen administrerer maskinen gjennom sudo; root-kontoen forblir låst, og det er ingen automatisk innlogging med mindre du slår det på.

  6. Oppsummering

    Alt installasjonsprogrammet er i ferd med å gjøre, i én liste. Ingenting er skrevet ennå.

  7. Installer

    Systemet kopieres til disken, oppstartslasteren installeres (som MoonLightOS i oppstartslista i fastvaren på UEFI), og restene av live-økten fjernes. Så starter du på nytt og tar ut pinnen.

Andre operativsystemer på maskinen blir funnet av os-prober ved første oppstart og lagt inn i GRUB-menyen.

Første oppstart

Et installert system begynner som en nøyaktig kopi av ISO-filen alle andre installasjoner kommer fra. Alt som må være unikt for denne maskinen, lages ved første oppstart, før innloggingsskjermen kommer, av en tjeneste som deretter slår seg av selv:

  • en ny maskin-ID, slik at ingen som ser nettverkstrafikken, kan knytte to installasjoner til hverandre;
  • nye SSH-vertsnøkler, for en nøkkel som var felles for alle som lastet ned ISO-filen, ville gjort vertskontroll meningsløs;
  • GRUB-menyen, nå som de virkelige diskene og de andre operativsystemene på dem er synlige;
  • et initramfs bygd på nytt for maskinvaren som faktisk finnes, så det blir mindre og oppstartsanimasjonen kommer raskere;
  • hurtiglagrene for ikoner, skrifter og skrivebord, så den første innloggingen ikke blir treg;
  • brannmuren, slått på igjen.

Utdataene legges i /var/log/moonlight-firstboot.log. Så kommer innloggingsskjermen, og etter første innlogging Velkommen-vinduet.

Skjermbilde av MoonLightOS

Første steg

  • Velg utseende

    Mørkt eller lyst, rett i Velkommen. Resten ligger i MoonLight Tweaks: skrivebordsoppsettet, bakgrunnsbildet, tidsplanen og skrivebordselementene.

  • Drivere

    Velkommen → Drivere åpner Driverbehandling. På en maskin med NVIDIA-kort ligger den lukkede driveren på ISO-filen, så den virker uten internett.

  • Programvare

    Butikken viser snap-pakker, Ubuntu-arkivet og Flathub side om side. Thunderbird, Steam, Spotify og mange andre er ett søk unna.

  • Fingeravtrykk og ansikt

    Velkommen → Fingeravtrykk, eller Systeminnstillinger → Kontoen din, for å registrere et fingeravtrykk eller sette opp ansiktsopplåsing.

  • Sikkerhetskopier

    Timeshift tar øyeblikksbilder av systemet etter en tidsplan. Sett det opp før du får bruk for det.

  • Sikkerhet

    Systeminnstillinger → Sikkerhet viser hva som beskytter denne maskinen og hva som ikke gjør det, med knappen som ordner saken på hver linje.

  • Utviklerpakker

    Virtuelle maskiner, PHP med databaser og LaTeX: ett klikk hver i Velkommen, installert fra arkivet som allerede er satt opp.

  • Windows-programmer

    Åpne Windows-programmer én gang: det forbereder Wine med DXVK, VKD3D, skrifter og kjøremiljøer. Etter det åpner .exe-filer seg bare.

Virtuelle maskiner

VirtualBox

VirtualBox trenger tre endringer fra standardoppsettet, ellers starter ikke denne ISO-filen i det hele tatt. Feilen ser ut som et minneproblem, men er det ikke: GRUB bytter til en grafikkmodus for å tegne den tilpassede menyen, og med VirtualBox' standard på 16 MB skjermminne svikter det med meldingen «Out of memory. You need to load the kernel first.»

TypeLinux / Ubuntu (64-bit)
Minne4096 MB (2048 som minimum)
Prosessorer2 eller flere
Skjermminne128 MB, innstillingen som faktisk betyr noe
3D-akselerasjonslått på
GrafikkontrollerVMSVGA
Aktiver EFIslått av: BIOS fungerer fint, og EFI-en i VirtualBox er ufullstendig
Hopp over uovervåket installasjonkrysset av
Disk30 GB eller mer

Fra kommandolinja:

VBoxManage modifyvm "MoonLightOS" \
    --ostype Ubuntu24_LTS_64 --memory 4096 --cpus 4 \
    --vram 128 --graphicscontroller vmsvga --accelerate3d on \
    --boot1 dvd --boot2 disk

VirtualBox merker mediet som «Ubuntu» fordi det finner en /casper-mappe på det. Det er bare en merkelapp i grensesnittet til VirtualBox; selve mediet melder seg som MoonLightOS. Sett gjestetypen til Ubuntu likevel, for det gir riktig brikkesett og riktige grafikkstandarder.

QEMU

UEFI, slik de fleste maskiner starter. Lag først de skrivbare fastvarevariablene og en disk å installere på:

cp /usr/share/OVMF/OVMF_VARS.fd .
qemu-img create -f qcow2 disk.qcow2 30G
qemu-system-x86_64 \
  -enable-kvm -m 4096 -smp 4 \
  -machine q35 -cpu host \
  -device virtio-vga-gl -display gtk,gl=on \
  -drive if=pflash,format=raw,readonly=on,file=/usr/share/OVMF/OVMF_CODE.fd \
  -drive if=pflash,format=raw,file=OVMF_VARS.fd \
  -drive file=moonlightos-26.04.5-bengunur-amd64.iso,media=cdrom \
  -drive file=disk.qcow2,if=virtio

Med Secure Boot faktisk slått på, og med fastvaren som har Microsofts nøkler registrert. Når systemet har startet, melder mokutil --sb-state «SecureBoot enabled», og det samme gjør Innstillinger → Om:

cp /usr/share/OVMF/OVMF_VARS_4M.ms.fd OVMF_VARS.fd
qemu-system-x86_64 \
  -enable-kvm -m 4096 -smp 4 -machine q35,smm=on -cpu host \
  -global driver=cfi.pflash01,property=secure,value=on \
  -drive if=pflash,format=raw,readonly=on,file=/usr/share/OVMF/OVMF_CODE_4M.secboot.fd \
  -drive if=pflash,format=raw,file=OVMF_VARS.fd \
  -drive file=moonlightos-26.04.5-bengunur-amd64.iso,media=cdrom

Gammeldags BIOS: ISO-filen er hybrid, så den samme filen starter også på gamlemåten:

qemu-system-x86_64 -enable-kvm -m 2048 -cdrom moonlightos-26.04.5-bengunur-amd64.iso

Vil du prøve ut påstanden om 2 GB, starter du uten akselerasjon og med minimum minne, og sjekker i live-økten at zram vises som veksleminne og at minnetrykket holder seg lavt:

qemu-system-x86_64 -enable-kvm -m 2048 -smp 2 -vga std -cdrom moonlightos-26.04.5-bengunur-amd64.iso

# in the live session:
free -h                      # zram appears as swap
swapon --show                # /dev/zram0, zstd
cat /proc/pressure/memory    # "some avg10" under about 10 means it is keeping up
systemctl is-active earlyoom

Gjesteverktøyene for VirtualBox, QEMU/SPICE og VMware ligger allerede på ISO-filen, og det er de som gir skjermtilpasning og felles utklippstavle.

Tastatursnarveier

Hele tabellen ligger på Funksjoner-siden. Dette er de som er verdt å lære den første dagen:

Superåpner menyen; Super+Mellomrom åpner den med markøren i søkefeltet
Super+Vhistorikk for utklippstavla
Super+Nnotater
Print / Shift+Printskjermbilde av skjermen / av et område; Shift+Super+5 åpner opptakspanelet
Super+Venstre / Høyrefester vinduet til halve skjermen
Ctrl+Oppalle vinduer; Ctrl+Ned, alle skrivebord
Super+Llåser skjermen; Ctrl+Alt+T åpner en terminal; Ctrl+Shift+Esc åpner systemovervåkingen

Hele tabellen

Feilsøking

  • Skjermen blir svart etter oppstartsmenyen

    Velg oppføringen med trygg grafikk. Starter den, installerer du derfra og slår på den lukkede driveren fra Drivere-siden etterpå.

  • «Out of memory. You need to load the kernel first.»

    En VirtualBox-maskin med 16 MB skjermminne. Gi den 128 MB og slå på 3D-akselerasjon; se Virtuelle maskiner over.

  • Skrivebordet føles tregt

    Sjekk OpenGL-opptegneren under Innstillinger → Om. Tegnes grafikken i programvare, slås animasjonene av automatisk ved innlogging; Tweaks → Ytelse slår dem av manuelt.

  • Pinnen starter, men svikter på forvirrende måter

    Kjør oppføringen som kontrollerer mediet fra oppstartsmenyen, og kontroller SHA-256-summen til nedlastingen.

  • Ingen Wi-Fi

    Åpne Drivere-siden: Broadcom-driveren ligger på ISO-filen. For andre kort viser nettverksmenyen hva kjernen har funnet.

  • Fingeravtrykkleseren blir ikke funnet

    Åpne Fingeravtrykk. Programmet oppgir hvem som har laget sensoren, sier om den støttes direkte, sammenligner på brikken eller krever en lukket fil fra produsenten, og forklarer hva som kan gjøres.

  • Lese loggene

    Hva oppstarten klaget på, loggen til innloggingsbehandleren, loggen fra første oppstart, og navnet på oppstartstemaet som er i bruk:

journalctl -b -p warning          # what the boot complained about
journalctl -b -u lightdm
cat /var/log/moonlight-firstboot.log
plymouth-set-default-theme        # should print: moonlightos

Til en feilrapport legger Om → Kopier rapport utgivelsen og maskinvaren på utklippstavla, og moonlight-selftest skriver ut hva skrivebordet faktisk gjør.

moonlight-selftest | less

Bygg det selv

Hele distribusjonen ligger i ett kodelager: grafikken er avledet fra én kildelogo, temaene lages fra én palett, og ett skript gjør alt om til en oppstartbar ISO-fil som virker med Secure Boot. Du trenger Docker (på hvilket som helst operativsystem, for byggingen skjer i en beholder) og rundt 25 GB ledig plass.

./build.shalt: grunnoppsett → tilpasning → komprimering → ISO
./build.sh rootfsstopp når systemet er ferdig tilpasset
./build.sh imagepakk et eksisterende rotfilsystem om til en ny ISO
./build.sh finishbare oppstartslastere og ISO, med samme squashfs
./build.sh shellet skall inne i byggemiljøet
./build.sh cleanslett arbeidsvolumet

ISO-filen havner i out/, med en SHA-256-sum ved siden av. På Windows kjører du den fra Git Bash, eller du bruker build.ps1.

Slik er byggingen organisert

build.shinngangen på vertsmaskinen; kjører alt i en beholder
build/Dockerfile.builderbyggemiljøet, låst til utgivelsen det bygges for
build/mkiso.shgrunnoppsett, uthenting av kjernen, squashfs, oppstartslastere, ISO
build/inchroot.shalt som skjer inne i chroot-en, i fjorten trinn
config/moonlight.confhver tekst som definerer utgivelsen
packages/*.listhva som havner på ISO-filen, og hva som fjernes
rootfs/filer som kopieres rett inn i systemet, inkludert MoonLight-programmene
brand/source/kildelogoen og bakgrunnsbildene; brand/out/ lages av verktøyene
tools/gen-branding.pykildelogo → oppstartsanimasjon, GRUB, innloggingsskjerm, ikoner
tools/gen-themes.pyén palett → begge komplette temaer
po/oversettelsene av MoonLight-programmene
installer/oppsett og grafikk for Calamares

Før ISO-filen lages, kjører byggingen over 120 obligatoriske kontroller inne i systemet: kjernen, den signerte shimen, begge temaene, hvert MoonTool, kodekene, trådløsdriverne, oversettelsene, og at ansiktsopplåsing og nødpassord er slått av. Svikter én kontroll, stopper byggingen. Arbeidsområdet er et Docker-volum og ikke en bind-montering, fordi filrettigheter, symbolske lenker og enhetsnoder ikke overlever en bind-montering på Windows eller macOS.

Tilpasning

  • Identiteten til utgivelsen

    config/moonlight.conf inneholder hver enkelt tekst som definerer distribusjonen.

  • Grafikk

    Bytt ut kildelogoen eller et bakgrunnsbilde, kjør tools/gen-branding.py på nytt, og oppstartsanimasjonen, GRUB, innloggingsskjermen, ikonene og grafikken i installasjonsprogrammet lages på nytt.

  • Farger

    tools/gen-themes.py inneholder én mørk og én lys palett og lager begge komplette temaer etter de samme reglene.

  • Installerte pakker

    packages/*.list, én pakke per linje, installert i filnavnrekkefølge; 99-purge.list sier hva som fjernes etterpå.

  • Standardvalg på skrivebordet

    rootfs/etc/dconf/db/moonlight.d/, i dconf-nøkkelfilformat. Dette er standardvalg, ikke låser: brukeren kan endre alt.

  • Rask ombygging

    Etter en endring i rootfs/ eller pakkelistene gjentar build.sh rootfs chroot-trinnet på det mellomlagrede grunnlaget, og build.sh image pakker ISO-filen om; build.sh finish bruker du når du jobber med oppstartsmenyen.

Hjelp og feilrapporter

En nyttig rapport sier hva du forventet, hva som skjedde i stedet, og hvilken maskin det skjedde på. Den tredje delen gjør MoonLightOS enkel:

  • Om MoonLightOS → Kopier rapport legger utgivelsen, maskinvaren, grafikkopptegneren og tilstanden til Secure Boot på utklippstavla som tekst.
  • moonlight-selftest skriver ut temainnstillingene som er i bruk, om stilsettet til skallet ble lastet riktig, hvilken grafikkdriver som er aktiv og hvilke tjenester som feilet.
  • Ved et oppstartsproblem skriver oppføringen for utførlig oppstart hver melding til skjermen og til den første serieporten.
  • For installasjonsprogrammet: /var/log/moonlight-firstboot.log på det installerte systemet, og journalctl -b -p warning.

Hvor du sender det

En offentlig feilsporing og en støttekanal blir kunngjort her. Inntil da: ta vare på rapporten, for alt den må inneholde kommer fra de to verktøyene over.