Můj čtvrtý den s Haiku: problémy s instalací a zaváděním

Můj čtvrtý den s Haiku: problémy s instalací a zaváděním

TL;DR: po několika dnech experimentování s Haiku jsem se rozhodl nainstalovat ji na samostatný SSD. Ale vše se neukázalo být tak jednoduché.

Můj čtvrtý den s Haiku: problémy s instalací a zaváděním
Probíhá intenzivní práce na kontrole zavádění Haiku.

Před třemi dny jsem se dozvěděl o Haiku, překvapivě dobrém operačním systému pro PC. Je čtvrtý den a chtěl bych vykonávat více "skutečné práce" s tímto systémem, a oddíl v obraze Anyboot je pro to příliš malý. Takže beru do rukou nový SSD o velikosti 120GB a připravuji se na hladkou práci instalačního programu… A čeká mě zklamání!

Instalaci a zavádění obvykle věnují velkou pozornost a lásku, protože to jsou první a nejdůležitější dojmy. Doufám, že protokol mého „nováčka“ bude užitečný pro tým vývojářů Haiku v jejich neustálém úsilí o ladění operačního systému, který "prostě funguje". Beru všechny chyby na sebe!
Myslím, že obzvlášť důležitá bude situace se zaváděním z USB, protože ne každý uživatel je připraven použít hlavní SATA disk (o NVMe ani nemluvě…) pro experimenty s naprosto neznámým operačním systémem. Myslím, že zavádění z USB je nejpravděpodobnější scénář pro většinu uživatelů, kteří se rozhodli vyzkoušet Haiku na skutečném zařízení. Vývojáři by se na to měli vážně zaměřit.

Komentář vývojáře:

Právě jsme začali s podporou EFI, rychle jsme napsali beta verzi, která se spouští na strojích s podporou EFI. Získané výsledky jsou zatím daleko od požadované úrovně podpory. Nevím, zda bychom měli dokumentovat aktuální práci, nebo se prostě soustředit na dosažení dobrého výsledku, a poté vše zdokumentovat.

Zní to smysluplně a je naděje, že na konci vše bude mnohem lepší než teď. Zatím mohu pouze zkontrolovat to, co bylo uděláno k dnes. Pojďme na to...

Obraz Anyboot je příliš malý

Přestože se obraz Anyboot překvapivě snadno zapisuje na běžný USB flash disk, v něm není dostatek místa na oddílu s Haiku pro instalaci dalšího softwaru.

Můj čtvrtý den s Haiku: problémy s instalací a zaváděním
Zápis obrazu Anyboot na flash disk je v zásadě dost jednoduchý, ale nakonec chybí místo pro skutečnou práci.

Rychlé řešení: zvýšit velikost oddílu Haiku ve výchozím nastavení.

Takže pro skutečnou práci s Haiku je třeba ji nainstalovat pomocí aplikace Installer.

Installer nedělá všechno potřebné na jednom místě.

Pamatujete si skvělý instalátor Mac OS X?

Můj čtvrtý den s Haiku: problémy s instalací a zaváděním
Instalátor Mac OS X 10.2

On:

  • Inicializuje disky (zapisuje GPT, tabulku oddílů GUID)
  • Vytváří oddíly (EFI, hlavní) s použitím „zdravého rozumu“ (pro nejlepší využití disku)
  • Oz označuje spouštěcí oddíl (nastavuje na něm bootable flag)
  • Kopíruje soubory

Jinými slovy, dělá „všechno“ bez zbytečného úsilí pro uživatele.

Na druhou stranu existuje Installer pro Haiku, který pouze kopíruje soubory a nechává uživatele vyřešit všechno ostatní, příliš objemné, ve kterém i s zkušenostmi se hned nevyznáte. Zvlášť pokud je potřeba systém, který se načítá jak na systémech s BIOS, tak na EFI.

Co mám dělat?

