Môj štvrtý deň s Haiku: problémy s inštaláciou a spúšťaním

Môj štvrtý deň s Haiku: problémy s inštaláciou a spúšťaním

TL;DR: po niekoľkých dňoch experimentovania s Haiku som sa rozhodol nainštalovať ho na samostatný SSD. Ale všetko sa ukázalo ako nie také jednoduché.

Môj štvrtý deň s Haiku: problémy s inštaláciou a spúšťaním
Prebieha intenzívna práca na kontrole načítania Haiku.

Pred tromi dňami som sa dozvedel o Haiku, nečakane dobrej operačnej sústave pre PC. Je štvrtý deň a chcem s touto sústavou spraviť viac "skutočnej práce", a oddiel, ktorý ide v obraze Anyboot, je na to príliš malý. Potom beriem do rúk nový SSD s kapacitou 120 GB, pripravujem sa na hladký chod inštalátora... A čaká ma sklamanie!

Inštalácii a načítaniu sa zvyčajne venuje zvýšená pozornosť a láska, pretože sú to prvé a najdôležitejšie dojmy. Máme nádej, že protokol mojej „začiatočníckej“ skúsenosti sa ukáže ako užitočný pre tím vývojárov Haiku v ich neustálom úsilí o ladenie operačnej sústavy, ktorá "jednoducho funguje". Všetky chyby beriem na seba!
Myslím si, že situácia s načítaním z USB bude obzvlášť dôležitá, pretože nie každý používateľ je pripravený použiť primárny SATA disk (už ani nehovorím o NVME...) na experimenty s úplne neznámou operačnou sústavou. Myslím si, že načítanie z USB je najpravdepodobnejší scenár pre väčšinu používateľov, ktorí sa rozhodli vyskúšať Haiku na reálnom hardvéri. Vývojári by sa na to mali vážne pozrieť.

Komentár vývojára:

Práve sme začali podporu EFI, rýchlo sme napísali beta verziu, ktorá sa načítava na strojoch s podporou EFI. Dosiahnuté výsledky sú zatiaľ ďaleko od požadovanej úrovne podpory. Neviem, či by sme mali dokumentovať aktuálnu prácu, alebo sa jednoducho sústrediť na dosiahnutie požadovaného výsledku, po čom by sme to už zdokumentovali.

Znie to rozumne a máme nádej, že nakoniec bude všetko oveľa lepšie, než je to teraz. Zatiaľ môžem iba skontrolovať to, čo je hotové dnes. Poďme na to...

Obraz Anyboot je príliš malý

Napriek tomu, že obraz Anyboot sa prekvapivo ľahko zapisuje na bežný flash disk, nemá dostatok miesta v oddiele s Haiku na inštaláciu dodatočného softvéru.

Môj štvrtý deň s Haiku: problémy s inštaláciou a spúšťaním
Zápis obrazu Anyboot na flash disk je v zásade dostatočne jednoduchý, ale v konečnom dôsledku chýba miesto na skutočnú prácu.

Rýchle riešenie: zvýšiť veľkosť predvoleného oddielu Haiku.

Takže na to, aby ste mohli pracovať s Haiku, musíte ho nainštalovať pomocou aplikácie Installer.

Installer nerobí všetko potrebné na jednom mieste.

Pamätáte si na úžasný inštalátor Mac OS X?

Môj štvrtý deň s Haiku: problémy s inštaláciou a spúšťaním
Inštalátor Mac OS X 10.2

On:

  • iničuje disky (píše GPT, tabuľku oddielov GUID)
  • vytvára oddiely (EFI, primárny) pomocou "zdravého rozumu" (na najlepšie využitie disku)
  • označuje spúšťací oddiel (nastavuje na ňom bootable flag)
  • kopíruje súbory

Inými slovami, robí "všetko" bez zbytočného obťažovania používateľa.

Na druhej strane je Installer pre Haiku, ktorý jednoducho kopíruje súbory a necháva používateľovi všetko ostatné, príliš zložitý, s čím sa aj so skúsenosťami nedá hneď poradiť. Osobitne ak je potrebný systém, ktorý sa spúšťa ako na systémoch s BIOS, tak aj na EFI.

Čo mám robiť?

