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.
| Minst | Rekommenderat | |
|---|---|---|
| Minne | 2 GB | 4 GB |
| Lagring | 18 GB | 30 GB |
| Processor | valfri 64-bitars x86-processor | två kärnor |
| Grafik | valfritt grafikkort med framebuffer | valfri 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.
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.
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.
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.
- Välkommen
Installationsprogrammets språk och länkarna till den här guiden.
- Plats
Din region och tidszon; språkinställningen och sifferformaten följer av dem.
- Tangentbord
Redan inställt på det du valde i guiden. Skriv i rutan för att kontrollera.
- 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.
- 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.
- Sammanfattning
Allt installationsprogrammet är på väg att göra, i en lista. Ännu är inget skrivet.
- 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.
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.”
| Typ | Linux / Ubuntu (64-bit) |
|---|---|
| Minne | 4096 MB (minst 2048) |
| Processorer | 2 eller fler |
| Grafikminne | 128 MB, den inställning som verkligen spelar roll |
| 3D-acceleration | påslaget |
| Grafikstyrenhet | VMSVGA |
| Aktivera EFI | avstängt: BIOS fungerar bra, och VirtualBox EFI är ofullständigt |
| Hoppa över obevakad installation | ikryssat |
| Hårddisk | 30 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+V | urklippshistorik |
| Super+N | anteckningar |
| Print / Shift+Print | skärmbild av skärmen eller av ett område; Shift+Super+5 öppnar panelen för skärmbild och inspelning |
| Super+Vänster / Höger | lägger ett fönster på halva skärmen |
| Ctrl+Upp | alla fönster; Ctrl+Ned, alla skrivbord |
| Super+L | låser skärmen; Ctrl+Alt+T öppnar en terminal; Ctrl+Shift+Esc öppnar systemövervakaren |
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.sh | allt: grundsystem → anpassning → komprimering → ISO |
./build.sh rootfs | stoppa när systemet har anpassats |
./build.sh image | packa om ett befintligt rotfilsystem till en ny ISO |
./build.sh finish | bara starthanterare och ISO, med samma squashfs |
./build.sh shell | ett skal inne i byggmiljön |
./build.sh clean | ta 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.sh | ingångspunkten på värddatorn; kör allt i en container |
|---|---|
build/Dockerfile.builder | byggmiljön, låst till den utgåva som är målet |
build/mkiso.sh | grundsystem, utplockning av kärnan, squashfs, starthanterare, ISO |
build/inchroot.sh | allt som händer inne i chroot-miljön, i fjorton steg |
config/moonlight.conf | varje textsträng som definierar utgåvan |
packages/*.list | vad 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.py | ursprungslogotyp → startanimation, GRUB, inloggningsskärm, ikoner |
tools/gen-themes.py | en 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.