MoonLightOS

Guide

Från nedladdningen till en fungerande installation, och vad du gör när något går fel.

Innan du börjar

Vilken 64-bitars x86-dator som helst. Installationsprogrammet kräver minst 1,7 GB RAM och 18 GB diskutrymme; värdena nedan är de som systemet trivs med.

MinstRekommenderat
Minne2 GB4 GB
Lagring18 GB30 GB
Processorvalfri 64-bitars x86-processortvå kärnor
Grafikvalfritt grafikkort med framebuffervalfri GPU från de senaste 15 åren

Samma avbild fungerar med både UEFI och äldre BIOS. Secure Boot kan vara kvar påslaget.

Ladda ner och kontrollera

Avbilden är en enda fil, moonlightos-26.04.5-bengunur-amd64.iso, och bredvid den ligger en fil med SHA-256-summan. Kontrollera summan innan du skriver avbilden: en ofullständig nedladdning ger ett USB-minne som startar och sedan går fel på förvirrande sätt.

På Linux och macOS, i mappen där nedladdningen ligger:

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

I PowerShell på Windows jämför du summan som skrivs ut med den i .sha256-filen:

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

Det första kommandot skriver OK; det andra skriver ut en summa som måste stämma med den i filen. Allt annat betyder att nedladdningen är skadad.

Ladda ner 26.04.5

Skriv avbilden till ett USB-minne

Avbilden är en hybrid-ISO, så en vanlig blockkopiering räcker: inget särskilt verktyg behövs, och samma minne startar både på UEFI- och BIOS-datorer. Allt som finns på minnet raderas. Du behöver ett minne på minst 8 GB.

På Linux och macOS tar du först reda på enhetsnamnet (lsblk på Linux, diskutil list på macOS), och sedan:

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

Kontrollera enhetsnamnet en extra gång: dd skriver till precis den enhet det får.

Windows

Använd Rufus i DD-läge, balenaEtcher eller Ventoy. Frågar Rufus om avbilden ska skrivas i ISO-läge eller DD-läge väljer du DD.

Starta från USB-minnet

Starta datorn med minnet i och öppna menyn för engångsval av startenhet (F12, F8, F2, Esc eller Del, beroende på tillverkare), eller ställ in USB-enheten som första startenhet i firmwareinställningarna. Secure Boot behöver du inte ändra.

Uppstartsmenyn

  • Try or Install MoonLightOS

    Den vanliga posten. Startar livesessionen med startanimationen.

  • Try or Install MoonLightOS (safe graphics)

    Samma sak, men med kernel mode-setting avstängt. Använd den när skärmen förblir svart eller bilden blir förvrängd.

  • MoonLightOS in RAM (needs 6 GB+)

    Kopierar hela systemet till minnet, så att USB-minnet kan tas ut.

  • Check this medium for defects

    Kontrollerar varje fil på minnet mot de summor som sparades när avbilden byggdes.

  • Verbose boot (no splash, logs to serial)

    Visar varje meddelande på skärmen och på den första serieporten, det enda sättet att läsa en start som går fel innan skärmen finns.

  • UEFI firmware settings

    Startar om till firmwareinställningarna.

Skärmbild av MoonLightOS
Sedan kommer startanimationen: logotypen står still, halon pulserar och förloppsindikatorn fylls.

Livesessionen

Det första du ser är guiden vid första starten: välj systemets språk, bekräfta tangentbordslayouten (skriv i rutan för att testa den), anslut till ett wifi-nätverk och välj sedan att utforska eller installera. Allt den ställer in är en riktig systeminställning, och installationsprogrammet använder samma val.

Skärmbild av MoonLightOS

Livesessionen är hela systemet, oförändrat: samma skrivbord, samma verktyg, samma inställningssidor. Liveanvändaren heter moonlight och har inget lösenord. Inget du gör här rör disken förrän du startar installationsprogrammet.

För att installera dubbelklickar du på Installera MoonLightOS på skrivbordet, eller öppnar guiden igen och väljer Installera.

Installera

