Vejledning
Fra download til en installation, der virker – og hvad du gør, når noget går skævt.
Før du går i gang
En vilkårlig 64-bit x86-computer. Installationsprogrammet kræver mindst 1,7 GB RAM og 18 GB ledig plads; tallene nedenfor er dem, systemet kører behageligt med.
| Minimum | Anbefalet | |
|---|---|---|
| RAM | 2 GB | 4 GB |
| Disk | 18 GB | 30 GB |
| Processor | en vilkårlig 64-bit x86-processor | to kerner |
| Grafik | et vilkårligt grafikkort med framebuffer | enhver GPU fra de seneste 15 år |
Både UEFI og gammeldags BIOS starter den samme ISO-fil. Secure Boot kan blive ved med at være slået til.
Hent og kontrollér
ISO-filen er én fil, moonlightos-26.04.5-bengunur-amd64.iso, og ved siden af den ligger en fil med dens SHA-256-sum. Kontrollér summen, før du skriver filen til nøglen: en halv download giver en USB-nøgle, der starter og derefter fejler på forvirrende måder.
På Linux eller macOS – i den mappe, hvor du har gemt filen:
sha256sum -c moonlightos-26.04.5-bengunur-amd64.iso.sha256
På Windows, i PowerShell – sammenlign den viste hashværdi med den, der 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 kommando skriver OK; den anden skriver en hashværdi, som skal være identisk med den i filen. Alt andet betyder, at filen er beskadiget.
Skriv ISO-filen til en USB-nøgle
ISO-filen er hybrid, så en helt almindelig blokkopi er nok: der skal ikke noget særligt værktøj til, og den samme nøgle starter både på UEFI- og BIOS-computere. Alt på nøglen bliver slettet. Du skal have en nøgle på mindst 8 GB.
På Linux eller macOS – find først enhedsnavnet (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
Tjek enhedsnavnet to gange: dd skriver til lige præcis den enhed, den får besked på.
Windows
Brug Rufus i DD-tilstand, balenaEtcher eller Ventoy. Spørger Rufus, om der skal skrives i ISO- eller DD-tilstand, så vælg DD.
Start fra USB-nøglen
Start computeren med nøglen i, og åbn den opstartsmenu, der kun gælder denne ene gang (F12, F8, F2, Esc eller Del alt efter producent), eller sæt USB-enheden først i opstartsrækkefølgen i firmwarens indstillinger. Secure Boot skal ikke ændres.
Opstartsmenuen
- Try or Install MoonLightOS
Det normale valg. Starter live-sessionen med opstartsanimationen.
- Try or Install MoonLightOS (safe graphics)
Det samme, men med kernens tilstandsskift for grafikken slået fra. Brug det, hvis skærmen bliver sort eller billedet er forvrænget.
- MoonLightOS in RAM (needs 6 GB+)
Kopierer hele systemet over i hukommelsen, så nøglen kan tages ud.
- Check this medium for defects
Kontrollerer hver enkelt fil på nøglen mod de summer, der blev gemt, da ISO-filen blev bygget.
- Verbose boot (no splash, logs to serial)
Viser hver besked på skærmen og på den første serielport – den eneste måde at læse en opstart, der fejler, før skærmen er klar.
- UEFI firmware settings
Genstarter ind i firmwarens indstillinger.
Live-sessionen
Det første, du ser, er førstegangsopsætningen: vælg systemets sprog, bekræft tastaturlayoutet (skriv i feltet for at prøve det), kom på et trådløst netværk, og vælg så, om du vil se dig omkring eller installere. Alt, hvad guiden sætter, er en rigtig systemindstilling, og installationsprogrammet bruger de samme valg.
Live-sessionen er hele systemet, uændret: samme skrivebord, samme værktøjer, samme indstillingssider. Live-brugeren hedder moonlight og har ingen adgangskode. Intet af det, du gør her, rører disken, før du starter installationsprogrammet.
Du installerer ved at dobbeltklikke på Installér MoonLightOS på skrivebordet eller ved at åbne førstegangsopsætningen igen og vælge Installér.
Installation
Installationsprogrammet er Calamares. Syv sider, og så kopieringen til disken.
- Velkommen
Installationsprogrammets sprog og henvisningerne til denne vejledning.
- Placering
Din region og tidszone – sprogområde og talformater følger med.
- Tastatur
Står allerede på det, du valgte i guiden. Skriv i feltet for at tjekke det.
- Partitioner
Slet disken er forvalgt og laver et ext4-filsystem med en swapfil; btrfs, xfs og f2fs kan også vælges, og du kan partitionere i hånden. Sæt flueben i Kryptér systemet for LUKS2-kryptering af hele disken, og vælg en adgangssætning: du skal skrive den ved hver opstart, og glemmer du den, er den tabt. På en UEFI-computer bliver der lavet en EFI-partition på 512 MiB.
- Brugere
Dit navn, computerens navn, et brugernavn og en adgangskode på mindst otte tegn fra to tegnklasser. Den første konto administrerer computeren gennem sudo; root-kontoen bliver ved med at være låst, og der er ingen automatisk logind, medmindre du selv slår det til.
- Oversigt
Alt, hvad installationsprogrammet er ved at gøre, på én liste. Der er endnu ikke skrevet noget.
- Installér
Systemet bliver kopieret over på disken, opstartsindlæseren bliver installeret (som MoonLightOS i firmwarens opstartsliste på UEFI), og live-sessionens rester bliver ryddet væk. Så genstarter du og tager nøglen ud.
Andre styresystemer på computeren bliver fundet af os-prober ved den første opstart og lagt ind i GRUB-menuen.
Den første opstart
Et installeret system begynder som en nøjagtig kopi af den ISO-fil, alle andre installationer også kommer fra. Alt, der skal være unikt for netop denne computer, bliver lavet ved den første opstart, før logindskærmen kommer frem, af en tjeneste, der derefter slår sig selv fra:
- et nyt maskin-id, så ingen på netværket kan koble to installationer sammen;
- nye SSH-værtsnøgler, for en nøgle, der var ens på hver eneste hentede installation, ville gøre værtskontrollen meningsløs;
- GRUB-menuen, nu hvor de rigtige diske og de andre styresystemer på dem er synlige;
- et initramfs, der er bygget til den hardware, computeren faktisk har, så det er mindre, og opstartsanimationen kommer hurtigere frem;
- cachen for ikoner, skrifttyper og skrivebord, så det første logind ikke er sløvt;
- firewallen, slået til igen.
Hvad tjenesten gør, bliver skrevet til /var/log/moonlight-firstboot.log. Så kommer logindskærmen – og efter det første logind dukker Velkommen-vinduet op.
De første skridt
- Vælg et udseende
Mørkt eller lyst, direkte i Velkommen. Alt det andet ligger i MoonLight Tweaks: skrivebordsopsætningen, tapetet, tidsplanen og widgets.
- Drivere
Velkommen → Drivere åbner Driverhåndtering. På en computer med NVIDIA-kort ligger den lukkede driver på ISO-filen, så den virker uden internetforbindelse.
- Software
Softwarecentret viser snaps, Ubuntu-arkivet og Flathub samlet. Thunderbird, Steam, Spotify og mange andre ligger en søgning væk.
- Fingeraftryk og ansigt
Velkommen → Fingeraftryk, eller Systemindstillinger → Din konto, hvis du vil registrere et fingeraftryk eller sætte ansigtsoplåsning op.
- Sikkerhedskopier
Timeshift tager snapshots af systemet efter en tidsplan. Sæt det op, før du får brug for det.
- Sikkerhed
Systemindstillinger → Sikkerhed viser, hvad der beskytter denne computer, og hvad der ikke gør. Hver linje har den knap, der retter det.
- Udviklerpakker
Virtuelle maskiner, PHP med databaser og LaTeX: ét klik hver i Velkommen, installeret fra det arkiv, der allerede er sat op.
- Windows-programmer
Åbn Windows-programmer én gang: det klargør Wine med DXVK, VKD3D, skrifttyper og runtimes. Derefter åbner .exe-filer bare.
Virtuelle maskiner
VirtualBox
VirtualBox skal have tre indstillinger lavet om, ellers starter den slet ikke denne ISO-fil. Fejlen ligner et hukommelsesproblem, men er det ikke: GRUB skifter til en grafiktilstand for at kunne tegne den tematiserede menu, og med VirtualBox' standard på 16 MB videohukommelse mislykkes det med beskeden »Out of memory. You need to load the kernel first.«
| Type | Linux / Ubuntu (64-bit) |
|---|---|
| Hukommelse | 4096 MB (2048 som minimum) |
| Processorer | 2 eller flere |
| Videohukommelse | 128 MB – den indstilling, der faktisk betyder noget |
| 3D-acceleration | slået til |
| Grafikstyring | VMSVGA |
| Aktivér EFI | slået fra: BIOS fungerer fint, og VirtualBox' EFI er ufærdig |
| Spring uovervåget installation over | sat til |
| Disk | 30 GB eller mere |
Fra kommandolinjen:
VBoxManage modifyvm "MoonLightOS" \
--ostype Ubuntu24_LTS_64 --memory 4096 --cpus 4 \
--vram 128 --graphicscontroller vmsvga --accelerate3d on \
--boot1 dvd --boot2 disk
VirtualBox kalder mediet »Ubuntu«, fordi den finder en /casper-mappe på det. Det er kun en etiket i VirtualBox' brugerflade; selve mediet melder sig som MoonLightOS. Sæt gæstetypen til Ubuntu alligevel – det vælger det rigtige chipsæt og de rigtige grafikindstillinger.
QEMU
UEFI, sådan som de fleste computere starter. Lav først de skrivbare firmwarevariabler og en disk at 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 rigtigt slået til, altså med den firmware, hvor Microsofts nøgler er lagt ind. Når systemet er startet, melder mokutil --sb-state SecureBoot enabled, og det samme gør Indstillinger → 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 fil starter også på den gamle måde:
qemu-system-x86_64 -enable-kvm -m 2048 -cdrom moonlightos-26.04.5-bengunur-amd64.iso
Vil du efterprøve påstanden om 2 GB, så start uden acceleration og med mindst mulig hukommelse, og se så i live-sessionen, at zram optræder som swap, og at hukommelsespresset holder sig 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
Gæsteværktøjerne til VirtualBox, QEMU/SPICE og VMware ligger allerede på ISO-filen, og det er dem, der sørger for, at skærmen tilpasser sig størrelsen, og at udklipsholderen deles.
Tastaturgenveje
Hele tabellen står på funktionssiden. Dem, det er værd at lære den første dag:
| Super | åbner menuen; Super+Space åbner den med markøren i søgefeltet |
|---|---|
| Super+V | historik i udklipsholderen |
| Super+N | noter |
| Print / Shift+Print | skærmbillede af skærmen / af et udsnit; Shift+Super+5 åbner optagelsespanelet |
| Super+Left / Right | lægger et vindue i halv skærm |
| Ctrl+Up | alle vinduer; Ctrl+Down, alle skriveborde |
| Super+L | låser skærmen; Ctrl+Alt+T åbner en terminal; Ctrl+Shift+Esc åbner systemovervågningen |
Når noget går skævt
- Skærmen bliver sort efter opstartsmenuen
Vælg punktet med sikker grafik. Starter systemet, så installér derfra, og slå bagefter den lukkede driver til fra Drivere-siden.
- »Out of memory. You need to load the kernel first.«
En VirtualBox-maskine med 16 MB videohukommelse. Giv den 128 MB og slå 3D-acceleration til – se Virtuelle maskiner ovenfor.
- Skrivebordet føles sløvt
Se under Indstillinger → Om, hvilken OpenGL-renderer der er i brug. Kører grafikken i software, bliver animationerne slået fra automatisk ved logind; Tweaks → Ydelse slår dem fra i hånden.
- Nøglen starter, men fejler derefter på forvirrende måder
Kør Check this medium for defects fra opstartsmenuen, og kontrollér SHA-256-summen på den fil, du har hentet.
- Ingen wi-fi
Åbn Drivere-siden: Broadcom-driveren ligger på ISO-filen. For andre adaptere viser netværksmenuen, hvad kernen har fundet.
- Fingeraftrykslæseren bliver ikke fundet
Åbn Fingeraftryk. Det fortæller, hvem der har lavet sensoren, om den er understøttet direkte, om den sammenligner på chippen, eller om den kræver en binær fil fra producenten – og hvad du kan gøre.
- Sådan læser du loggene
Hvad opstarten klagede over, logindhåndteringens log, loggen fra den første opstart og navnet på det aktive opstartstema:
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 fejlrapport lægger Om → Kopiér rapport udgivelsen og hardwaren i udklipsholderen, og moonlight-selftest skriver, hvad skrivebordet faktisk gør.
moonlight-selftest | less
Byg det selv
Hele distributionen ligger i ét arkiv: grafikken er afledt af ét kildelogo, temaerne bliver genereret ud fra én palet, og ét script laver det hele til en ISO-fil, der kan starte med Secure Boot. Du skal have Docker (på et vilkårligt styresystem, for bygningen kører i en container) og omkring 25 GB fri plads.
./build.sh | det hele: bootstrap → tilpasning → komprimering → ISO |
./build.sh rootfs | stop, når systemet er tilpasset |
./build.sh image | pak et eksisterende rodfilsystem om til en ny ISO |
./build.sh finish | kun opstartsindlæsere og ISO, oven på den squashfs der allerede findes |
./build.sh shell | en skal inde i byggemiljøet |
./build.sh clean | slet arbejdsdiskenheden |
ISO-filen bliver skrevet til out/ med en SHA-256-sum ved siden af. På Windows kører du den fra Git Bash eller bruger build.ps1.
Sådan hænger bygningen sammen
build.sh | indgangen på værtsmaskinen; kører alt i en container |
|---|---|
build/Dockerfile.builder | byggemiljøet, bundet til den version, der bygges til |
build/mkiso.sh | bootstrap, udtræk af kernen, squashfs, opstartsindlæsere, ISO |
build/inchroot.sh | alt det, der sker inde i chrooten, i fjorten etaper |
config/moonlight.conf | hver eneste tekst, der definerer udgivelsen |
packages/*.list | hvad der kommer med på ISO-filen, og hvad der bliver fjernet |
rootfs/ | filer, der kopieres uændret ind i systemet, blandt andet MoonLight-programmerne |
brand/source/ | kildelogoet og tapeterne; brand/out/ bliver genereret |
tools/gen-branding.py | kildelogo → opstartsanimation, GRUB, logindskærm, ikoner |
tools/gen-themes.py | én palet → to komplette temaer |
po/ | oversættelserne af MoonLight-programmerne |
installer/ | konfiguration og grafik til Calamares |
Inden ISO-filen bliver lavet, kører bygningen mere end 120 obligatoriske kontroller inde i selve systemet: kernen, den signerede shim, begge temaer, hvert enkelt MoonTool, codecs, wi-fi-driverne, oversættelserne og at ansigtsoplåsning og nødadgangskoden er slået fra. Fejler bare én kontrol, stopper bygningen. Arbejdspladsen er en Docker-diskenhed og ikke en bind mount, fordi filrettigheder, symbolske links og enhedsfiler ikke overlever en bind mount på Windows eller macOS.
Tilpasning
- Udgivelsens identitet
config/moonlight.conf indeholder hver eneste tekst, der definerer distributionen.
- Grafik
Skift kildelogoet eller et tapet, kør tools/gen-branding.py igen, og opstartsanimationen, GRUB, logindskærmen, ikonerne og grafikken i installationsprogrammet bliver alle lavet om.
- Farver
tools/gen-themes.py indeholder én mørk og én lys palet og genererer begge komplette temaer efter de samme regler.
- Installerede pakker
packages/*.list, én pakke pr. linje, installeret i filnavnenes rækkefølge; 99-purge.list er listen over det, der bliver fjernet bagefter.
- Standardindstillinger for skrivebordet
rootfs/etc/dconf/db/moonlight.d/ i dconf-keyfile-format. Det er standardværdier, ikke låste værdier: en bruger kan ændre dem alle.
- Hurtig genbygning
Har du ændret noget i rootfs/ eller i pakkelisterne, gentager build.sh rootfs chroot-etapen på den base, der ligger i cachen, og build.sh image pakker ISO-filen om; build.sh finish er til, når du arbejder på opstartsmenuen.
Hjælp og fejlrapporter
En brugbar rapport fortæller, hvad du forventede, hvad der skete i stedet, og hvilken computer det skete på. Det sidste gør MoonLightOS nemt:
- Om MoonLightOS → Kopiér rapport lægger udgivelsen, hardwaren, grafikrendereren og Secure Boot-tilstanden i udklipsholderen som tekst.
- moonlight-selftest skriver, hvilke temaindstillinger der er i brug, om skallens stylesheet blev indlæst rigtigt, hvilken grafikdriver der er aktiv, og hvilke tjenester der fejlede.
- Går det galt under opstarten, skriver punktet Verbose boot hver besked til skærmen og til den første serielport.
- Til installationsprogrammet: /var/log/moonlight-firstboot.log på det installerede system og journalctl -b -p warning.
Hvor du sender det hen
Et offentligt fejlsporingssystem og en supportkanal bliver annonceret her. Indtil da: behold rapporten – alt, hvad den skal indeholde, kommer fra de to værktøjer ovenfor.