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

Probíhá intenzivní práce na kontrole zavádění Haiku.
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.

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?

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:
- Otevřít DriveSetup
- Vybrat zařízení pro instalaci
- Disk->Inicializovat->GUID Partition Map…->Pokračovat->Zapsat změny->OK
- Pravé kliknutí na prázdné místo na zařízení, na které bude systém nainstalován
- Vytvořit…->Zadám 256 jako velikost->EFI system data (nejsem si úplně jistý)->Zapsat změny
- Pravé kliknutí na „EFI system data“ na zařízení, na které bude systém nainstalován
- Inicializovat->FAT32 File System…->Pokračovat->Zadám název: „EFI“, bitová hloubka FAT: 32->Formátovat->Zapsat změny
- Opakuji pravé kliknutí na prázdné místo na potřebném zařízení
- Vytvořit…->Zadám název oddílu: Haiku, typ oddílu: Be File System->Vytvořit->Zapsat změny
- Pravé kliknutí na EFI->Připojit
- 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
- 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)
- [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]
- vypínám
- 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]
- 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
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)
- 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.

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.

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.

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 .

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 :

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

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. .
Netbook Lenovo Ideapad S10 založený na procesoru Atom bez pevného disku.
, 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.

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).
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.


Podle mr. waddlesplash je tato chyba EHCI stejná jako v
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).
- 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 OKVypadá 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 . Pro instalaci stačí stáhnout obraz a zapsat ho na flash disk pomocí
Máte otázky? Zveme vás do rusky mluvícího .
Přehled chyb:
Od překladu: toto je čtvrtý článek z cyklu o Haiku.
Seznam článků:
Zdroj: habr.com