Presne nepoviem, ale v každom prípade, predpokladám toto:

  1. Otvorím DriveSetup
  2. Vyberiem zariadenie na inštaláciu
  3. Disk->Iniciovať->GUID Partition Map…->Pokračovať->Uložiť zmeny->OK
  4. Pravý klik na prázdne miesto na zariadení, na ktoré sa systém nainštaluje
  5. Vytvoriť…->Vkladám 256 ako veľkosť->EFI system data (nie som si úplne istý)->Uložiť zmeny
  6. Pravý klik na "EFI system data" na zariadení, na ktoré sa systém nainštaluje
  7. Iniciovať->FAT32 File System…->Pokračovať->Vkladám meno: "EFI", rozlíšenie FAT: 32->Formátovať->Uložiť zmeny
  8. Opakujem pravý klik na prázdne miesto na požadovanom zariadení
  9. Vytvoriť…->Vkladám názov oddielu: Haiku, typ oddielu: Be File System->Vytvoriť->Uložiť zmeny
  10. Pravý klik na EFI->Pripojiť
  11. Spúšťam Installer->zmätený technoslangom->Pokračovať->Na disk: Haiku (ujistil som sa, že je to ten istý oddiel, ktorý som vytvoril predtým)->Nainštalovať
  12. V správcovi súborov kopírujem adresár EFI z aktuálneho systému na oddiel EFI (predpokladám, že to je potrebné na spúšťanie z EFI)
  13. [pozn. prekladateľa: túto položku som z prekladu vynechal; stručne — autor nezvládol vytvorenie hybridného systému pre spúšťanie ako EFI, tak aj BIOS]
  14. vypínam
  15. pripojujem novovytvorený disk do portu, z ktorého sa systém určite spustí [čudné, ja som to robiť nemusel. — pozn. prekladateľa]
  16. zapínam

Myslím, že je jasné, že potrebujeme nástroj, ktorý urobí všetko na jedno kliknutie, so včasným (!) potvrdením, že zariadenie môžeme vymazať.

„Rýchle“ riešenie: vytvoriť automatický inštalátor, ktorý urobí všetko.

No, aj keď to nemusí byť „rýchle“, malo by to byť dôstojné. Veď sú to prvé dojmy z nového systému. Ak sa inštalácia nepodarí (a to sa mi už stalo niekoľkokrát) – mnohí jednoducho potichu odídu navždy.

Technické vysvetlenie ohľadom DriveSetup podľa PulkoMandy

BootManager zapisuje plnohodnotné spúšťacie menu, vrátane možnosti spúšťať niekoľko systémov z disku, na to mu stačí iba približne 2kB na začiatku disku. To je dobré pre staršie schémy rozdelenia disku, ale nie pre GPT, ktoré používa tie isté sektory na tabuľku oddielov. Na druhej strane writembr zapisuje značne zjednodušený kód na disk, ktorý jednoducho nájde aktívny oddiel a pokračuje v spúšťaní z neho. Tomuto kódu stačí 400 prvých bajtov na disku, takže sa neprekrýva s GPT. Má obmedzenú podporu diskov s rozdelením GPT (ale pre jednoduché prípady to bude fungovať ako má).

Rýchle riešenie: nech GUI na nastavenie BootManageru zapisuje na disk všetko, čo sa inštaluje pomocou writembr, ak sa zistí rozdelenie GPT. Nie je potrebné zapisovať kód s veľkosťou 2kB na disky GPT. Nie je potrebné nastavovať bootovateľnú značku na oddiel EFI, len na oddiel Haiku.

Prvý pokus: kernel panic

Zariadenie

  • Acer TravelMate B117 N16Q9 (predával sa s EndlessOS)
  • lspci
  • lsusb
  • existujúci systém bol spustený z USB kľúča Kingston DataTraveler 100 s veľkosťou 16GB, vytvoreného z Anyboot obrazu pomocou Etcher na Linuxe, vloženého do portu USB2.0 (pretože sa nenačítaval z portu USB3)
  • SSD Kingston A400 s veľkosťou 120GB, len z fabriky, pripojený v adaptéri sata-usb3 ASMedia ASM2115, ktorý je pripojený do portu USB3 v TravelMate B117.

