Opas
Latauksesta toimivaan asennukseen, ja mitä tehdä kun jokin menee pieleen.
Ennen kuin aloitat
Mikä tahansa 64-bittinen x86-kone. Asennusohjelma vaatii vähintään 1,7 gigatavua muistia ja 18 gigatavua levytilaa; alla olevat arvot ovat ne, joilla järjestelmä toimii mukavasti.
| Vähintään | Suositus | |
|---|---|---|
| Muisti | 2 Gt | 4 Gt |
| Levy | 18 Gt | 30 Gt |
| Suoritin | mikä tahansa 64-bittinen x86-suoritin | kaksiytiminen |
| Näytönohjain | mikä tahansa näytönohjain, jossa on kehyspuskuri | mikä tahansa viidentoista viime vuoden näytönohjain |
Sama levykuva tukee sekä UEFIä että vanhaa BIOSia. Secure Boot voi jäädä käyttöön.
Lataus ja tarkistus
Levykuva on yksi tiedosto, moonlightos-26.04.5-bengunur-amd64.iso, ja sen vieressä toinen tiedosto sisältää SHA-256-tarkistussumman. Tarkista summa ennen kuin kirjoitat levykuvan: kesken jäänyt lataus tuottaa tikun, joka käynnistyy ja epäonnistuu sitten hämmentävillä tavoilla.
Linuxissa tai macOS:ssä siinä kansiossa, johon latasit tiedoston:
sha256sum -c moonlightos-26.04.5-bengunur-amd64.iso.sha256
Windowsissa PowerShellissä: vertaa tulostettua tiivistettä .sha256-tiedoston tiivisteeseen:
Get-FileHash .\moonlightos-26.04.5-bengunur-amd64.iso -Algorithm SHA256
Get-Content .\moonlightos-26.04.5-bengunur-amd64.iso.sha256
Ensimmäinen komento tulostaa OK; toinen tulostaa tiivisteen, jonka on vastattava tiedostossa olevaa. Mikä tahansa muu tarkoittaa, että lataus on vioittunut.
Levykuvan kirjoitus USB-tikulle
Levykuva on hybridi-ISO, joten pelkkä lohkokopio riittää: erityistä työkalua ei tarvita, ja sama tikku käynnistyy sekä UEFI- että BIOS-koneissa. Kaikki tikulla oleva pyyhkiytyy. Tarvitset vähintään 8 gigatavun tikun.
Linuxissa tai macOS:ssä: etsi ensin laitteen nimi (lsblk Linuxissa, diskutil list macOS:ssä) ja sitten:
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
Tarkista laitteen nimi kahdesti: dd kirjoittaa sille laitteelle, joka sille annetaan.
Windows
Käytä Rufusta DD-tilassa, balenaEtcheriä tai Ventoyta. Jos Rufus kysyy kirjoitetaanko ISO- vai DD-tilassa, valitse DD.
Käynnistys USB-tikulta
Käynnistä kone tikku paikallaan ja avaa kertaluonteinen käynnistysvalikko (F12, F8, F2, Esc tai Del, valmistajasta riippuen), tai aseta USB-laite ensimmäiseksi käynnistyslaitteeksi laiteohjelmiston asetuksista. Secure Bootia ei tarvitse muuttaa.
Käynnistysvalikko
- Try or Install MoonLightOS
Tavallinen valinta. Käynnistää live-istunnon käynnistysanimaatioineen.
- Try or Install MoonLightOS (safe graphics)
Sama, mutta ytimen näyttötilan asetus pois käytöstä. Käytä tätä, jos näyttö jää mustaksi tai kuva on sekaisin.
- MoonLightOS in RAM (needs 6 GB+)
Kopioi koko järjestelmän muistiin, jolloin tikun voi irrottaa.
- Check this medium for defects
Tarkistaa jokaisen tikulla olevan tiedoston käännösvaiheessa tallennettuja tarkistussummia vasten.
- Verbose boot (no splash, logs to serial)
Näyttää jokaisen viestin ruudulla ja ensimmäisessä sarjaportissa; ainoa tapa lukea käynnistys, joka epäonnistuu ennen kuin näyttö on käytettävissä.
- UEFI firmware settings
Käynnistää uudelleen laiteohjelmiston asetuksiin.
Live-istunto
Ensimmäisenä näet alkuasetukset: valitse järjestelmän kieli, vahvista näppäimistöasettelu (kokeile sitä kirjoittamalla kenttään), yhdistä Wi-Fi-verkkoon, ja sitten joko tutustu tai asenna. Kaikki mitä se asettaa on aitoa järjestelmän asetusta, ja asennusohjelma käyttää samoja valintoja.
Live-istunto on koko järjestelmä muuttamattomana: sama työpöytä, samat työkalut, samat asetussivut. Live-käyttäjän nimi on moonlight eikä sillä ole salasanaa. Mikään täällä tekemäsi ei kosketa levyä ennen kuin käynnistät asennusohjelman.
Asenna kaksoisnapsauttamalla työpöydän kohtaa Install MoonLightOS, tai avaa alkuasetukset uudelleen ja valitse asennus.
Asennus
Asennusohjelma on Calamares. Seitsemän sivua, ja sitten kopiointi levylle.
- Tervetuloa
Asennusohjelman kieli ja linkit tähän oppaaseen.
- Sijainti
Alueesi ja aikavyöhykkeesi; maa-asetukset ja lukumuodot seuraavat niistä.
- Näppäimistö
Valmiiksi se, minkä valitsit alkuasetuksissa. Kokeile kirjoittamalla kenttään.
- Osiot
Levyn tyhjennys on oletus ja luo ext4-tiedostojärjestelmän sivutustiedostoineen; tarjolla ovat myös btrfs, xfs ja f2fs sekä osioiden käsinmäärittely. Valitse järjestelmän salaus, jos haluat koko levyn LUKS2-salauksen, ja valitse salalause: kirjoitat sen joka käynnistyksellä, eikä sitä voi palauttaa jos unohdat sen. UEFI-koneeseen luodaan 512 mebitavun EFI-osio.
- Käyttäjät
Nimesi, koneen nimi, käyttäjätunnus ja vähintään kahdeksan merkin salasana kahdesta merkkiluokasta. Ensimmäinen tili ylläpitää konetta sudon kautta; root-tili pysyy lukittuna, eikä automaattista kirjautumista ole ellet ota sitä käyttöön.
- Yhteenveto
Kaikki, mitä asennusohjelma on tekemässä, yhtenä listana. Mitään ei ole vielä kirjoitettu.
- Asennus
Järjestelmä kopioidaan levylle, käynnistyslatain asennetaan (UEFI-koneessa nimellä MoonLightOS laiteohjelmiston käynnistysluetteloon), ja live-istunnon jäänteet poistetaan. Käynnistä sitten uudelleen ja irrota tikku.
Koneen muut käyttöjärjestelmät tunnistaa os-prober ensimmäisellä käynnistyksellä ja lisää ne GRUBin valikkoon.
Ensimmäinen käynnistys
Asennettu järjestelmä alkaa tarkkana kopiona siitä levykuvasta, josta jokainen muukin asennus tulee. Kaikki, minkä on oltava tälle koneelle ainutkertaista, luodaan ensimmäisellä käynnistyksellä ennen kirjautumisnäkymää, palvelulla joka sen jälkeen poistaa itsensä käytöstä:
- uusi koneen tunniste, jottei kukaan verkkoa tarkkaileva voi yhdistää kahta asennusta toisiinsa;
- uudet SSH-avaimet, koska kaikkien levykuvan ladanneiden kesken jaettu avain tekisi koneen varmentamisesta turhaa;
- GRUBin valikko, nyt kun oikeat levyt ja niiden muut käyttöjärjestelmät ovat näkyvissä;
- initramfs uudelleen rakennettuna sille laitteistolle, joka koneessa oikeasti on, jolloin se on pienempi ja käynnistysanimaatio tulee näkyviin aiemmin;
- kuvake-, fontti- ja työpöytävälimuistit, jottei ensimmäinen kirjautuminen ole hidas;
- palomuuri, otettuna taas käyttöön.
Sen tuloste kirjoitetaan tiedostoon /var/log/moonlight-firstboot.log. Sitten tulee kirjautumisnäkymä, ja ensimmäisen kirjautumisen jälkeen Tervetuloa-ikkuna.
Ensiaskeleet
- Valitse ulkoasu
Tumma tai vaalea suoraan Tervetuloa-sovelluksessa. Kaikki muu on MoonLight Tweaksissa: työpöydän asettelu, taustakuva, aikataulu ja pienoisohjelmat.
- Ajurit
Tervetuloa → Ajurit avaa ajurien hallinnan. NVIDIA-näytönohjaimen koneessa suljettu ajuri on levykuvassa, joten se toimii ilman verkkoyhteyttä.
- Ohjelmistot
Kauppa listaa snapit, Ubuntun pakettivaraston ja Flathubin yhdessä. Thunderbird, Steam, Spotify ja moni muu on yhden haun päässä.
- Sormenjälki ja kasvot
Tervetuloa → Sormenjälki, tai järjestelmäasetukset → Oma tili, sormenjäljen tallennukseen tai kasvontunnistuksen käyttöönottoon.
- Varmuuskopiot
Timeshift ottaa ajastettuja tilannevedoksia järjestelmästä. Ota se käyttöön ennen kuin tarvitset sitä.
- Tietoturva
Järjestelmäasetukset → Tietoturva näyttää, mikä suojaa tätä konetta ja mikä ei, ja jokaisella rivillä on painike joka korjaa asian.
- Kehittäjäpaketit
Virtuaalikoneet, PHP tietokantoineen ja LaTeX: kukin yhdellä napsautuksella Tervetuloa-sovelluksesta, asennettuna valmiiksi määritellystä pakettivarastosta.
- Windows-ohjelmat
Avaa Windows-sovellukset kerran: se valmistelee Winen, DXVK:n, VKD3D:n, fontit ja ajonaikaiset kirjastot. Sen jälkeen .exe-tiedostot vain aukeavat.
Virtuaalikoneet
VirtualBox
VirtualBoxissa on muutettava kolme asetusta oletuksistaan, muuten se ei käynnistä tätä levykuvaa lainkaan. Vika näyttää muistiongelmalta, mutta ei ole sitä: GRUB vaihtaa grafiikkatilaan piirtääkseen teemoitetun valikon, ja VirtualBoxin oletuksena olevalla 16 megatavun näyttömuistilla se epäonnistuu viestiin ”Out of memory. You need to load the kernel first.”
| Tyyppi | Linux / Ubuntu (64-bit) |
|---|---|
| Muisti | 4096 Mt (vähintään 2048) |
| Suorittimet | 2 tai enemmän |
| Näyttömuisti | 128 Mt, se asetus jolla oikeasti on merkitystä |
| 3D-kiihdytys | käytössä |
| Näytönohjain | VMSVGA |
| EFI käyttöön | pois: BIOS toimii hyvin, ja VirtualBoxin EFI on keskeneräinen |
| Ohita valvomaton asennus | valittuna |
| Levy | vähintään 30 Gt |
Komentoriviltä:
VBoxManage modifyvm "MoonLightOS" \
--ostype Ubuntu24_LTS_64 --memory 4096 --cpus 4 \
--vram 128 --graphicscontroller vmsvga --accelerate3d on \
--boot1 dvd --boot2 disk
VirtualBox merkitsee tietovälineen nimellä ”Ubuntu”, koska se löytää siltä /casper-kansion. Se on vain nimilappu VirtualBoxin käyttöliittymässä; tietoväline itse tunnistautuu MoonLightOS:ksi. Aseta vieraan tyypiksi silti Ubuntu, koska se valitsee oikean piirisarjan ja oikeat grafiikka-asetukset.
QEMU
UEFI, kuten useimmat koneet käynnistyvät. Luo ensin kirjoitettavat laiteohjelmiston muuttujat ja kohdelevy:
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
Secure Boot oikeasti käytössä, laiteohjelmistolla johon Microsoftin avaimet on rekisteröity. Käynnistyksen jälkeen mokutil --sb-state ilmoittaa SecureBoot enabled, samoin Asetukset → Tietoja:
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
Vanha BIOS: ISO on hybridi, joten sama tiedosto käynnistyy myös vanhalla tavalla:
qemu-system-x86_64 -enable-kvm -m 2048 -cdrom moonlightos-26.04.5-bengunur-amd64.iso
Kahden gigatavun väitteen voi testata käynnistämällä ilman kiihdytystä ja vähimmäismuistilla, ja tarkistamalla sitten live-istunnossa, että zram näkyy sivutuksena ja että muistipaine pysyy matalana:
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
Vieraslisäosat VirtualBoxille, QEMU/SPICElle ja VMwarelle ovat jo levykuvassa, ja juuri ne tuovat näytön mukautumisen ja yhteisen leikepöydän.
Näppäinyhdistelmät
Koko taulukko on Ominaisuudet-sivulla. Nämä kannattaa opetella heti ensimmäisenä päivänä:
| Super | avaa valikon; Super+Space avaa sen kohdistin hakukentässä |
|---|---|
| Super+V | leikepöydän historia |
| Super+N | muistiinpanot |
| Print / Shift+Print | kuvakaappaus näytöstä / alueesta; Shift+Super+5 avaa kaappauspaneelin |
| Super+Left / Right | kiinnittää ikkunan puoleen näyttöä |
| Ctrl+Up | kaikki ikkunat; Ctrl+Down, kaikki työpöydät |
| Super+L | lukitsee näytön; Ctrl+Alt+T avaa päätteen; Ctrl+Shift+Esc avaa järjestelmänvalvonnan |
Ongelmatilanteet
- Näyttö jää mustaksi käynnistysvalikon jälkeen
Valitse turvallisen grafiikan vaihtoehto. Jos se käynnistyy, asenna sieltä ja ota sitten suljettu ajuri käyttöön Ajurit-sivulta.
- ”Out of memory. You need to load the kernel first.”
VirtualBox-kone, jossa on 16 megatavua näyttömuistia. Anna sille 128 megatavua ja ota 3D-kiihdytys käyttöön; katso Virtuaalikoneet yllä.
- Työpöytä tuntuu hitaalta
Tarkista OpenGL-piirtäjä kohdasta Asetukset → Tietoja. Ohjelmistopiirrossa animaatiot kytketään pois itsestään kirjauduttaessa; Tweaks → Suorituskyky kytkee ne pois käsin.
- Tikku käynnistyy mutta epäonnistuu sitten hämmentävillä tavoilla
Aja käynnistysvalikosta tietovälineen tarkistus ja varmista latauksen SHA-256-tarkistussumma.
- Wi-Fi ei toimi
Avaa Ajurit-sivu: Broadcomin ajuri on mukana levykuvassa. Muiden sovittimien osalta verkkovalikko listaa sen, minkä ydin tunnisti.
- Sormenjälkilukijaa ei tunnisteta
Avaa Sormenjälki. Se kertoo anturin valmistajan, sen onko kyseessä natiivi, sirulla vertaileva vai valmistajan binääriä käyttävä anturi, ja selittää mitä asialle voi tehdä.
- Lokien lukeminen
Mistä käynnistys valitti, kirjautumisen hallinnan loki, ensimmäisen käynnistyksen loki ja käytössä olevan käynnistysteeman nimi:
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
Virheraporttia varten Tietoja → Kopioi raportti vie julkaisun ja laitteiston leikepöydälle, ja moonlight-selftest tulostaa mitä työpöytä oikeasti tekee.
moonlight-selftest | less
Käännä itse
Koko jakelu on yksi repositorio: grafiikka johdetaan yhdestä lähdelogosta, teemat luodaan yhdestä paletista, ja yksi skripti muuttaa kaiken käynnistyväksi ISO-levykuvaksi, joka toimii Secure Bootin kanssa. Tarvitset Dockerin (millä tahansa käyttöjärjestelmällä, koska käännös ajetaan kontissa) ja noin 25 gigatavua vapaata tilaa.
./build.sh | kaikki: bootstrap → muokkaus → pakkaus → ISO |
./build.sh rootfs | pysähtyy kun järjestelmä on muokattu |
./build.sh image | paketoi olemassa olevan juuritiedostojärjestelmän uudeksi ISO-levykuvaksi |
./build.sh finish | vain käynnistyslataimet ja ISO, squashfs uudelleenkäytettynä |
./build.sh shell | kuori käännösympäristön sisällä |
./build.sh clean | poistaa työtilan |
ISO kirjoitetaan hakemistoon out/, ja sen viereen tulee SHA-256-tarkistussumma. Windowsissa aja se Git Bashista tai käytä build.ps1-skriptiä.
Miten käännös on järjestetty
build.sh | aloituskohta omassa koneessasi; ajaa kaiken kontissa |
|---|---|
build/Dockerfile.builder | käännösympäristö, kiinnitettynä kohdejulkaisuun |
build/mkiso.sh | bootstrap, ytimen poiminta, squashfs, käynnistyslataimet, ISO |
build/inchroot.sh | kaikki chrootin sisällä tapahtuva, neljässätoista vaiheessa |
config/moonlight.conf | jokainen teksti, joka määrittelee julkaisun |
packages/*.list | mitä levykuvaan tulee ja mitä poistetaan |
rootfs/ | tiedostot, jotka kopioidaan sellaisinaan järjestelmään, mukaan lukien MoonLight-sovellukset |
brand/source/ | lähdelogo ja taustakuvat; brand/out/ on luotu |
tools/gen-branding.py | lähdelogo → käynnistysanimaatio, GRUB, kirjautumisnäkymä, kuvakkeet |
tools/gen-themes.py | yksi paletti → molemmat täydet teemat |
po/ | MoonLight-sovellusten käännökset |
installer/ | Calamaresin asetukset ja ulkoasu |
Ennen ISO-levykuvan luontia käännös ajaa levykuvan sisällä yli 120 pakollista tarkistusta: ytimen, allekirjoitetun shimin, molemmat teemat, jokaisen MoonTool-sovelluksen, koodekit, Wi-Fi-ajurit, käännökset, sekä sen että kasvontunnistus ja hätäsalasana ovat pois käytöstä. Jos yksikin tarkistus epäonnistuu, käännös pysähtyy. Työtila on Docker-taltio eikä bind mount, koska tiedostojen omistajuus, symboliset linkit ja laitetiedostot eivät säily bind mountissa Windowsissa tai macOS:ssä.
Muokkaus
- Julkaisun tunnistetiedot
config/moonlight.conf sisältää jokaisen tekstin, joka määrittelee jakelun.
- Grafiikka
Korvaa lähdelogo tai taustakuva, aja tools/gen-branding.py uudelleen, niin käynnistysanimaatio, GRUB, kirjautumisnäkymä, kuvakkeet ja asennusohjelman grafiikka luodaan kaikki uudelleen.
- Värit
tools/gen-themes.py sisältää yhden tumman ja yhden vaalean paletin ja luo molemmat täydet teemat samoilla säännöillä.
- Asennettavat paketit
packages/*.list, yksi paketti riviä kohden, asennetaan tiedostonimien järjestyksessä; 99-purge.list luettelee sen, mikä poistetaan jälkikäteen.
- Työpöydän oletukset
rootfs/etc/dconf/db/moonlight.d/, dconfin keyfile-muodossa. Nämä ovat oletuksia, eivät lukkoja: käyttäjä voi muuttaa mitä tahansa niistä.
- Nopea uudelleenkäännös
Kun rootfs/ tai pakettilistat muuttuvat, build.sh rootfs toistaa chroot-vaiheen välimuistissa olevan pohjan päälle ja build.sh image paketoi ISO:n uudelleen; build.sh finish on käynnistysvalikon työstämiseen.
Avun saaminen ja virheiden ilmoittaminen
Hyödyllinen raportti kertoo mitä odotit, mitä tapahtui sen sijaan, ja millä koneella. MoonLightOS tekee kolmannesta osasta helpon:
- Tietoja MoonLightOS:stä → Kopioi raportti vie julkaisun, laitteiston, grafiikkapiirtäjän ja Secure Bootin tilan leikepöydälle tekstinä.
- moonlight-selftest tulostaa käytössä olevat teema-asetukset, latautuiko kuoren tyylitiedosto oikein, mikä näytönohjaimen ajuri on käytössä ja mitkä palvelut epäonnistuivat.
- Käynnistysongelmassa Verbose boot -valinta kirjoittaa jokaisen viestin ruudulle ja ensimmäiseen sarjaporttiin.
- Asennusohjelman osalta /var/log/moonlight-firstboot.log asennetussa järjestelmässä, ja journalctl -b -p warning.
Minne lähettää
Julkinen vikaseuranta ja tukikanava ilmoitetaan täällä. Siihen asti säilytä raportti: kaikki mitä sen pitää sisältää tulee kahdesta yllä mainitusta työkalusta.