Installationsprogrammet är Calamares. Sju sidor, sedan kopieringen till disken.

  1. Välkommen

    Installationsprogrammets språk och länkarna till den här guiden.

  2. Plats

    Din region och tidszon; språkinställningen och sifferformaten följer av dem.

  3. Tangentbord

    Redan inställt på det du valde i guiden. Skriv i rutan för att kontrollera.

  4. Partitioner

    Radera disk är förvalt och skapar ett ext4-filsystem med en växlingsfil; btrfs, xfs och f2fs finns också, liksom manuell partitionering. Kryssa i Kryptera systemet för LUKS2-kryptering av hela disken och välj en lösenfras: du skriver den vid varje start, och den går inte att få tillbaka om du glömmer den. På en UEFI-dator skapas en EFI-partition på 512 MiB.

  5. Användare

    Ditt namn, datorns namn, ett användarnamn och ett lösenord på minst åtta tecken ur två teckenklasser. Det första kontot administrerar datorn via sudo; root-kontot förblir låst, och det finns ingen automatisk inloggning om du inte slår på den.

  6. Sammanfattning

    Allt installationsprogrammet är på väg att göra, i en lista. Ännu är inget skrivet.

  7. Installera

    Systemet kopieras till disken, starthanteraren installeras (som MoonLightOS i firmwarens startlista på UEFI), och resterna av livesessionen rensas bort. Sedan är det bara att starta om och ta ut USB-minnet.

Andra operativsystem på datorn hittas av os-prober vid den första starten och läggs till i GRUB-menyn.

Den första starten

Ett installerat system börjar som en exakt kopia av den avbild som alla andra installationer kommer från. Allt som måste vara unikt för just den här datorn skapas vid den första starten, innan inloggningsskärmen visas, av en tjänst som sedan stänger av sig själv:

  • ett nytt maskin-id, så att ingen som tittar på nätverket kan koppla ihop två installationer;
  • nya SSH-värdnycklar, eftersom en nyckel som delades av alla som hämtat avbilden skulle göra värdkontrollen meningslös;
  • GRUB-menyn, nu när de riktiga diskarna och de andra operativsystemen på dem syns;
  • ett initramfs byggt för den hårdvara som faktiskt finns, så att det blir mindre och startanimationen kommer i gång tidigare;
  • cacherna för ikoner, typsnitt och skrivbord, så att den första inloggningen inte blir långsam;
  • brandväggen, påslagen igen.

Utdata hamnar i /var/log/moonlight-firstboot.log. Sedan visas inloggningsskärmen, och efter den första inloggningen fönstret Välkommen.

Skärmbild av MoonLightOS

Första stegen

  • Välj ett utseende

    Mörkt eller ljust, direkt i Välkommen. Allt annat finns i MoonLight Tweaks: skrivbordslayouten, bakgrunden, schemat och widgetarna.

  • Drivrutiner

    Välkommen → Drivrutiner öppnar Drivrutinshanteraren. På en dator med NVIDIA-kort ligger den proprietära drivrutinen på ISO-avbilden, så den fungerar utan uppkoppling.

  • Programvara

    Butiken listar snappaket, Ubuntus arkiv och Flathub tillsammans. Thunderbird, Steam, Spotify och många andra ligger en sökning bort.

  • Fingeravtryck och ansikte

    Välkommen → Fingeravtryck, eller Systeminställningar → Ditt konto, för att registrera ett fingeravtryck eller ställa in ansiktsupplåsning.

  • Säkerhetskopior

    Timeshift tar schemalagda ögonblicksbilder av systemet. Ställ in det innan du behöver det.

  • Säkerhet

    Systeminställningar → Säkerhet visar vad som skyddar den här datorn och vad som inte gör det, varje rad med knappen som åtgärdar saken.

  • Utvecklarpaket

    Virtuella maskiner, PHP med databaser och LaTeX: ett klick var i Välkommen, installerade från arkivet som redan är inställt.

  • Windows-program

    Öppna Windows-program en gång: det förbereder Wine med DXVK, VKD3D, typsnitt och körtidsbibliotek. Sedan öppnas .exe-filer precis som vanligt.

Virtuella maskiner

VirtualBox

I VirtualBox måste tre inställningar ändras från sina standardvärden, annars startar avbilden inte alls. Felet ser ut som ett minnesproblem, men är det inte: GRUB byter till ett grafikläge för att rita upp menyn i MoonLightOS utseende, och med VirtualBox standard på 16 MB grafikminne misslyckas det med meddelandet ”Out of memory. You need to load the kernel first.”

