Четвърти ден с Haiku: проблеми с инсталирането и зареждането

Четвърти ден с Haiku: проблеми с инсталирането и зареждането

TL;DR: след няколко дни експерименти с Хайку реших да я инсталирам на отделен SSD. Но всичко не се оказа толкова просто.

Четвърти ден с Haiku: проблеми с инсталирането и зареждането
Тече активна работа по проверка на зареждането на Haiku.

Преди три дни научих за Haiku, неочаквано добра операционна система за PC. Четвъртият ден е тук и искам да направя повече «реална работа» с тази система, а разпределението в образа Anyboot е твърде малко за целта. Вземам нов SSD с капацитет 120Гб, подготвям се за гладка работа на инсталатора… И ме очаква разочарование!

На инсталацията и зареждането обикновено се отделя голямо внимание и любов, защото те са първите и най-важни впечатления. Има надежда, че протоколът на моя опит «новак» ще бъде полезен за екипа на разработчиците на Haiku в техните постоянни усилия за отстраняване на проблеми с операционната система, която «просто работи». Взимам всички грешки на себе си!
Както ми изглежда, особено важна ще бъде ситуацията при зареждането по USB, тъй като не всеки потребител е готов да използва основния SATA диск (да не споменавам NVME…) за експерименти с напълно непозната операционна система. Смятам, че зареждането по USB е най-вероятният сценарий за повечето потребители, решаващи да изпробват Haiku на истинско оборудване. Разработчиците трябва сериозно да обърнат внимание на това.

Коментар на разработчика:

Току-що започнахме подкрепата за EFI, бързо написахме бета версия, която зарежда на машини с поддръжка на EFI. Досегашните резултати са далеч от желаното ниво на поддръжка. Не знам дали трябва да документираме текущата работа или просто да се фокусираме върху постигането на задоволителен резултат, а след това да документираме всичко.

Звучи смислено и има надежда, че в крайна сметка всичко ще бъде много по-добро, отколкото сега. В момента мога само да проверя това, което е направено до днес. Нека започнем...

Образът Anyboot е твърде малък

Въпреки че образът Anyboot изумително лесно се записва на обикновена флашка, в него няма достатъчно място на разпределението с Haiku за инсталация на допълнителен софтуер.

Четвърти ден с Haiku: проблеми с инсталирането и зареждането
Записването на образа Anyboot на флашка е в принцип достатъчно просто, но в резултат на това няма достатъчно място за реална работа.

Бързо решение: увеличете размера на разпределението Haiku по подразбиране.

Така че, за реална работа с Haiku, все пак трябва да го инсталирате с помощта на приложението Installer.

Installer не прави всичко необходимо на едно място

Помните ли великолепния инсталатор на Mac OS X?

Четвърти ден с Haiku: проблеми с инсталирането и зареждането
Инсталаторът Mac OS X 10.2

Той:

  • инициализира дисковете (пише GPT, таблица на разделите GUID)
  • създава разделите (EFI, основен), използвайки "здрав разум" (за оптимално използване на диска)
  • означава стартовия раздел (поставя bootable флага на него)
  • копира файловете

С други думи, той прави "всичко" без излишни притеснения за потребителя.

От друга страна, има Installer за Haiku, който просто копира файлове и оставя на потребителя да се справя с всичко останало, твърде сложно, за което дори опитен потребител не може да се справи веднага. Особено ако е необходима система, зареждаща се и на BIOS, и на EFI.

Какво да правя?

Не мога да кажа със сигурност, но предполагам следното:

  1. Да отворя DriveSetup
  2. Да избера устройството за инсталиране
  3. Диск->Инициализиране->GUID Partition Map…->Продължи->Запиши промените->OK
  4. Десен клик на празно място в устройството, където ще бъде инсталирана системата
  5. Създай…->Поставям 256 като размер->EFI system data (не съм напълно сигурен)->Запиши промените
  6. Десен клик на "EFI system data" на устройството, където ще бъде инсталирана системата
  7. Инициализиране->FAT32 File System…->Продължи->Поставям име: "EFI", разрядност FAT: 32->Форматирай->Запиши промените
  8. Повтарям десен клик на празно място на необходимото устройство
  9. Създай…->Поставям име на раздела: Haiku, тип на раздела: Be File System->Създай->Запиши промените
  10. Десен клик на EFI->Прикачи
  11. Стартирам Installer->развълнуван от техносленговете->Продължи->На диск: Haiku (уверих се, че това е същият раздел, който създадох преди)->Инсталирай
  12. В файловия мениджър копирам каталога EFI от текущата система на раздела EFI (предполагам, че това е нужно за зареждане от EFI)
  13. [прим. на преводача: премахнах този пункт от превода; накратко — авторът не е успял да създаде хибридна система за зареждане и на EFI, и на BIOS]
  14. изключвам
  15. прикрепям новосъздадения диск в порта, от който системата със сигурност ще се зареди [странно, не се наложи да направя това. — прим. на преводача]
  16. включвам

