MoonLightOS

Ghid

De la descărcare până la un sistem instalat și funcțional, plus ce faceți când ceva nu merge.

Înainte de a începe

Orice calculator x86 pe 64 de biți. Programul de instalare cere cel puțin 1,7 GB de RAM și 18 GB de spațiu pe disc; valorile de mai jos sunt cele cu care sistemul se simte bine.

MinimRecomandat
RAM2 GB4 GB
Disc18 GB30 GB
Procesororice procesor x86 pe 64 de bițidouă nuclee
Placă videoorice adaptor grafic cu framebufferorice placă video din ultimii 15 ani

Aceeași imagine merge și pe UEFI și pe BIOS clasic. Secure Boot poate rămâne activat.

Descărcare și verificare

Imaginea este un singur fișier, moonlightos-26.04.5-bengunur-amd64.iso, iar lângă el se află un al doilea fișier, cu suma de control SHA-256. Verificați suma înainte de a scrie imaginea: o descărcare incompletă dă un stick USB care pornește și apoi se oprește în feluri greu de explicat.

Pe Linux sau macOS, în dosarul în care ați salvat descărcarea:

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

Pe Windows, în PowerShell, comparați suma afișată cu cea din fișierul .sha256:

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

Prima comandă afișează OK; a doua afișează o sumă care trebuie să fie identică cu cea din fișier. Orice altceva înseamnă că descărcarea este deteriorată.

Descărcați 26.04.5

Scrierea imaginii pe un stick USB

Imaginea este un ISO hibrid, așa că o simplă copiere la nivel de blocuri este de ajuns: nu aveți nevoie de un program special, iar același stick pornește și pe calculatoare UEFI și pe cele cu BIOS. Tot ce se află pe stick se șterge. Vă trebuie un stick de cel puțin 8 GB.

Pe Linux sau macOS, aflați mai întâi numele dispozitivului (lsblk pe Linux, diskutil list pe macOS), apoi:

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

Verificați de două ori numele dispozitivului: dd scrie pe orice dispozitiv i se dă.

Windows

Folosiți Rufus în modul imagine DD, balenaEtcher sau Ventoy. Dacă Rufus vă întreabă dacă să scrie în modul ISO sau DD, alegeți DD.

Pornirea de pe stickul USB

Porniți calculatorul cu stickul în el și deschideți meniul în care se alege o singură dată dispozitivul de pornire (F12, F8, F2, Esc sau Del, după producător) ori treceți dispozitivul USB pe primul loc în ordinea de pornire, din setările de firmware. Secure Boot nu trebuie atins.

Meniul de pornire

  • Try or Install MoonLightOS

    Intrarea obișnuită. Pornește sesiunea live, cu animația de pornire.

  • Try or Install MoonLightOS (safe graphics)

    La fel, dar cu kernel mode-setting dezactivat. Folosiți-o când ecranul rămâne negru sau imaginea este stricată.

  • MoonLightOS in RAM (needs 6 GB+)

    Copiază tot sistemul în memorie, ca stickul să poată fi scos.

  • Check this medium for defects

    Compară fiecare fișier de pe stick cu sumele de control înregistrate la construire.

  • Verbose boot (no splash, logs to serial)

    Arată fiecare mesaj pe ecran și pe primul port serial, singura cale de a citi o pornire care se oprește înainte să existe imagine.

  • UEFI firmware settings

    Repornește direct în setările de firmware.

Captură de ecran din MoonLightOS
Apoi apare animația de pornire: sigla stă nemișcată, haloul pulsează și bara de progres se umple.

Sesiunea live

Primul lucru care apare este asistentul de configurare: alegeți limba sistemului, confirmați aranjamentul tastaturii (scrieți în casetă ca să îl încercați), conectați-vă la o rețea Wi-Fi și apoi fie explorați, fie instalați. Tot ce stabilește el este o setare reală de sistem, iar programul de instalare pleacă de la aceleași alegeri.

Captură de ecran din MoonLightOS

Sesiunea live este sistemul întreg, nemodificat: același desktop, aceleași utilitare, aceleași pagini de setări. Utilizatorul live se numește moonlight și nu are parolă. Nimic din ce faceți aici nu atinge discul până nu porniți programul de instalare.

Pentru instalare, dați dublu clic pe pictograma Instalează MoonLightOS de pe desktop sau deschideți din nou asistentul Configurare și alegeți Instalare.

Instalare