TypLinux / Ubuntu (64-bit)
Minne4096 MB (minst 2048)
Processorer2 eller fler
Grafikminne128 MB, den inställning som verkligen spelar roll
3D-accelerationpåslaget
GrafikstyrenhetVMSVGA
Aktivera EFIavstängt: BIOS fungerar bra, och VirtualBox EFI är ofullständigt
Hoppa över obevakad installationikryssat
Hårddisk30 GB eller mer

Från kommandoraden:

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

VirtualBox sätter etiketten ”Ubuntu” på mediet eftersom det hittar en /casper-mapp där. Det är bara en etikett i VirtualBox gränssnitt; mediet självt säger att det är MoonLightOS. Välj Ubuntu som gästtyp ändå, för då väljs rätt chipset och rätt grafikinställningar.

QEMU

UEFI, så som de flesta datorer startar. Skapa först de skrivbara firmwarevariablerna och en måldisk:

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 verkligen påslaget, och med firmware där Microsofts nycklar är registrerade. När systemet har startat rapporterar mokutil --sb-state SecureBoot enabled, och det gör Inställningar → Om också:

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

Äldre BIOS: ISO-filen är hybrid, så samma fil startar även på det gamla sättet:

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

För att pröva påståendet om 2 GB: starta utan acceleration och med minsta minne, och kontrollera sedan i livesessionen att zram syns som växlingsutrymme och att minnestrycket håller sig lågt:

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ästverktygen för VirtualBox, QEMU/SPICE och VMware ligger redan på avbilden, och det är de som gör att skärmen ändrar storlek och att urklippet delas.

Tangentbordsgenvägar

Hela tabellen finns på sidan Funktioner. De här är värda att lära sig första dagen:

Superöppnar menyn; Super+Mellanslag öppnar den med markören i sökfältet
Super+Vurklippshistorik
Super+Nanteckningar
Print / Shift+Printskärmbild av skärmen eller av ett område; Shift+Super+5 öppnar panelen för skärmbild och inspelning
Super+Vänster / Högerlägger ett fönster på halva skärmen
Ctrl+Uppalla fönster; Ctrl+Ned, alla skrivbord
Super+Llåser skärmen; Ctrl+Alt+T öppnar en terminal; Ctrl+Shift+Esc öppnar systemövervakaren

Hela tabellen

När något går fel

  • Skärmen förblir svart efter uppstartsmenyn

    Välj posten med safe graphics. Om den startar kan du installera därifrån och sedan slå på den proprietära drivrutinen på sidan Drivrutiner.

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

    En VirtualBox-maskin med 16 MB grafikminne. Ge den 128 MB och slå på 3D-acceleration; se Virtuella maskiner ovan.

  • Skrivbordet känns segt

    Kontrollera OpenGL-renderaren i Inställningar → Om. Renderas grafiken i programvara stängs animationerna av automatiskt vid inloggningen; vill du stänga av dem själv gör du det i Tweaks → Prestanda.

  • USB-minnet startar men går sedan fel på förvirrande sätt

    Kör Check this medium for defects från uppstartsmenyn och kontrollera SHA-256-summan för nedladdningen.

  • Inget wifi

    Öppna sidan Drivrutiner: Broadcom-drivrutinen ligger på avbilden. För andra kort visar nätverksmenyn vad kärnan har hittat.

  • Fingeravtrycksläsaren hittas inte

    Öppna Fingeravtryck. Verktyget namnger sensorns tillverkare, säger om den matchar i libfprint, i kretsen eller med en binär från tillverkaren, och förklarar vad som går att göra.

  • Läsa loggarna

    Vad starten klagade på, inloggningshanterarens logg, loggen från den första starten och namnet på det aktiva starttemat:

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

Ska du skriva en felrapport lägger Om → Kopiera rapport utgåvan och hårdvaran i urklippet, och moonlight-selftest skriver ut vad skrivbordet faktiskt gör.

moonlight-selftest | less

Bygg själv