Výsledky

Inštalátor spustil kopírovanie súborov, potom sa objavila chyba vstupu-výstupu, sprevádzaná kernel panic.

Môj štvrtý deň s Haiku: problémy s inštaláciou a spúšťaním
kernel panic

Druhý pokus: nenačítateľný disk

Zariadenie

Všetko ako predtým, ale SSD je pripojený v adaptéri, ktorý je pripojený do USB2.0 Hubu, ktorý je zasunutý do portu USB3 v TravelMate. Skontroloval som pomocou inštalačného USB kľúča s Windows, že tento stroj sa načítava z USB3.

Výsledky

Nenačítateľný systém. Rozdelenie disku akoby sa pokazilo kvôli BootManageru.

Môj štvrtý deň s Haiku: problémy s inštaláciou a spúšťaním
BootManager. „Write boot menu“ čo, ničí rozdelenie disku?!

Tretí pokus: wow, spúšťa sa! Ale nie cez port USB3 na tomto zariadení.

Zariadenie

Všetko ako pri druhej pokus, ale tentokrát nepoužívam BootManager vôbec.
Rozloženie bez spustenia BootManager vyzerá takto, ak to kontrolujete z Linuxu.

Môj štvrtý deň s Haiku: problémy s inštaláciou a spúšťaním
Oddiel „efi“ s FAT32 súborovým systémom je označený ako zavádzací bez spustenia BootManager. Na ne-EFI stroji sa spustí?

Výsledky

  • Režim EFI, port USB2: spúšťa sa priamo do Haiku.
  • Režim EFI, USB2 hub pripojený do portu USB3: Správa „no boot path found, scan for all partitions…“, po ktorej nasleduje zavádzacia obrazovka s „Select boot volume (Current: haiku)“. Tlačidlo „Continue booting“ je šedé, nedá sa kliknúť. Ak vyberiem v zozname „Select Boot Volume“ -> Haiku (Current: Latest state) -> Latest state -> Return to main menu -> Continue booting — spúšťa sa priamo do Haiku. Zaujímavé, prečo sa nemôže „len tak spustiť“ a vyžaduje si tanec okolo? O to viac, že na zavádzacej obrazovke bol jasne automaticky nájdený zavádzací oddiel. Programová chyba?
  • Režim EFI, port USB3: spúšťa sa priamo do Haiku. Ach, akú mám radosť… Príliš skoro, ako sa ukázalo. Zobrazuje sa modrá obrazovka, ale dlho sa nič nedeje. Ukazovateľ „prst“ visí uprostred obrazovky a nehýbe sa. Adaptér sata-usb3 bliká. Záležitosť skončila kernel panic. Obraz Anyboot na USB3 kľúči nebol ani rozpoznaný ako zavádzací na súčasnom zariadení. No, to teda je bug! Pokiaľ ide o to, založil som žiadosť.

Môj štvrtý deň s Haiku: problémy s inštaláciou a spúšťaním
Kernel panic pri spustení z portu USB3.

Čo je zaujímavé — stále mám možnosť zadávať príkazy, ale budem musieť použiť anglickú klávesnicu. Takže robím ako odporúčali:

Môj štvrtý deň s Haiku: problémy s inštaláciou a spúšťaním
popis k obrázku: výstup syslog | tail 15 — zatiaľ čo jadro panikári

Volanie príkazu reboot, žiaľ, nefunguje.

Štvrtý pokus: druhý stroj

Preniesol som rovnaký (presne funkčný) disk na iný stroj, kde som skontroloval prácu s rôznymi portami.

Zariadenie

Všetko to isté ako pri treťom pokuse, ale na Acer Revo One RL 85.