Мисля, че е ясно: необходим е инструмент, който да извърши всичко с едно натискане на бутона, с навременно (!) потвърждение, че устройството може да бъде изтрито.

„Бързо“ решение: да се направи автоматичен инсталатор, който да прави всичко.

Дори и да не е „бързо“, то все пак е достойно. В крайна сметка, това са първите впечатления от новата система. Ако не успея да инсталирам (а така ми се е случвало няколко пъти) — много просто ще си тръгнат завинаги.

Техническо пояснение относно DriveSetup съгласно PulkoMandy

BootManager записва напълно функционално меню за зареждане, включително възможността за зареждане на множество системи от диска, за което му е нужен само около 2кб в началото на диска. Това е подходящо за стари схеми за разпределение на диска, но не и за GPT, който използва същите сектори за таблицата на дяловете. От друга страна, writembr записва значително опростен код на диска, който просто ще намери активния дял и ще продължи зареждането от него. На този код му трябват само 400 първи байта на диска, така че не се прескача с GPT. Има ограничена поддръжка на дискове с разпределение GPT (но за простите случаи всичко ще е както трябва).

Бързо решение: нека GUI за настройка на BootManager да поставя на диска всичко, което се инсталира с writembr, ако бъде открита конфигурация GPT. Не е нужно да се поставя код с размер 2кб на дискове GPT. Не е нужно да се задава флаг за допустимост на дяла EFI, само на дяла Haiku.

Първи опит: kernel panic

Оборудване

  • Acer TravelMate B117 N16Q9 (продаван с EndlessOS)
  • lspci
  • lsusb
  • Съществуващата система е била стартирана от флашка Kingston DataTraveler 100 с размер 16гб, направена от Anyboot образ с помощта на Etcher на Linux, включена в USB2.0 порт (тъй като не се е зареждала от USB3 порт)
  • SSD Kingston A400 с размер 120гб, само от завода, свързан в адаптер sata-usb3 ASMedia ASM2115, който е свързан в USB3 порт в TravelMate B117.

Резултати

Инсталаторът стартира копирането на файлове, след това излиза грешка при въвеждане-извеждане, съпроводена от kernel panic.

Четвърти ден с Haiku: проблеми с инсталирането и зареждането
kernel panic

Втори опит: неизтегляем диск

Оборудване

Всичко както преди, но SSD е свързан в адаптер, който е свързан в USB2.0 Hub, включен в USB3 порт в TravelMate. Проверих с помощта на инсталационна флашка с Windows, че тази машина се зарежда от USB3.

Резултати

Неизтегляема система. Конфигурацията на диска изглежда сякаш е слетяла заради BootManager.

Четвърти ден с Haiku: проблеми с инсталирането и зареждането
BootManager. „Запиши менюто за зареждане“ какво, руши конфигурацията на диска?!

Трети опит: о, чудо, то се зарежда! Но не през USB3 порта на тази машина.

Оборудване

Все още е така, както и при втория опит, но този път не използвам изобщо BootManager.
Разметката без стартиране на BootManager изглежда по този начин, ако я проверявате от Linux.

Четвърти ден с Haiku: проблеми с инсталирането и зареждането
Разделът «efi» с файлова система FAT32 е обозначен като стартиращ без стартиране на BootManager. Ще се стартира ли на машина без EFI?

Резултати

  • Режим EFI, USB2 порт: стартиране директно в Haiku
  • Режим EFI, USB2 хъб, свързан в USB3 порт: съобщение «no boot path found, scan for all partitions…», след което стартиращ екран с «Select boot volume (Current: haiku)». Бутонът «Continue booting» е сив, не може да се натисне. Ако избера от списъка «Select Boot Volume» -> Haiku (Current: Latest state)->Latest state ->Return to main menu->Continue booting — стартира се директно в Haiku. Интересно е защо не може «просто да се стартира», а изисква танци с бубни? Особено след като на стартиращия екран ясно е автоматично открит стартиращ раздел. Програмна грешка?
  • Режим EFI, USB3 порт: стартира се директно в Haiku. Ох, как се радвам… Преждевременно, както се оказа. Показва се син екран, но дълго време нищо не се случва. Курсорът-«палец» виси в средата на екрана и не се движи. Преходникът sata-usb3 мига. Случаят завърши с kernel panic. Образът Anyboot на флашката USB3 дори не беше разпознат като стартиращ на текущото оборудване. О, да, това е bug! По този повод заведох заявка.