Hela distributionen är ett enda kodförråd: all grafik härleds ur en enda ursprungslogotyp, temana genereras ur en palett, och ett skript gör alltihop till en startbar ISO som fungerar med Secure Boot. Du behöver Docker (på vilket operativsystem som helst, eftersom bygget sker i en container) och omkring 25 GB ledigt utrymme.

./build.shallt: grundsystem → anpassning → komprimering → ISO
./build.sh rootfsstoppa när systemet har anpassats
./build.sh imagepacka om ett befintligt rotfilsystem till en ny ISO
./build.sh finishbara starthanterare och ISO, med samma squashfs
./build.sh shellett skal inne i byggmiljön
./build.sh cleanta bort arbetsvolymen

ISO-filen hamnar i out/, med en SHA-256-summa intill. På Windows kör du bygget från Git Bash eller använder build.ps1.

Så är bygget organiserat

build.shingångspunkten på värddatorn; kör allt i en container
build/Dockerfile.builderbyggmiljön, låst till den utgåva som är målet
build/mkiso.shgrundsystem, utplockning av kärnan, squashfs, starthanterare, ISO
build/inchroot.shallt som händer inne i chroot-miljön, i fjorton steg
config/moonlight.confvarje textsträng som definierar utgåvan
packages/*.listvad som hamnar på avbilden, och vad som tas bort
rootfs/filer som kopieras som de är in i systemet, bland annat MoonLight-programmen
brand/source/ursprungslogotypen och bakgrundsbilderna; brand/out/ genereras
tools/gen-branding.pyursprungslogotyp → startanimation, GRUB, inloggningsskärm, ikoner
tools/gen-themes.pyen palett → båda temana kompletta
po/översättningarna av MoonLight-programmen
installer/konfiguration och grafik för Calamares

Innan ISO-filen skapas kör bygget mer än 120 obligatoriska kontroller inne i avbilden: kärnan, den signerade shimen, båda temana, varje MoonTool, kodekarna, wifi-drivrutinerna, översättningarna och att ansiktsupplåsning och nödlösenord är avstängda. Missar någon kontroll stoppas bygget. Arbetsutrymmet är en Docker-volym och inte en bindmontering, eftersom filägare, symboliska länkar och enhetsnoder inte klarar en bindmontering på Windows eller macOS.

Anpassa

  • Utgåvans identitet

    config/moonlight.conf innehåller varje textsträng som definierar distributionen.

  • Grafik

    Byt ut ursprungslogotypen eller en bakgrundsbild, kör tools/gen-branding.py igen, och startanimationen, GRUB, inloggningsskärmen, ikonerna och grafiken i installationsprogrammet genereras om.

  • Färger

    tools/gen-themes.py innehåller en mörk och en ljus palett och genererar båda temana kompletta ur samma regler.

  • Installerade paket

    packages/*.list, ett paket per rad, installeras i filnamnsordning; 99-purge.list listar vad som tas bort efteråt.

  • Standardvärden för skrivbordet

    rootfs/etc/dconf/db/moonlight.d/, i dconf-nyckelfilsformat. Det här är standardvärden, inte lås: användaren kan ändra vilket som helst.

  • Snabb ombyggnad

    Efter en ändring i rootfs/ eller paketlistorna kör build.sh rootfs chroot-steget igen på den cachade grunden, och build.sh image packar om ISO-filen; build.sh finish är till när du arbetar med uppstartsmenyn.

Hjälp och felrapporter

En användbar rapport säger vad du förväntade dig, vad som hände i stället och vilken dator det hände på. MoonLightOS gör den tredje delen enkel:

  • Om MoonLightOS → Kopiera rapport lägger utgåvan, hårdvaran, grafikrenderaren och läget för Secure Boot som text i urklippet.
  • moonlight-selftest skriver ut vilka temainställningar som används, om skalets stilmall lästes in korrekt, vilken grafikdrivrutin som är aktiv och vilka tjänster som misslyckades.
  • Vid problem med starten skriver posten Verbose boot varje meddelande till skärmen och till den första serieporten.
  • För installationsprogrammet: /var/log/moonlight-firstboot.log på det installerade systemet, och journalctl -b -p warning.

Vart du skickar den

En öppen ärendelista och en supportkanal kommer att presenteras här. Till dess: spara rapporten, allt den behöver innehålla kommer från de två verktygen ovan.