Průvodce
Od stažení k funkční instalaci, a co dělat, když se něco nepovede.
Než začnete
Jakýkoli 64bitový počítač x86. Instalátor potřebuje alespoň 1,7 GB paměti a 18 GB místa na disku; hodnoty v tabulce jsou ty, se kterými systém běží bez trápení.
| Minimum | Doporučeno | |
|---|---|---|
| Operační paměť | 2 GB | 4 GB |
| Disk | 18 GB | 30 GB |
| Procesor | jakýkoli 64bitový procesor x86 | dvě jádra |
| Grafika | jakýkoli grafický adaptér s framebufferem | jakákoli grafika z posledních 15 let |
Tentýž obraz zvládne UEFI i starší BIOS. Secure Boot může zůstat zapnutý.
Stažení a ověření
Obraz je jediný soubor, moonlightos-26.04.5-bengunur-amd64.iso, a vedle něj leží druhý soubor s jeho kontrolním součtem SHA-256. Součet ověřte, ještě než obraz zapíšete: z nedokončeného stahování vznikne flash disk, který nastartuje a pak se začne chovat nepochopitelně.
Na Linuxu nebo v macOS ve složce, kam jste soubor stáhli:
sha256sum -c moonlightos-26.04.5-bengunur-amd64.iso.sha256
Ve Windows v PowerShellu. Vypsaný součet pak porovnejte s tím v souboru .sha256:
Get-FileHash .\moonlightos-26.04.5-bengunur-amd64.iso -Algorithm SHA256
Get-Content .\moonlightos-26.04.5-bengunur-amd64.iso.sha256
První příkaz vypíše OK, druhý vypíše součet, který musí souhlasit s tím v souboru. Cokoli jiného znamená poškozené stahování.
Zápis obrazu na flash disk
Obraz je hybridní ISO, takže stačí obyčejná kopie po blocích: žádný zvláštní nástroj není potřeba a tentýž disk nastartuje na počítačích s UEFI i s BIOSem. Všechno, co na disku je, se smaže. Potřebujete disk s kapacitou alespoň 8 GB.
Na Linuxu nebo v macOS si nejdřív zjistěte označení zařízení (lsblk na Linuxu, diskutil list v macOS) a potom:
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
Označení zařízení si zkontrolujte dvakrát: dd zapíše na to zařízení, které dostane.
Windows
Použijte Rufus v režimu obrazu DD, balenaEtcher nebo Ventoy. Když se Rufus zeptá, jestli zapisovat v režimu ISO, nebo DD, zvolte DD.
Spuštění z flash disku
Zapněte počítač se zapojeným flash diskem a vyvolejte jednorázovou nabídku spouštění (podle výrobce F12, F8, F2, Esc nebo Del), nebo v nastavení firmwaru nastavte zařízení USB jako první v pořadí. Se Secure Bootem nemusíte nic dělat.
Nabídka zavaděče
- Try or Install MoonLightOS
Běžná volba. Spustí živé prostředí i s animací při startu.
- Try or Install MoonLightOS (safe graphics)
Totéž, ale s vypnutým nastavováním grafického režimu v jádře. Použijte ji, když obrazovka zůstane černá nebo je obraz rozsypaný.
- MoonLightOS in RAM (needs 6 GB+)
Nakopíruje celý systém do paměti, takže flash disk můžete vytáhnout.
- Check this medium for defects
Porovná každý soubor na disku s kontrolními součty zapsanými při sestavení.
- Verbose boot (no splash, logs to serial)
Vypisuje všechny zprávy na obrazovku i na první sériový port. Jinak se start, který selže ještě před zapnutím obrazovky, přečíst nedá.
- UEFI firmware settings
Restartuje počítač do nastavení firmwaru.
Živé prostředí
První, co uvidíte, je úvodní průvodce: vyberte jazyk systému, potvrďte rozložení klávesnice (do pole si ho můžete vyzkoušet) a připojte se k Wi-Fi. Pak se můžete buď rozhlédnout, nebo rovnou instalovat. Všechno, co průvodce nastaví, je skutečné nastavení systému a instalátor pracuje se stejnými volbami.
Živé prostředí je celý systém bez jakýchkoli úprav: stejná plocha, stejné nástroje, stejné stránky nastavení. Uživatel se jmenuje moonlight a nemá heslo. Nic z toho, co tu uděláte, se disku nedotkne, dokud nespustíte instalátor.
Instalaci spustíte dvojklikem na ikonu Instalovat MoonLightOS na ploše, nebo znovu otevřete úvodního průvodce a zvolte instalaci.
Instalace
Instalátor je Calamares. Sedm stránek a pak kopírování na disk.
- Vítejte
Jazyk instalátoru a odkazy na tohoto průvodce.
- Umístění
Oblast a časové pásmo; podle nich se nastaví lokalizace a formáty čísel.
- Klávesnice
Už je nastavená podle toho, co jste zvolili v průvodci. V poli si ji vyzkoušejte.
- Oddíly
Výchozí volbou je smazání disku: vytvoří souborový systém ext4 s odkládacím souborem. K dispozici jsou i btrfs, xfs a f2fs a také ruční rozdělení disku. Zaškrtnutím volby Zašifrovat systém zapnete šifrování LUKS2 na celém disku a zvolíte heslo. Budete ho zadávat při každém startu a když ho zapomenete, nedá se obnovit. Na počítači s UEFI vznikne oddíl EFI o velikosti 512 MiB.
- Uživatelé
Vaše jméno, název počítače, uživatelské jméno a heslo alespoň o osmi znacích ze dvou různých skupin. První účet spravuje počítač přes sudo, účet root zůstává zamčený a automatické přihlášení zůstane vypnuté, pokud si ho sami nezapnete.
- Souhrn
Všechno, co se instalátor chystá udělat, v jednom seznamu. Zapsáno dosud nebylo nic.
- Instalace
Systém se nakopíruje na disk, nainstaluje se zavaděč (na UEFI pod názvem MoonLightOS v seznamu spouštění ve firmwaru) a zbytky živého prostředí se odstraní. Pak restartujte a vytáhněte flash disk.
Ostatní operační systémy v počítači najde při prvním startu os-prober a přidá je do nabídky GRUB.
První start
Nainstalovaný systém začíná jako přesná kopie obrazu, ze kterého vychází každá jiná instalace. O všechno, co musí být pro tento počítač jedinečné, se postará při prvním startu služba, která se pak sama vypne. Ještě před přihlašovací obrazovkou vytvoří:
- nový identifikátor počítače, aby nikdo na síti nemohl spojit dvě instalace;
- nové klíče hostitele SSH, protože klíč společný všem, kdo si obraz stáhli, by z ověřování hostitele udělal prázdné gesto;
- nabídku GRUB, protože teprve teď jsou vidět skutečné disky a systémy na nich;
- initramfs přestavěný pro hardware, který v počítači skutečně je, takže je menší a animace startu se objeví dřív;
- mezipaměti ikon, fontů a plochy, aby první přihlášení netrvalo dlouho;
- znovu zapnutý firewall.
Výstup zapisuje do /var/log/moonlight-firstboot.log. Pak se objeví přihlašovací obrazovka a po prvním přihlášení okno Vítejte.
První kroky
- Vyberte si vzhled
Tmavý, nebo světlý, přímo ve Vítejte. Všechno ostatní je v MoonLight Tweaks: rozvržení plochy, tapeta, časový plán a widgety.
- Ovladače
Vítejte → Ovladače otevře Správce ovladačů. U karet NVIDIA je uzavřený ovladač přímo na ISO, takže funguje i bez připojení k internetu.
- Software
Obchod nabízí snapy, repozitář Ubuntu a Flathub pohromadě. Thunderbird, Steam, Spotify a mnoho dalších najdete na jedno vyhledání.
- Otisk prstu a obličej
Prst zaregistrujete a odemknutí obličejem nastavíte ve Vítejte → Otisk prstu nebo v Nastavení systému → Váš účet.
- Zálohování
Timeshift pořizuje snímky systému podle plánu. Nastavte si ho dřív, než ho budete potřebovat.
- Zabezpečení
Nastavení systému → Zabezpečení ukáže, co tento počítač chrání a co ne, a u každého řádku je tlačítko, které to spraví.
- Vývojářské sady
Virtuální stroje, PHP s databázemi a LaTeX: každá sada na jedno kliknutí ve Vítejte, instaluje se z repozitáře, který je už nastavený.
- Programy pro Windows
Jednou otevřete Aplikace Windows: připraví Wine včetně DXVK, VKD3D, fontů a běhových knihoven. Od té chvíle soubory .exe prostě spustíte.
Virtuální stroje
VirtualBox
Ve VirtualBoxu je potřeba změnit tři výchozí nastavení, jinak se obraz nespustí vůbec. Chyba vypadá na nedostatek paměti, ale o ten nejde: GRUB přepne do grafického režimu, aby nabídku nakreslil ve vzhledu systému, a při výchozích 16 MB videopaměti to selže se zprávou „Out of memory. You need to load the kernel first.“
| Typ | Linux / Ubuntu (64bitový) |
|---|---|
| Paměť | 4096 MB (minimum 2048) |
| Procesory | 2 a více |
| Videopaměť | 128 MB, nastavení, na kterém skutečně záleží |
| 3D akcelerace | zapnutá |
| Grafický adaptér | VMSVGA |
| Zapnout EFI | vypnuto: BIOS funguje dobře a EFI ve VirtualBoxu není hotové |
| Přeskočit bezobslužnou instalaci | zaškrtnuto |
| Disk | 30 GB a více |
Z příkazové řádky:
VBoxManage modifyvm "MoonLightOS" \
--ostype Ubuntu24_LTS_64 --memory 4096 --cpus 4 \
--vram 128 --graphicscontroller vmsvga --accelerate3d on \
--boot1 dvd --boot2 disk
VirtualBox označí médium jako „Ubuntu“, protože na něm najde složku /casper. Je to jen popisek v jeho rozhraní, samotné médium se hlásí jako MoonLightOS. Typ hosta přesto nastavte na Ubuntu, protože podle něj VirtualBox zvolí správný čipset a výchozí nastavení grafiky.
QEMU
UEFI, tedy způsob, jakým startuje většina počítačů. Nejdřív si vytvořte zapisovatelné proměnné firmwaru a cílový disk:
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
Se skutečně zapnutým Secure Bootem, tedy s firmwarem, do kterého jsou zavedené klíče Microsoftu. Po spuštění hlásí mokutil --sb-state stav SecureBoot enabled a totéž potvrdí Nastavení → O systému:
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
Starší BIOS: ISO je hybridní, takže tentýž soubor nastartuje i starým způsobem:
qemu-system-x86_64 -enable-kvm -m 2048 -cdrom moonlightos-26.04.5-bengunur-amd64.iso
Když si chcete ověřit tvrzení o 2 GB, spusťte stroj bez akcelerace a s nejmenší pamětí a pak si v živém prostředí zkontrolujte, že se zram hlásí jako odkládací prostor a že tlak na paměť zůstává nízký:
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
Nástroje pro hosty ve VirtualBoxu, QEMU/SPICE a VMware jsou už na obrazu, a právě díky nim se přizpůsobuje rozlišení obrazovky a schránka je společná.
Klávesové zkratky
Celá tabulka je na stránce Funkce. Tyhle se vyplatí znát od prvního dne:
| Super | otevře nabídku; Super+Mezerník ji otevře s kurzorem ve vyhledávacím poli |
|---|---|
| Super+V | historie schránky |
| Super+N | poznámky |
| Print / Shift+Print | snímek celé obrazovky / výřezu; Shift+Super+5 otevře panel snímků |
| Super+Vlevo / Vpravo | přichytí okno k polovině obrazovky |
| Ctrl+Nahoru | všechna okna; Ctrl+Dolů všechny plochy |
| Super+L | zamkne obrazovku; Ctrl+Alt+T otevře terminál; Ctrl+Shift+Esc otevře sledování systému |
Když něco nefunguje
- Po nabídce zavaděče zůstane obrazovka černá
Zvolte položku s bezpečnou grafikou. Když naskočí, instalujte systém odtud a potom na stránce Ovladače zapněte uzavřený ovladač.
- „Out of memory. You need to load the kernel first.“
Stroj ve VirtualBoxu s 16 MB videopaměti. Dejte mu 128 MB a zapněte 3D akceleraci, viz Virtuální stroje výše.
- Prostředí se zdá pomalé
Podívejte se v Nastavení → O systému, co vykresluje OpenGL. Při softwarovém vykreslování se animace vypnou samy už při přihlášení, ručně je vypnete v Tweaks → Výkon.
- Flash disk nastartuje, ale pak se děje něco nepochopitelného
Z nabídky zavaděče spusťte kontrolu média, tedy položku Check this medium for defects, a ověřte kontrolní součet SHA-256 staženého souboru.
- Nefunguje Wi-Fi
Otevřete stránku Ovladače: ovladač Broadcom je součástí obrazu. U ostatních adaptérů uvidíte v nabídce sítí, co jádro našlo.
- Čtečka otisků prstů není vidět
Otevřete Otisk prstu. Nástroj pojmenuje výrobce senzoru, řekne, jestli jde o senzor s přímou podporou, se srovnáváním v čipu, nebo s binárkou od výrobce, a vysvětlí, co se s tím dá dělat.
- Jak se dostat k záznamům
Na co si stěžoval start, záznam správce přihlášení, záznam z prvního startu a název aktivního vzhledu startu:
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
Do hlášení o chybě se hodí dvě věci: O systému → Kopírovat hlášení vloží do schránky vydání a hardware a moonlight-selftest vypíše, co prostředí skutečně dělá.
moonlight-selftest | less
Sestavení ze zdrojů
Celá distribuce je jeden repozitář: grafika vychází z jednoho zdrojového loga, vzhledy se generují z jedné palety a jediný skript ze všeho udělá ISO, ze kterého počítač nastartuje i se zapnutým Secure Bootem. Potřebujete Docker (na jakémkoli operačním systému, protože sestavení běží v kontejneru) a asi 25 GB místa.
./build.sh | všechno: základ → úpravy → komprese → ISO |
./build.sh rootfs | skončí po úpravách systému |
./build.sh image | z hotového kořenového souborového systému udělá nové ISO |
./build.sh finish | jen zavaděče a ISO, squashfs použije znovu |
./build.sh shell | shell uvnitř sestavovacího prostředí |
./build.sh clean | smaže pracovní svazek |
ISO se zapíše do out/ a vedle něj kontrolní součet SHA-256. Ve Windows spusťte sestavení z Git Bashe nebo použijte build.ps1.
Jak je sestavení rozvržené
build.sh | vstupní bod na hostiteli; všechno spouští v kontejneru |
|---|---|
build/Dockerfile.builder | sestavovací prostředí, pevně svázané s cílovým vydáním |
build/mkiso.sh | základ, vytažení jádra, squashfs, zavaděče, ISO |
build/inchroot.sh | všechno, co se děje v chrootu, ve čtrnácti etapách |
config/moonlight.conf | všechny texty, které vydání definují |
packages/*.list | co se na obraz dostane a co se z něj odebere |
rootfs/ | soubory kopírované do systému tak, jak jsou, včetně aplikací MoonLight |
brand/source/ | zdrojové logo a tapety; brand/out/ se generuje |
tools/gen-branding.py | zdrojové logo → animace startu, GRUB, přihlašovací obrazovka, ikony |
tools/gen-themes.py | jedna paleta → oba úplné vzhledy |
po/ | překlady aplikací MoonLight |
installer/ | konfigurace a vzhled Calamares |
Než ISO vznikne, projde sestavení uvnitř obrazu více než 120 povinných kontrol: jádro, podepsaný shim, oba vzhledy, každý z MoonTools, kodeky, ovladače Wi-Fi, překlady a to, že odemknutí obličejem i nouzové heslo jsou vypnuté. Když některá kontrola selže, sestavení se zastaví. Pracovní prostor je svazek Dockeru, ne složka připojená z hostitele: vlastnictví souborů, symbolické odkazy ani soubory zařízení by takové připojení ve Windows ani v macOS nepřežily.
Úpravy
- Identita vydání
V config/moonlight.conf jsou všechny texty, které distribuci definují.
- Grafika
Vyměňte zdrojové logo nebo tapetu, znovu spusťte tools/gen-branding.py a animace startu, GRUB, přihlašovací obrazovka, ikony i grafika instalátoru se vygenerují znovu.
- Barvy
V tools/gen-themes.py je jedna tmavá a jedna světlá paleta a podle stejných pravidel z nich vznikají oba úplné vzhledy.
- Nainstalované balíčky
packages/*.list, jeden balíček na řádek, instalují se v pořadí názvů souborů; v 99-purge.list je to, co se nakonec odebere.
- Výchozí nastavení plochy
rootfs/etc/dconf/db/moonlight.d/ ve formátu klíčových souborů dconf. Jsou to výchozí hodnoty, ne zámky: uživatel může změnit kteroukoli z nich.
- Rychlé přestavění
Po změně v rootfs/ nebo v seznamech balíčků zopakuje build.sh rootfs etapu v chrootu nad uloženým základem a build.sh image znovu zabalí ISO; build.sh finish je na práci s nabídkou zavaděče.
Pomoc a hlášení chyb
Užitečné hlášení říká, co jste čekali, co se stalo místo toho a na jakém počítači. Tu třetí část vám MoonLightOS usnadní:
- O systému MoonLightOS → Kopírovat hlášení zkopíruje do schránky vydání, hardware, způsob vykreslování grafiky a stav Secure Bootu, a to jako text.
- moonlight-selftest vypíše, jaká nastavení vzhledu platí, jestli se správně načetl styl prostředí, který grafický ovladač je aktivní a které služby selhaly.
- U potíží se startem vypíše položka Verbose boot všechny zprávy na obrazovku i na první sériový port.
- U instalátoru se podívejte do /var/log/moonlight-firstboot.log na nainstalovaném systému a do výpisu journalctl -b -p warning.
Kam hlášení poslat
Veřejnou evidenci chyb a kanál pro podporu tady oznámíme. Do té doby si hlášení uschovejte: všechno, co má obsahovat, dodají oba nástroje výše.