Четвърти ден с Haiku: проблеми с инсталирането и зареждането
Kernel panic при стартиране от USB3 порта.

Учудващо е — все още мога да въвеждам команди, но ще е необходимо да използвам английска подредба. Така че, правя както съветваха:

Четвърти ден с Haiku: проблеми с инсталирането и зареждането
подпис под картинката: изход syslog | tail 15 — докато ядрото паникьосва

Извикване на команда reboot, за съжаление, не работи.

Четвърти опит: втори компютър

Прехвърлих такъв същия (функциониращ) диск на друг компютър, където проверих работата с различни портове.

Оборудване

Всичко същото, както при третия опит, но на Acer Revo One RL 85.

Резултати

  • Режим EFI, USB2 порт: съобщение «no boot path found, scan for all partitions…», след което стартиращ екран с «Select boot volume (Current: haiku)». Бутонът «Continue booting» е сив, не може да се натисне. Ако избера от списъка «Select Boot Volume» -> Haiku (Current: Latest state)->Latest state ->Return to main menu->Continue booting — стартира се директно в Haiku. Изключването засяда на съобщението «Shutting down…».
  • Режим EFI, USB2 хъб, свързан в USB3 порт: изисква уточнение
  • Режим EFI, порт USB3: Съобщение „no boot path found, scan for all partitions…“, след което зареждащият екран с „Select boot volume (Current: haiku)“. Бутонът „Continue booting“ е сив и не може да се натисне. Ако изберете в списъка „Select Boot Volume“ -> Haiku (Current: Latest state) -> Latest state -> Return to main menu -> Continue booting — зарежда направо в Haiku.
    Обърнете внимание, че в сравнение с първата система, има нормално зареждане до работния плот без kernel panic. Изключването зацикля на съобщението „Иде изключване“.
  • Режим EFI, порт sata: Зарежда направо в Haiku. Изключването зацикля на съобщението „Shutting down…“.
  • Режим CSM BIOS, порт USB2: Нуждае се от уточнение.
  • Режим CSM BIOS, USB2 хъб, свързан в порт USB3: Нуждае се от уточнение.
  • Режим CSM BIOS, порт USB3: Нуждае се от уточнение.
  • Режим CSM BIOS, порт sata: Черен екран с надпис „Reboot and Select proper Boot Device or Insert Boot Media in selected device and press a key“. Дошло ли е от CSM BIOS? [Да, точно такова съобщение показва моята система, ако не намери зареждач. — прим. преводача]

Пета опит: трета машина.

Преместих същия диск на третата машина, проверих на различни портове.

Оборудване

Същото, като в третия опит, но на Dell Optiplex 780. Ако не се лъжа — на тази машина има ранен EFI, който очевидно винаги работи в режим CSM BIOS.

Резултати

  • Порт USB2: зареждане на Haiku.
  • Порт USB3 (чрез картата PCIe, Renesas Technology Corp. uPD720202 USB 3.0 Host Controller): Нуждае се от уточнение.
  • Порт sata: изисква уточнение.

Шести опит, четвърта машина, MacBook Pro.

Оборудване

Всичко е същото, както в третия опит, но с MacBookPro 7.1.

Резултати

Четвърти ден с Haiku: проблеми с инсталирането и зареждането
Как Mac вижда флашката с Haiku.

  • Режим CSM ("Windows"): черен екран с надпис „No bootable drive — insert boot disk and press any key“. Дошло ли е от Apple CSM?
  • Режим UEFI ("EFI Boot"): спира на екрана за избор на зареждащо устройство.

Седми опит, нетбук Lenovo с 32-битов процесор Atom.

Оборудване

  • Флашка Kingston DataTraveler 100 с капацитет 16гб, изработена на Linux с помощта на Etcher, използвайки 32-битов образ Anyboot. оттук.

  • Нетбук Lenovo ideapad s10, базиран на процесор Atom, без твърд диск.

  • lspci на тази машина., заснета на linux.

  • lsusb

    00:1d.7 USB контролер: 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 драйвер в употреба: ehci-pci

Резултати

Започва зареждане, след това се случва kernel panic, команда syslog|tail 15 извежда kDiskDeviceManager::InitialDeviceScan() неуспешно: Няма такъв файл или директория след няколко ATA грешки. Забележка: опитвах се да се зареждам от USB, а не от SATA.

Четвърти ден с Haiku: проблеми с инсталирането и зареждането
Kernel panic на нетбук Lenovo ideapad s10 при зареждане от флашка.

За забавление поставих диска в SATA порта, но не забелязах значителна разлика спрямо флашката. Въпреки това получих различни съобщения при използване на командата syslog|tail 15 (каза, че е намерил /dev/disk/ata/0/master/1).