Výsledky

  • Režim EFI, port USB2: Správa „no boot path found, scan for all partitions…“, po ktorej nasleduje zavádzacia obrazovka s „Select boot volume (Current: haiku)“. Tlačidlo „Continue booting“ je šedé, nedá sa kliknúť. Ak vyberiem v zozname „Select Boot Volume“ -> Haiku (Current: Latest state) -> Latest state -> Return to main menu -> Continue booting — spúšťa sa priamo do Haiku. Vypnutie zamrzne na správe „Shutting down…“.
  • Režim EFI, USB2 hub pripojený do portu USB3: je potrebné upresnenie.
  • Režim EFI, USB3 port: Správa „no boot path found, scan for all partitions…“, po čom sa zobrazuje bootovací displej s „Select boot volume (Current: haiku)“. Tlačidlo „Continue booting“ je šedé a nedá sa stlačiť. Ak vyberiete v zozname „Select Boot Volume“ -> Haiku (Current: Latest state)>Latest state ->Return to main menu->Continue booting — načíta sa priamo do Haiku.
    Upozorňujem, že na rozdiel od prvej systému sa načíta normálne až na pracovnú plochu bez kernel panic. Vypnutie zamrzne na správe „Shutdown in progress“.
  • Režim EFI, sata port: Načíta sa priamo do Haiku. Vypnutie zamrzne na správe „Shutting down…“.
  • Režim CSM BIOS, USB2 port: potrebné upresniť
  • Režim CSM BIOS, USB2 hub pripojený do USB3 portu: potrebné upresniť
  • Režim CSM BIOS, USB3 port: potrebné upresniť
  • Režim CSM BIOS, sata port: Čierna obrazovka s nápisom „Reboot and Select proper Boot Device or Insert Boot Media in selected device and press a key“. Prišlo to z CSM BIOS? [Áno, presne takú istú správu vyhodí moja sústava, ak nenájde zavádzač. — pozn. prekladateľa]

Päťdesiata snaha: tretí stroj

Presunul som tento istý disk na tretí stroj a skontroloval na rôznych portoch.

Zariadenie

To isté, čo pri tretej snahe, ale na Dell Optiplex 780. Ak sa nemýlim, na tomto stroji je starší EFI, ktorý zrejme stále funguje v režime CSM BIOS.

Výsledky

  • USB2 port: načítanie Haiku
  • USB3 port (cez PCIe kartu, Renesas Technology Corp. uPD720202 USB 3.0 Host Controller): potrebné upresniť
  • sata port: potrebné upresniť

Šesťdesiata snaha, štvrtý stroj, MacBook Pro

Zariadenie

Všetko je to isté ako pri tretej snahe, ale s MacBookPro 7.1

Výsledky

Môj štvrtý deň s Haiku: problémy s inštaláciou a spúšťaním
Ako Mac rozpoznáva flash disk s Haiku.

  • Režim CSM („Windows“): čierna obrazovka s nápisom „No bootable drive — insert boot disk and press any key“. Prišlo to od Apple CSM?
  • Režim UEFI („EFI Boot“): zastaví sa na obrazovke výberu zavádzacieho zariadenia.

Siedma snaha, netbook Lenovo s 32-bitovým procesorom Atom

Zariadenie

  • Flash disk Kingston DataTraveler 100 s kapacitou 16 GB, vytvorený na Linuxe pomocou Etcher, využívajúc 32-bitový obraz Anyboot odtiaľto.

  • Netbook Lenovo ideapad s10 založený na procesore Atom bez pevného disku.

  • lspci tohto stroja, zaznamenané na linuxe.

  • 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

Nahráva sa, potom nastáva kernel panic, tím syslog|tail 15 výstupy kDiskDeviceManager::InitialDeviceScan() zlyhalo: Súbor alebo adresár neexistuje po niekoľkých chybách ATA. Poznámka: Snažil som sa bootovať z USB, nie zo SATA.

Môj štvrtý deň s Haiku: problémy s inštaláciou a spúšťaním
Kernel panic na netbooku Lenovo ideapad s10 pri bootovaní z flash disku.

Pre zábavu som vložil disk do portu SATA, ale nijaké významné rozdiely s flash diskom som si nevšimol. Aj keď som dostal rôzne správy pri použití príkazu syslog|tail 15 (povedalo, že našlo /dev/disk/ata/0/master/1).