Přesně neřeknu, ale v každém případě předpokládám toto:

  1. Otevřít DriveSetup
  2. Vybrat zařízení pro instalaci
  3. Disk->Inicializovat->GUID Partition Map…->Pokračovat->Zapsat změny->OK
  4. Pravé kliknutí na prázdné místo na zařízení, na které bude systém nainstalován
  5. Vytvořit…->Zadám 256 jako velikost->EFI system data (nejsem si úplně jistý)->Zapsat změny
  6. Pravé kliknutí na „EFI system data“ na zařízení, na které bude systém nainstalován
  7. Inicializovat->FAT32 File System…->Pokračovat->Zadám název: „EFI“, bitová hloubka FAT: 32->Formátovat->Zapsat změny
  8. Opakuji pravé kliknutí na prázdné místo na potřebném zařízení
  9. Vytvořit…->Zadám název oddílu: Haiku, typ oddílu: Be File System->Vytvořit->Zapsat změny
  10. Pravé kliknutí na EFI->Připojit
  11. Spouštím Installer->zmaten technickým slangem->Pokračovat->Na disk: Haiku (ujistil jsem se, že je to ten samý oddíl, který jsem vytvořil dříve)->Nainstalovat
  12. V souborovém manažeru kopíruji adresář EFI z aktuálního systému na oddíl EFI (předpokládám, že je to potřeba pro načítání z EFI)
  13. [pozn. překladatele: tento bod byl z překladu vypuštěn; stručně řečeno — autor se úplně nevyznal ve vytváření hybridního systému pro načítání jak EFI, tak BIOS]
  14. vypínám
  15. připojuji nově vytvořený disk do portu, ze kterého se systém určitě spustí [divné, tohle jsem dělat nemusel. — pozn. překladatele]
  16. zapínám

Myslím, že je jasně vidět: potřebujeme nástroj, který udělá vše jedním stisknutím tlačítka, se včasným (!) potvrzením, že zařízení lze vymazat.

„Rychlé“ řešení: vytvořit automatický Installer, který udělá vše.

I když to nemusí být „rychlé“, jistě by mělo být důstojné. Vždyť to jsou první dojmy z nového systému. Pokud se instalace nezdaří (což se mi stalo několikrát) — mnozí prostě potichu odejdou navždy.

Technické vysvětlení ohledně DriveSetup podle PulkoMandy

BootManager zapisuje plnohodnotné zaváděcí menu, včetně možnosti načítání několika systémů z disku, k tomu mu stačí asi 2 kB na začátku disku. To je vhodné pro staré schémata rozdělení disku, ale ne pro GPT, která používá tyto sektory pro tabulku oddílů. Na druhou stranu writembr zapisuje silně zjednodušený kód na disk, který jednoduše najde aktivní oddíl a pokračuje v načítání z něj. Tento kód potřebuje pouze 400 prvních bajtů na disku, takže se nespojí s GPT. Má omezenou podporu disků s rozdělením GPT (ale pro jednoduché případy to bude v pořádku).

Rychlé řešení: ať GUI pro nastavení BootManager uloží na disk vše, co se instaluje pomocí writembr, pokud se zjistí rozdělení GPT. Není potřeba ukládat kód o velikosti 2 kB na disky GPT. Není potřeba nastavovat příznak bootable na oddílu EFI, pouze na oddílu Haiku.

První pokus: kernel panic

Hardware

  • Acer TravelMate B117 N16Q9 (prodáváno s EndlessOS)
  • lspci
  • lsusb
  • Existující systém byl spuštěn z flash disku Kingston DataTraveler 100 o velikosti 16 GB, vytvořeného z Anyboot obrazu pomocí Etcher na Linuxu, zasunutého do portu USB2.0 (protože se nenahrávalo z portu USB3).
  • SSD Kingston A400 o velikosti 120 GB, pouze z výroby, připojený v adaptéru sata-usb3 ASMedia ASM2115, který je připojen v portu USB3 v TravelMate B117.

Výsledky

Installer začíná kopírovat soubory, pak se objevuje chyba vstupu-výstupu, doprovázená kernel panic.

Můj čtvrtý den s Haiku: problémy s instalací a zaváděním
kernel panic

Druhý pokus: nezbootovatelný disk.

Hardware

Vše jako dříve, ale SSD je připojeno v adaptéru, který je připojen v USB2.0 Hubu, zasunutém do portu USB3 v TravelMate. Ověřil jsem pomocí instalačního flash disku s Windows, že tento stroj se spouští z USB3.

Výsledky

Nezbootovatelný systém. Rozdělení disku se zdá, že selhalo kvůli BootManager.

Můj čtvrtý den s Haiku: problémy s instalací a zaváděním
BootManager. „Write boot menu“ co, ničí rozdělení disku?!

Třetí pokus: wow, to se spouští! Ale ne přes port USB3 na této mašině.

Hardware