mr. waddlesplash помоли ме да изпълня командата `syslog | grep usb за този случай, така че ето резултатите. Все още съм доволен, че мога да изпълнявам подобни команди на екрана с kernel panic.

Четвърти ден с Haiku: проблеми с инсталирането и зареждането
Четвърти ден с Haiku: проблеми с инсталирането и зареждането

Според г-н waddlesplash тази грешка EHCI е същата, като в този доклад

Осмата опит: нетбук MSI с 32-битов процесор Atom

Оборудване

Както и преди

  • Нетбук Medion Akoya E1210 (под марката MSI Wind U100) с инсталиран диск (който не използвам за Haiku).
  • lspci тази машина
  • lsusb на тази машина
    00:1d.7 USB контролер: Intel Corporation NM10/ICH7 Семейство USB2 EHCI контролер (rev 02) (prog-if 20 [EHCI])
    Подсистема: Micro-Star International Co., Ltd. [MSI] NM10/ICH7 Семейство USB2 EHCI контролер
    Контрол: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx-
    Статус: Cap+ 66MHz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- SERR- <PERR- INTx-
    Задержка: 0
    Интерупт: pin A свързан към IRQ 23
    Регион 0: Памет на dff40400 (32-битова, не-префетчируема) [размер=1K]
    Възможности: [50] Управление на мощността версия 2
        Флагове: PMEClk- DSI- D1- D2- AuxCurrent=375mA PME(D0+,D1-,D2-,D3hot+,D3cold+)
        Статус: D0 NoSoftRst- PME-Enable- DSel=0 DScale=0 PME-
    Възможности: [58] Порт за отстраняване на грешки: BAR=1 offset=00a0
    Ядрен драйвер в употреба: ehci-pci

Резултати

Зарежда се в инсталатора на Haiku. Работи TouchPad! (например, скролиране). Видеокартата беше разпозната като Intel GMA (i945GME).

Девета опит: флашка с 32-битов образ на MacBook Pro

Оборудване

  • Както и преди.
  • MacBook 7.1

Резултати

Черен екран с надпис „No bootable drive — insert boot disk and press any key“.

Забележка: клавиатура Apple

В левия долен ъгъл на всяка клавиатура на долния ред има следните бутони:
не-Apple: Ctrl-Fn-Windows-Alt-Spacebar
Apple: Fn-Ctrl-(Option или Alt)-Command-Spacebar

Би било чудесно, ако всички клавиатури в Haiku се държаха еднакво, за да могат да се използват по един и същ начин, независимо от това, какво всъщност е изписано върху тях.
На клавиатурата Apple бутонът Alt не е веднага отляво на интервала (вместо него там е клавишът Command).
В този случай бих открил, че в Haiku автоматично ще се използва клавишът Command вместо клавишът Alt. Така че, работейки на клавиатура Apple, бих усещал, че клавиатурата е не-Apple.
Очевидно, в настройките има различни опции, но бих искал автоматично разпознаване и настройка, все пак е USB, в крайна сметка.

Забележка: writembr за възстановяване?

Чух, че с командата writembr може да се направи системата (работеща с EFI) да се стартира от BIOS.

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

Изглежда добре, но все още не може да се стартира системата, както и преди. Може би, защото стартирането от BIOS работи само с подходяща разметка, а не с GPT? [трябва да опитам protective MBR… — прим. преводача]

Заключение

Haiku е удивителен, но за да придобия опит с инсталацията е нужен сериозен подход. Освен това процесът на стартиране е лотария с шансове за успех около 1/3, независимо дали имате USB2 (нетбук на Atom) или USB3 (Acer TravelMate). Но поне, един от разработчиците има същото оборудване. Надявам се моят 'нубски' опит да помогне на разработчиците да разберат какво е необходимо на 'обикновените смъртни', а също така да направят резултата толкова елегантен, колкото инсталатора на Mac OS X. Не бива да забравяме, че това дори не е версия 1.0, така че всичко е наистина добре!

Опитайте сами! Проектът Haiku предоставя образи за зареждане от DVD или USB, генерирани ежедневно. За инсталиране е достатъчно да изтеглите образа и да го запишете на флашка с помощта на Etcher

Имате ли въпроси? Присъединете се към нашия руски telegram-канал.

Преглед на грешките: Как да си простреляте крака в C и C++. Сборник рецепти Haiku OS

От автора превод: това е четвъртата статия от цикъла за Haiku.

Списък на статии: Първата Втора Трети

Източник: habr.com

Купете надежден хостинг за сайтове с защита от DDoS, VPS VDS сървъри 🔥 Купете надежден хостинг за сайтове с защита от DDoS, VPS VDS сървъри | ProHoster