mr. waddlesplash žiadajte ma vykonať príkaz `syslog | grep usb pre tento prípad, takže tu sú výsledky. Stále ma teší, že môžem spúšťať takéto príkazy na obrazovke s kernel panic.

Môj štvrtý deň s Haiku: problémy s inštaláciou a spúšťaním
Môj štvrtý deň s Haiku: problémy s inštaláciou a spúšťaním

Podľa pána waddlesplash je tento problém EHCI rovnaký ako v tejto žiadosti

Ôsmy pokus: netbook MSI s 32-bitovým procesorom Atom

Zariadenie

Ako predtým

  • Netbook Medion Akoya E1210 (pod značkou MSI Wind U100) s nainštalovaným diskom (ktorý nepoužívam pre Haiku).
  • lspci tento stroj
  • lsusb tohto stroja
    00:1d.7 USB ovládač: Intel Corporation NM10/ICH7 Family USB2 EHCI Controller (rev 02) (prog-if 20 [EHCI])
    Subsystem: Micro-Star International Co., Ltd. [MSI] 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 dff40400 (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
    Jadrový ovládač v použití: ehci-pci

Výsledky

Nahráva sa do inštalátora Haiku. TouchPad funguje! (napríklad rolovanie). Grafická karta bola rozpoznaná ako Intel GMA (i945GME).

Deviaty pokus: flash disk s 32-bitovým obrazom na MacBook Pro

Zariadenie

  • Ako predtým.
  • MacBook 7.1

Výsledky

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

Poznámka: klávesnica Apple

V ľavom dolnom rohu akejkoľvek klávesnice na dolnom rade sú nasledujúce tlačidlá:
ne-Apple: Ctrl-Fn-Windows-Alt-Spacebar
Apple: Fn-Ctrl-(Option alebo Alt)-Command-Spacebar

Bolo by skvelé, keby všetky klávesnice v Haiku fungovali rovnako, aby sa dali používať rovnako, bez ohľadu na to, čo je na nich skutočne napísané.
Na klávesnici Apple tlačidlo Alt nie je hneď vedľa medzerníka (namiesto neho je tam tlačidlo Command).
V takom prípade by som zistil, že v Haiku sa automaticky používa tlačidlo Command namiesto tlačidla Alt. Takže pri práci na klávesnici Apple by som mal pocit, že klávesnica je ne-Apple.
Je jasné, že v nastaveniach sú rôzne možnosti, ale bolo by dobré, keby sa automaticky rozpoznávali a prispôsobovali, veď to je nakoniec USB.

Poznámka: je writembr na obnovenie?

Počul som, že pomocou príkazu writembr je možné urobiť systém (fungujúci s EFI) bootovateľným z BIOS-u.

/> 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

Vyzerá to dobre, ale systém sa stále nedá naštartovať, ako predtým. Možno preto, že zavádzanie cez BIOS funguje iba s vhodným rozložením, a nie GPT? [malo by sa skúsiť protective MBR… — pozn. prekladateľa]

Záver

Haiku je úžasné, ale na získanie skúseností s inštaláciou je potrebný vážny prístup. Okrem toho je proces zavádzania lotéria, s pravdepodobnosťou úspechu približne 1/3, a nezáleží na tom, či máš USB2 (netbook na Atome) alebo USB3 (Acer TravelMate). Ale aspoň jeden vývojár má rovnaké vybavenie. Dúfam, že moja 'nubbská' skúsenosť pomôže vývojárom pochopiť, čo potrebujú 'obyčajní smrteľníci', a taktiež urobiť výsledok rovnako elegantným ako inštalátor Mac OS X. Netreba zabúdať, že to nie je ani verzia 1.0, takže je to veľmi fajn!

Vyskúšajte sami! Projekt Haiku poskytuje obrazy na stiahnutie z DVD alebo USB, generované každý deň. Na inštaláciu stačí stiahnuť obraz a napáliť ho na USB kľúč pomocou Etcher

Vyskytli sa otázky? Pozývame vás do ruského telegramového kanála.

Prehľad chýb: Ako si vystreliť nohu v C a C++. Zborník receptov Haiku OS

Od autora prekladu: toto je štvrtý článok z cyklu o Haiku.

Zoznam článkov: Prvá Druhá Tretia

Zdroj: habr.com

Kúpte si spoľahlivý hosting pre webové stránky s ochranou proti DDoS, VPS VDS servery 🔥 Kúpte si spoľahlivý hosting pre webové stránky s ochranou proti DDoS, VPS VDS servery | ProHoster