Programul de instalare este Calamares. Șapte pagini și apoi copierea pe disc.

  1. Bun venit

    Limba programului de instalare și legăturile către acest ghid.

  2. Locație

    Regiunea și fusul orar; de aici rezultă localizarea și formatul numerelor.

  3. Tastatură

    Este deja pusă pe ce ați ales în asistent. Scrieți în casetă ca să verificați.

  4. Partiții

    Implicit este aleasă ștergerea discului, iar sistemul de fișiere creat este ext4, cu fișier de swap; se pot folosi și btrfs, xfs sau f2fs, ca și partiționarea manuală. Bifați Criptează sistemul pentru criptare LUKS2 a întregului disc și alegeți o frază de acces: o veți scrie la fiecare pornire și nu se poate recupera dacă o uitați. Pe un calculator UEFI se creează o partiție EFI de 512 MiB.

  5. Utilizatori

    Numele dumneavoastră, numele calculatorului, un nume de utilizator și o parolă de cel puțin opt caractere din două clase de caractere. Primul cont administrează calculatorul prin sudo; contul root rămâne blocat, iar autentificarea automată rămâne oprită dacă nu o porniți dumneavoastră.

  6. Sumar

    Tot ce urmează să facă programul de instalare, într-o singură listă. Până aici nu s-a scris nimic.

  7. Instalare

    Sistemul se copiază pe disc, se instalează încărcătorul de pornire (pe UEFI, cu numele MoonLightOS în lista de pornire a firmware-ului) și se șterg urmele sesiunii live. Apoi reporniți și scoateți stickul.

Celelalte sisteme de operare din calculator sunt găsite de os-prober la prima pornire și adăugate în meniul GRUB.

Prima pornire

Un sistem instalat pornește ca o copie fidelă a aceleiași imagini din care vine orice altă instalare. Tot ce trebuie să fie unic pentru acest calculator se creează la prima pornire, înainte să apară ecranul de autentificare, de un serviciu care apoi se dezactivează singur:

  • un identificator nou de mașină, ca nimeni care urmărește rețeaua să nu poată lega două instalări între ele;
  • chei SSH de gazdă noi, pentru că o cheie comună tuturor celor care au descărcat imaginea ar face verificarea gazdei inutilă;
  • meniul GRUB, acum că se văd discurile adevărate și celelalte sisteme de operare de pe ele;
  • un initramfs reconstruit pentru componentele care există într-adevăr, deci mai mic și cu animația de pornire mai devreme;
  • cache-urile de pictograme, de fonturi și de desktop, ca prima autentificare să nu fie lentă;
  • firewallul, activat din nou.

Tot ce afișează ajunge în /var/log/moonlight-firstboot.log. Apoi apare ecranul de autentificare și, după prima autentificare, fereastra Bun venit.

Captură de ecran din MoonLightOS

Primii pași

  • Alegeți un aspect

    Întunecat sau deschis, direct din Bun venit. Restul se află în MoonLight Tweaks: aranjamentul desktopului, imaginea de fundal, orarul și widgeturile.

  • Drivere

    Bun venit → Drivere deschide Managerul de drivere. Pe un calculator cu placă NVIDIA, driverul proprietar se află pe ISO, deci merge și fără conexiune la internet.

  • Aplicații

    Magazinul arată laolaltă snapurile, depozitul Ubuntu și Flathub. Thunderbird, Steam, Spotify și multe altele sunt la o căutare.

  • Amprentă și față

    Bun venit → Amprentă sau Setări de sistem → Contul dumneavoastră, ca să înregistrați o amprentă ori să configurați deblocarea facială.

  • Copii de siguranță

    Timeshift face instantanee ale sistemului, după un orar. Configurați-l înainte să aveți nevoie de el.

  • Securitate

    Setări de sistem → Securitate arată ce apără și ce nu apără acest calculator, fiecare rând cu butonul care rezolvă problema.

  • Pachete pentru dezvoltare

    Mașini virtuale, PHP cu baze de date și LaTeX: câte un clic în Bun venit, instalate din depozitul deja configurat.

  • Programe de Windows

    Deschideți o dată Aplicații Windows: pregătește Wine cu DXVK, VKD3D, fonturi și medii de rulare. Apoi, fișierele .exe se deschid pur și simplu.

Mașini virtuale

VirtualBox