Všechno je to jako při druhém pokusu, ale tentokrát nepoužívám BootManager vůbec.
Rozložení bez spuštění BootManager vypadá takto, pokud se kontroluje z Linuxu.

Můj čtvrtý den s Haiku: problémy s instalací a zaváděním
Sekce „efi“ s FAT32 souborovým systémem je označena jako spustitelná bez spuštění BootManager. Spustí se na non-EFI stroji?

Výsledky

  • Režim EFI, port USB2: spouští přímo do Haiku
  • Režim EFI, USB2 hub připojený v portu USB3: Zpráva „no boot path found, scan for all partitions…“, po které se zobrazí spouštěcí obrazovka s „Select boot volume (Current: haiku)“. Tlačítko „Continue booting“ je šedé, nelze ho stisknout. Pokud vyberete v seznamu „Select Boot Volume“ -> Haiku (Current: Latest state) -> Latest state -> Return to main menu -> Continue booting — spustí se přímo do Haiku. Zajímavé, proč se nemůže „prostě spustit“, ale vyžaduje tance s bubnem? O to víc, že na spouštěcí obrazovce je jasně automaticky nalezena spouštěcí oddíl. Je to programová chyba?
  • Režim EFI, port USB3: spouští se přímo do Haiku. Ach, jak jsem rád… Příliš brzo, jak se ukázalo. Zobrazí se modrá obrazovka, ale velmi dlouho se nic neděje. Ukazatel „rád“ visí uprostřed obrazovky a nepohne se. Adaptér sata-usb3 bliká. Vše skončilo kernel panic. Obraz Anyboot na USB3 flashdisku nebyl vůbec rozpoznán jako spustitelný na aktuálním zařízení. Aha, to je bug! K tomu jsem založil žádost.

Můj čtvrtý den s Haiku: problémy s instalací a zaváděním
Kernel panic při spuštění z portu USB3.

Co je překvapivé — stále je možné zadávat příkazy, ale budu muset použít anglickou klávesnici. Takže, dělám jak doporučili:

Můj čtvrtý den s Haiku: problémy s instalací a zaváděním
popis k obrázku: výstup syslog | tail 15 — zatímco jádro panikaří

Volání příkazu reboot, bohužel, nefunguje.

Čtvrtý pokus: druhý stroj

Přesunul jsem stejný (přesně funkční) disk na jiný stroj, kde jsem zkontroloval práci s různými porty.

Hardware

Všechno stejné jako ve třetím pokusu, ale na Acer Revo One RL 85.

Výsledky

  • Režim EFI, port USB2: Zpráva „no boot path found, scan for all partitions…“, po které se zobrazí spouštěcí obrazovka s „Select boot volume (Current: haiku)“. Tlačítko „Continue booting“ je šedé, nelze ho stisknout. Pokud vyberete v seznamu „Select Boot Volume“ -> Haiku (Current: Latest state) -> Latest state -> Return to main menu -> Continue booting — spustí se přímo do Haiku. Vypnutí se zasekne na zprávě „Shutting down…“.
  • Režim EFI, USB2 hub připojený v portu USB3: je třeba upřesnit
  • Režim EFI, USB3 port: Zpráva „no boot path found, scan for all partitions…“, následovaná bootovací obrazovkou s „Select boot volume (Current: haiku)“. Tlačítko „Continue booting“ je šedé, nelze na něj kliknout. Pokud vyberu v seznamu „Select Boot Volume“ -> Haiku (Current: Latest state) -> Latest state -> Return to main menu -> Continue booting — nabootuje přímo do Haiku.
    Rád bych upozornil, že na rozdíl od první systému probíhá normální bootování až na pracovní plochu bez kernel panic. Vypínání se zasekne na zprávě „Shutting down…“.
  • Režim EFI, sata port: Nabootuje přímo do Haiku. Vypínání se zasekne na zprávě „Shutting down…“.
  • Režim CSM BIOS, USB2 port: je potřeba upřesnění.
  • Režim CSM BIOS, USB2 hub připojený k USB3 portu: je potřeba upřesnění.
  • Režim CSM BIOS, USB3 port: je potřeba upřesnění.
  • Režim CSM BIOS, sata port: Černá obrazovka s nápisem „Reboot and Select proper Boot Device or Insert Boot Media in selected device and press a key“. Přichází od CSM BIOS? [Ano, podobnou zprávu vydává moje systém, pokud nenajde boot loader. — pozn. překladatele]

