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.
| Minimum | Anbefalt | |
|---|---|---|
| RAM | 2 GB | 4 GB |
| Diskplass | 18 GB | 30 GB |
| Prosessor | hvilken som helst 64-bits x86-prosessor | to kjerner |
| Grafikk | hvilket som helst grafikkort med rammebuffer | hvilken 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.
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.
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.
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.
- Velkommen
Språket i installasjonsprogrammet og lenkene til denne veiledningen.
- Sted
Region og tidssone; lokaltilpasning og tallformater følger av det.
- Tastatur
Allerede satt til det du valgte i veiviseren. Skriv i feltet for å kontrollere det.
- 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.
- 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å.
- Oppsummering
Alt installasjonsprogrammet er i ferd med å gjøre, i én liste. Ingenting er skrevet ennå.
- 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.
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.»
| Type | Linux / Ubuntu (64-bit) |
|---|---|
| Minne | 4096 MB (2048 som minimum) |
| Prosessorer | 2 eller flere |
| Skjermminne | 128 MB, innstillingen som faktisk betyr noe |
| 3D-akselerasjon | slått på |
| Grafikkontroller | VMSVGA |
| Aktiver EFI | slått av: BIOS fungerer fint, og EFI-en i VirtualBox er ufullstendig |
| Hopp over uovervåket installasjon | krysset av |
| Disk | 30 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+V | historikk for utklippstavla |
| Super+N | notater |
| Print / Shift+Print | skjermbilde av skjermen / av et område; Shift+Super+5 åpner opptakspanelet |
| Super+Venstre / Høyre | fester vinduet til halve skjermen |
| Ctrl+Opp | alle vinduer; Ctrl+Ned, alle skrivebord |
| Super+L | låser skjermen; Ctrl+Alt+T åpner en terminal; Ctrl+Shift+Esc åpner systemovervåkingen |
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.sh | alt: grunnoppsett → tilpasning → komprimering → ISO |
./build.sh rootfs | stopp når systemet er ferdig tilpasset |
./build.sh image | pakk et eksisterende rotfilsystem om til en ny ISO |
./build.sh finish | bare oppstartslastere og ISO, med samme squashfs |
./build.sh shell | et skall inne i byggemiljøet |
./build.sh clean | slett 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.sh | inngangen på vertsmaskinen; kjører alt i en beholder |
|---|---|
build/Dockerfile.builder | byggemiljøet, låst til utgivelsen det bygges for |
build/mkiso.sh | grunnoppsett, uthenting av kjernen, squashfs, oppstartslastere, ISO |
build/inchroot.sh | alt som skjer inne i chroot-en, i fjorten trinn |
config/moonlight.conf | hver tekst som definerer utgivelsen |
packages/*.list | hva 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.py | kildelogo → 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.