În VirtualBox trebuie schimbate trei setări implicite, altfel imaginea nu pornește deloc. Eșecul pare o problemă de memorie, dar nu este: GRUB trece într-un mod grafic pentru a desena meniul cu temă, iar cu cei 16 MB de memorie video pe care VirtualBox îi dă implicit, trecerea eșuează cu mesajul „Out of memory. You need to load the kernel first.”

TipLinux / Ubuntu (64 de biți)
Memorie4096 MB (minim 2048)
Procesoare2 sau mai multe
Memorie video128 MB, setarea care contează de fapt
Accelerare 3Dactivată
Controler graficVMSVGA
Activează EFIdezactivat: BIOS merge fără probleme, iar EFI-ul din VirtualBox este incomplet
Sari peste instalarea nesupravegheatăbifat
Disc30 GB sau mai mult

Din linia de comandă:

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

VirtualBox pune pe mediu eticheta „Ubuntu”, pentru că găsește pe el un dosar /casper. Eticheta aceea există doar în interfața VirtualBox; mediul însuși se prezintă ca MoonLightOS. Alegeți totuși Ubuntu ca tip de sistem oaspete, pentru că astfel se aleg chipsetul și setările grafice potrivite.

QEMU

UEFI, așa cum pornesc cele mai multe calculatoare. Creați mai întâi variabilele de firmware într-un fișier în care se poate scrie, plus discul pe care se va instala:

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

Cu Secure Boot activat cu adevărat, folosind firmware-ul în care sunt înrolate cheile Microsoft. După pornire, mokutil --sb-state raportează SecureBoot enabled, la fel și Setări → Despre:

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

BIOS clasic: ISO-ul este hibrid, așa că același fișier pornește și în felul vechi:

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

Ca să puneți la încercare cei 2 GB, porniți fără accelerare și cu memoria minimă, apoi verificați în sesiunea live că zram apare ca swap și că presiunea pe memorie rămâne mică:

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

Uneltele de sistem oaspete pentru VirtualBox, QEMU/SPICE și VMware se află deja pe imagine, iar de la ele vin redimensionarea ecranului și clipboardul comun.

Scurtături de tastatură

Tabelul complet se află în pagina Funcții. Cele care merită învățate în prima zi:

Superdeschide meniul; Super+Spațiu îl deschide cu cursorul în caseta de căutare
Super+Vistoricul clipboardului
Super+Nnotițe
Print / Shift+Printcaptură a ecranului / a unei zone; Shift+Super+5 deschide panoul de capturi
Super+Stânga / Dreaptalipește fereastra pe jumătate de ecran
Ctrl+Sustoate ferestrele; Ctrl+Jos, toate spațiile de lucru
Super+Lblochează ecranul; Ctrl+Alt+T deschide un terminal; Ctrl+Shift+Esc deschide monitorul de sistem

Tabelul complet

Când ceva nu merge

  • Ecranul rămâne negru după meniul de pornire

    Alegeți intrarea cu grafică sigură. Dacă pornește, instalați de acolo și apoi porniți driverul proprietar din pagina Drivere.

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

    O mașină VirtualBox cu 16 MB de memorie video. Dați-i 128 MB și porniți accelerarea 3D; vedeți Mașini virtuale, mai sus.

  • Desktopul pare lent

    Uitați-vă la motorul de randare OpenGL, în Setări → Despre. Când randarea se face pe software, animațiile se opresc singure la autentificare; din Tweaks → Performanță le opriți manual.

  • Stickul pornește, dar apoi se oprește în feluri greu de explicat

    Rulați Check this medium for defects din meniul de pornire și verificați suma de control SHA-256 a descărcării.

  • Nu merge Wi-Fi

    Deschideți pagina Drivere: driverul Broadcom se află pe imagine. Pentru alte adaptoare, meniul de rețea arată ce a găsit nucleul.

  • Cititorul de amprentă nu este găsit

    Deschideți Amprentă. Vă spune producătorul senzorului, dacă este un senzor nativ, cu potrivire pe cip sau cu binar al producătorului, și ce se poate face.

  • Cum citiți jurnalele

    De ce s-a plâns pornirea, jurnalul managerului de autentificare, jurnalul primei porniri și numele temei de pornire active:

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

Pentru un raport de problemă, Despre → Copiază raportul pune versiunea și componentele în clipboard, iar moonlight-selftest afișează ce face desktopul în realitate.

moonlight-selftest | less

Construiți-l singur

Toată distribuția este un singur depozit: grafica iese dintr-o singură siglă-sursă, temele se generează dintr-o singură paletă, iar un singur script transformă totul într-un ISO care pornește și care merge cu Secure Boot. Aveți nevoie de Docker (pe orice sistem de operare, pentru că totul se construiește într-un container) și de vreo 25 GB liberi.