Pátý pokus: třetí stroj.

Přesunul jsem tento disk na třetí stroj, zkontroloval na různých portech.

Hardware

To samé jako při třetím pokusu, ale na Dell Optiplex 780. Pokud se nemýlím — na tomto stroji je rané EFI, které evidentně vždy funguje v režimu CSM BIOS.

Výsledky

  • USB2 port: nabootuje Haiku.
  • USB3 port (přes PCIe kartu, Renesas Technology Corp. uPD720202 USB 3.0 Host Controller): je potřeba upřesnění.
  • SATA port: je potřeba upřesnění.

Šestý pokus, čtvrtý stroj, MacBook Pro.

Hardware

Všechno stejné jako při třetím pokusu, ale s MacBook Pro 7.1.

Výsledky

Můj čtvrtý den s Haiku: problémy s instalací a zaváděním
Jak Mac vidí flash disk s Haiku.

  • Režim CSM („Windows“): černá obrazovka s nápisem „No bootable drive — insert boot disk and press any key“. Pochází to od Apple CSM?
  • Režim UEFI („EFI Boot“): zastavuje se na obrazovce pro výběr bootovacího zařízení.

Sedmý pokus, netbook Lenovo s 32-bitovým procesorem Atom.

Hardware

  • Flash disk Kingston DataTraveler 100 o velikosti 16GB, vytvořený na Linuxu pomocí Etcher, s použitím 32-bitového obrazu Anyboot. odsud.

  • Netbook Lenovo Ideapad S10 založený na procesoru Atom bez pevného disku.

  • lspci tohoto stroje., pořízeno na linuxu.

  • lsusb

    00:1d.7 USB controller: Intel Corporation NM10/ICH7 Family USB2 EHCI Controller (rev 02) (prog-if 20 [EHCI])
    Subsystem: Lenovo NM10/ICH7 Family USB2 EHCI Controller
    Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx-
    Status: Cap+ 66MHz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- SERR- <PERR- INTx-
    Latency: 0
    Interrupt: pin A routed to IRQ 23
    Region 0: Memory at f0844000 (32-bit, non-prefetchable) [size=1K]
    Capabilities: [50] Power Management version 2
        Flags: PMEClk- DSI- D1- D2- AuxCurrent=375mA PME(D0+,D1-,D2-,D3hot+,D3cold+)
        Status: D0 NoSoftRst- PME-Enable- DSel=0 DScale=0 PME-
    Capabilities: [58] Debug port: BAR=1 offset=00a0
    Kernel driver in use: ehci-pci

Výsledky

Probíhá načítání, poté dojde k havárii jádra, příkaz syslog|tail 15 vydává kDiskDeviceManager::InitialDeviceScan() selhalo: Soubor nebo adresář neexistuje po několika chybách ATA. Poznámka: Zkoušel jsem se spustit z USB, ne ze SATA.

Můj čtvrtý den s Haiku: problémy s instalací a zaváděním
Havárie jádra na netbooku Lenovo ideapad s10 při spuštění z flash disku.

Pro srandu jsem vložil disk do portu SATA, ale žádný zásadní rozdíl jsem ve srovnání s flash diskem nezpozoroval. Přesto jsem dostal různé zprávy při použití příkazu syslog|tail 15 (uvádělo, že našlo /dev/disk/ata/0/master/1).