./build.shtot: bootstrap → personalizare → comprimare → ISO
./build.sh rootfsse oprește după ce sistemul a fost personalizat
./build.sh imagereîmpachetează într-un ISO nou un sistem de fișiere rădăcină existent
./build.sh finishdoar încărcătoarele de pornire și ISO-ul, refolosind squashfs
./build.sh shello consolă în mediul de construire
./build.sh cleanșterge volumul de lucru

ISO-ul se scrie în out/, cu suma de control SHA-256 lângă el. Pe Windows, rulați din Git Bash sau folosiți build.ps1.

Cum este organizată construirea

build.shpunctul de intrare, pe gazdă; rulează totul într-un container
build/Dockerfile.buildermediul de construire, fixat pe versiunea țintă
build/mkiso.shbootstrap, extragerea nucleului, squashfs, încărcătoare de pornire, ISO
build/inchroot.shtot ce se întâmplă în chroot, în paisprezece etape
config/moonlight.conftoate șirurile care definesc versiunea
packages/*.listce intră pe imagine și ce se scoate
rootfs/fișiere copiate așa cum sunt în sistem, inclusiv aplicațiile MoonLight
brand/source/sigla-sursă și imaginile de fundal; brand/out/ este generat
tools/gen-branding.pysigla-sursă → animație de pornire, GRUB, ecran de autentificare, pictograme
tools/gen-themes.pyo paletă → ambele teme complete
po/traducerile aplicațiilor MoonLight
installer/configurația și identitatea vizuală pentru Calamares

Înainte de a crea ISO-ul, construirea trece prin peste 120 de verificări obligatorii, făcute în interiorul imaginii: nucleul, shimul semnat, ambele teme, fiecare aplicație MoonTools, codecurile, driverele Wi-Fi, traducerile și faptul că deblocarea facială și parola de urgență sunt dezactivate. Dacă o verificare nu trece, construirea se oprește. Spațiul de lucru este un volum Docker, nu o montare legată, pentru că drepturile asupra fișierelor, legăturile simbolice și nodurile de dispozitiv nu supraviețuiesc unei montări legate pe Windows sau macOS.

Personalizare

  • Identitatea versiunii

    config/moonlight.conf cuprinde toate șirurile care definesc distribuția.

  • Grafica

    Înlocuiți sigla-sursă sau o imagine de fundal, rulați din nou tools/gen-branding.py și se regenerează animația de pornire, GRUB, ecranul de autentificare, pictogramele și grafica programului de instalare.

  • Culorile

    tools/gen-themes.py are o paletă întunecată și una deschisă și generează din aceleași reguli ambele teme complete.

  • Pachetele instalate

    packages/*.list, câte un pachet pe linie, instalate în ordinea numelor de fișiere; în 99-purge.list stă ce se scoate la final.

  • Valorile implicite ale desktopului

    rootfs/etc/dconf/db/moonlight.d/, în formatul de fișier-cheie dconf. Sunt valori implicite, nu blocaje: utilizatorul poate schimba oricare dintre ele.

  • Reconstruire rapidă

    După o modificare în rootfs/ sau în listele de pachete, build.sh rootfs reia etapa de chroot pe baza păstrată în cache, iar build.sh image reîmpachetează ISO-ul; build.sh finish este pentru lucrul la meniul de pornire.

Ajutor și raportarea problemelor

Un raport folositor spune la ce vă așteptați, ce s-a întâmplat în schimb și pe ce calculator. Partea a treia este ușoară în MoonLightOS:

  • Despre MoonLightOS → Copiază raportul pune în clipboard, ca text, versiunea, componentele, motorul de randare grafică și starea Secure Boot.
  • moonlight-selftest afișează setările de temă folosite, dacă foaia de stil a shellului s-a încărcat corect, care driver video este activ și care servicii nu au pornit.
  • Pentru o problemă la pornire, intrarea Verbose boot scrie fiecare mesaj pe ecran și pe primul port serial.
  • Pentru programul de instalare, /var/log/moonlight-firstboot.log de pe sistemul instalat și journalctl -b -p warning.

Unde se trimite

Un registru public de probleme și un canal de asistență vor fi anunțate aici. Până atunci, păstrați raportul: tot ce trebuie să cuprindă iese din cele două utilitare de mai sus.