mr. waddlesplash požádal mě, abych provedl příkaz `syslog | grep usb pro tento případ, takže zde jsou výsledky. Stále mě těší, že lze spouštět podobné příkazy na obrazovce s havárií jádra.

Můj čtvrtý den s Haiku: problémy s instalací a zaváděním
Můj čtvrtý den s Haiku: problémy s instalací a zaváděním

Podle mr. waddlesplash je tato chyba EHCI stejná jako v této žádosti

Osmý pokus: netbook MSI s 32bitovým procesorem Atom

Hardware

Jak bylo dříve

  • Netbook Medion Akoya E1210 (pod značkou MSI Wind U100) s nainstalovaným diskem (který nepoužívám pro Haiku).
  • lspci tento stroj
  • lsusb tohoto stroje
    00:1d.7 USB ovladač: Intel Corporation NM10/ICH7 Family USB2 EHCI Controller (rev 02) (prog-if 20 [EHCI])
    Podsystem: Micro-Star International Co., Ltd. [MSI] NM10/ICH7 Family USB2 EHCI Controller
    Ovládání: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx-
    Stav: Cap+ 66MHz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- SERR- <PERR- INTx-
    Latence: 0
    Přerušení: pin A směřuje na IRQ 23
    Oblast 0: Paměť na dff40400 (32-bit, non-prefetchable) [velikost=1K]
    Možnosti: [50] Správa napájení verze 2
        Vlajky: PMEClk- DSI- D1- D2- AuxCurrent=375mA PME(D0+,D1-,D2-,D3hot+,D3cold+)
        Stav: D0 NoSoftRst- PME-Enable- DSel=0 DScale=0 PME-
    Možnosti: [58] Debug port: BAR=1 offset=00a0
    Jádrový ovladač v použití: ehci-pci

Výsledky

Načítá se do Installeru Haiku. TouchPad funguje! (například scrollování). Grafická karta byla rozpoznána jako Intel GMA (i945GME).

Devátý pokus: flash disk s 32bitovým obrazem na MacBook Pro

Hardware

  • Jak již dříve.
  • MacBook 7.1

Výsledky

Černá obrazovka s nápisem „No bootable drive — insert boot disk and press any key.“

Poznámka: Klávesnice Apple

V levém dolním rohu jakékoli klávesnice na dolním řadě jsou následující tlačítka:
non-Apple: Ctrl-Fn-Windows-Alt-Spacebar
Apple: Fn-Ctrl-(Option nebo Alt)-Command-Spacebar

Bylo by skvělé, kdyby se všechny klávesnice v Haiku chovaly stejně, aby je bylo možné používat stejným způsobem, bez ohledu na to, co je na nich skutečně napsáno.
Na klávesnici Apple je tlačítko Alt hned vedle mezerníku (místo něj je tam klávesa Command).
V tomto případě bych zjistil, že v Haiku se automaticky používá klávesa Command místo klávesy Alt. Takže při práci na klávesnici Apple bych měl pocit, že klávesnice je non-Apple.
Očividně, v nastavení jsou různé možnosti, ale rád bych viděl automatické rozpoznávání a přizpůsobení, protože je to přece jen USB.

Poznámka: writembr pro obnovení?

Slyšel jsem, že pomocí příkazu writembr můžete udělat systém (pracující s EFI) spustitelný z BIOSu.

/> writembr /dev/disk/.../.../.../.../raw
About to overwrite the MBR boot code on /dev/disk/scsi/0/2/0/raw
This may disable any partition managers you have installed.
Are you sure you want to continue?
yes/[no]: yes
Rewriting MBR for /dev/disk/.../.../.../.../raw
MBR was written OK

Vypadá to dobře, ale systém stále nelze spustit, jako dříve. Možná proto, že spouštění přes BIOS funguje pouze s vhodným rozdělením, ne s GPT? [bylo by dobré vyzkoušet protective MBR… — pozn. překladatele]

Závěr

Haiku je úžasný, ale pro zkušenost s instalací je třeba vážného přístupu. Navíc je proces spouštění jako loterie, s šancí na úspěch asi 1/3, a nezáleží na tom, jestli máš USB2 (netbook na Atomu) nebo USB3 (Acer TravelMate). Ale alespoň jeden vývojář má stejné vybavení. Doufám, že moje ‘novácké’ zkušenosti pomohou vývojářům pochopit, co potřebují ‘obyčejní smrtelníci’, a také udělat výsledek stejně elegantním, jako je instalátor Mac OS X. Neměli bychom zapomínat, že to ještě není verze 1.0, takže to jde velmi dobře!

Vyzkoušejte to sami! Projekt Haiku poskytuje obrazy pro spuštění z DVD nebo USB, které jsou vytvářeny denně. Pro instalaci stačí stáhnout obraz a zapsat ho na flash disk pomocí Etcher

Máte otázky? Zveme vás do rusky mluvícího telegramového kanálu.

Přehled chyb: Jak si střelit do nohy v C a C++. Sbírka receptů Haiku OS

Od autora překladu: toto je čtvrtý článek z cyklu o Haiku.

Seznam článků: První Druhý Třetí

Zdroj: habr.com

Koupit spolehlivý hosting pro webové stránky s ochranou proti DDoS, VPS VDS servery 🔥 Koupit spolehlivý hosting pro webové stránky s ochranou proti DDoS, VPS VDS servery | ProHoster