Mój czwarty dzień z Haiku: problemy z instalacją i uruchamianiem

Mój czwarty dzień z Haiku: problemy z instalacją i uruchamianiem

TL;DR: po kilku dniach eksperymentów z Haiku postanowiłem zainstalować ją na osobnym SSD. Ale to wszystko okazało się nie takie proste.

Mój czwarty dzień z Haiku: problemy z instalacją i uruchamianiem
Trwa intensywna praca nad sprawdzaniem uruchamiania Haiku.

Trzy dni temu dowiedziałem się o Haiku, niespodziewanie dobrej systemie operacyjnym dla PC. Mamy czwarty dzień i chciałem wykonać więcej «prawdziwej pracy» z tym systemem, a partycja dostarczana w obrazie Anyboot jest zbyt mała. Więc chwytam w rękę nowiutki SSD o pojemności 120 GB, przygotowuję się do płynnej pracy instalatora… A czeka mnie rozczarowanie!

Instalacja i uruchamianie zazwyczaj wymagają szczególnej uwagi i miłości, ponieważ to pierwsze i najważniejsze wrażenia. Mam nadzieję, że protokół mojego „nowicjusza” okaże się pomocny dla zespołu programistów Haiku w ich ciągłych wysiłkach na rzecz debugowania systemu operacyjnego, który „po prostu działa”. Przyjmuję wszystkie błędy na siebie!
Uważam, że szczególnie ważna będzie sytuacja z uruchamianiem przez USB, ponieważ nie każdy użytkownik jest gotowy używać głównego dysku SATA (nie mówiąc o NVME…) do eksperymentowania z całkowicie nieznanym systemem operacyjnym. Uważam, że uruchamianie przez USB to najbardziej prawdopodobny scenariusz dla większości użytkowników, którzy postanowili przetestować Haiku na realnym sprzęcie. Programiści powinni się temu poważnie przyjrzeć.

Komentarz dewelopera:

Dopiero zaczęliśmy wsparcie dla EFI, szybko pisząc wersję beta, która uruchamia się na maszynach z obsługą EFI. Osiągnięte wyniki są na razie dalekie od pożądanego poziomu wsparcia. Nie wiem, czy powinniśmy dokumentować obecną pracę, czy po prostu skupić się na osiągnięciu odpowiedniego rezultatu, a później już wszystko udokumentować.

Brzmi sensownie i jest nadzieja, że ostatecznie wszystko będzie o wiele lepsze niż teraz. Na razie mogę jedynie sprawdzić to, co zostało zrobione do dzisiaj. Zaczynamy…

Obraz Anyboot jest zbyt mały

Pomimo że obraz Anyboot jest zaskakująco łatwy do napisania na zwykłym pendrive, brakuje w nim wystarczająco miejsca w partycji z Haiku na instalację dodatkowego oprogramowania.

Mój czwarty dzień z Haiku: problemy z instalacją i uruchamianiem
Wypalenie obrazu Anyboot na pendrive jest w zasadzie dość proste, ale w efekcie brakuje miejsca na realną pracę.

Szybkie rozwiązanie: zwiększyć domyślny rozmiar partycji Haiku.

Aby pracować z Haiku, musisz je zainstalować za pomocą aplikacji Installer.

Installer nie wykonuje wszystkiego w jednym miejscu.

Pamiętasz znakomity instalator Mac OS X?

Mój czwarty dzień z Haiku: problemy z instalacją i uruchamianiem
Instalator Mac OS X 10.2

On:

  • inicjuje dyski (pisze GPT, tabelę partycji GUID)
  • tworzy partycje (EFI, główną) używając „zdrowego rozsądku” (dla jak najlepszego wykorzystania dysku)
  • oznacza partycję rozruchową (ustawia na niej flagę bootable)
  • kopiuje pliki

Innymi słowy, robi „wszystko” bez zbędnych zawirowań dla użytkownika.

Z drugiej strony jest Installer dla Haiku, który po prostu kopiuje pliki i zostawia użytkownikowi wszystkie inne, zbyt złożone aspekty, które nawet przy doświadczeniu bywają mylące. Szczególnie, gdy potrzebny jest system, który działa jak na systemach BIOS, tak i na EFI.

Co zatem zrobić?

Nie mogę tego dokładnie powiedzieć, ale w każdym razie zakładam, że:

  1. Otwórz DriveSetup
  2. Wybierz urządzenie do instalacji
  3. Dysk->Zainicjuj->GUID Partition Map…->Kontynuuj->Zapisz zmiany->OK
  4. Kliknij prawym przyciskiem myszy w puste miejsce na urządzeniu, na które zainstalujesz system
  5. Utwórz…->Wprowadzam 256 jako rozmiar->EFI system data (nie jestem tego w pełni pewien)->Zapisz zmiany
  6. Kliknij prawym przyciskiem myszy na „EFI system data” na urządzeniu, na które zainstalujesz system
  7. Zainicjuj->FAT32 File System…->Kontynuuj->Wprowadzam nazwę: „EFI”, rozmiar FAT: 32->Formatuj->Zapisz zmiany
  8. Powtarzam kliknięcie prawym przyciskiem myszy w pustym miejscu na odpowiednim urządzeniu
  9. Utwórz…->Wprowadzam nazwę partycji: Haiku, typ partycji: Be File System->Utwórz->Zapisz zmiany
  10. Kliknij prawym przyciskiem myszy na EFI->Podłącz
  11. Uruchamiam Installer->przytłoczony technosłownictwem->Kontynuuj->Na dysk: Haiku (upewniłem się, że to ta sama partycja, którą stworzyłem wcześniej)->Zainstaluj
  12. W menedżerze plików kopiuję katalog EFI z obecnego systemu na partycję EFI (zakładam, że to potrzebne do rozruchu z EFI)
  13. [przyp. tłumacza: usunąłem ten punkt z tłumaczenia; mówiąc krótko — autor nie do końca ogarnął tworzenie hybrydowego systemu do rozruchu zarówno EFI, jak i BIOS]
  14. wyłączam
  15. podłączam nowo utworzony dysk do portu, z którego system na pewno się uruchomi [dziwne, tego nie musiałem robić. — przyp. tłumacza]
  16. włączam

Wydaje się, że jest oczywiste: potrzebne narzędzie, które wszystko zrobi za jednym naciśnięciem przycisku, z terminowym (!) potwierdzeniem, że można wymazać urządzenie.

"Szybkie" rozwiązanie: stworzyć automatyczny Installer, który zrobi wszystko.

Cóż, nawet jeśli nie "szybkie", to godne. To pierwsze wrażenia z nowego systemu. Jeśli nie da się zainstalować (a mi się to zdarzyło kilka razy) — wielu po prostu odejdzie na zawsze.

Wyjaśnienie techniczne dotyczące DriveSetup zgodnie z PulkoMandy

BootManager zapisuje pełnoprawne menu rozruchowe, w tym możliwość uruchamiania kilku systemów z dysku, do tego wystarczy tylko około 2kB na początku dysku. To działa dla starych schematów partycji, ale nie dla GPT, który używa tych samych sektorów dla tablicy partycji. Z drugiej strony writembr zapisuje znacznie uproszczony kod na dysk, który po prostu znajdzie aktywną partycję i wznowi rozruch z niej. Ten kod potrzebuje tylko 400 pierwszych bajtów na dysku, więc nie koliduje z GPT. Ma ograniczone wsparcie dla dysków z partycjonowaniem GPT (ale w prostych przypadkach wszystko będzie w porządku).

Szybkie rozwiązanie: niech GUI do konfiguracji BootManager umieszcza na dysku wszystko, co jest instalowane za pomocą writembr, jeśli zostanie wykryta partycja GPT. Nie ma potrzeby umieszczania kodu o wielkości 2kB na dyskach GPT. Nie ma potrzeby ustawiać flagi bootable na partycji EFI, tylko na partycji Haiku.

Pierwsza próba: kernel panic

Sprzęt

  • Acer TravelMate B117 N16Q9 (sprzedawany z EndlessOS)
  • lspci
  • lsusb
  • istniejący system został uruchomiony z pendrive'a Kingston DataTraveler 100 o pojemności 16GB, stworzonego z Anyboot obrazu za pomocą Etcher na Linuksie, włożonego do portu USB2.0 (ponieważ nie ładował się z portu USB3)
  • SSD Kingston A400 o pojemności 120GB, zupełnie nowy, podłączony do adaptera sata-usb3 ASMedia ASM2115, który jest podłączony do portu USB3 w TravelMate B117.

Wyniki

Installer uruchamia kopiowanie plików, następnie pojawia się błąd wejścia-wyjścia, towarzyszący kernel panic

Mój czwarty dzień z Haiku: problemy z instalacją i uruchamianiem
kernel panic

Druga próba: niebootowalny dysk

Sprzęt

Wszystko jak wcześniej, ale SSD podłączony do adaptera, który jest podłączony do huba USB2.0, a włożony do portu USB3 w TravelMate. Sprawdziłem za pomocą instalacyjnego pendrive'a z Windows, że ta maszyna uruchamia się z USB3.

Wyniki

Niebootowalny system. Wygląda na to, że partycja dysku została zrujnowana przez BootManager.

Mój czwarty dzień z Haiku: problemy z instalacją i uruchamianiem
BootManager. "Write boot menu" co, niszczy partycjonowanie dysku?!

Trzecia próba: wow, uruchamia się! Ale nie przez port USB3 na tej maszynie.

Sprzęt

Tak samo, jak przy drugiej próbie, ale tym razem nie używam BootManagera wcale.
Układ bez uruchomienia BootManagera wygląda tak, jeśli sprawdzasz z poziomu Linuxa.

Mój czwarty dzień z Haiku: problemy z instalacją i uruchamianiem
Sekcja „efi” z systemem plików FAT32 oznaczona jest jako startowa bez uruchamiania BootManagera. Czy uruchomi się to na maszynie nie-EFI?

Wyniki

  • Tryb EFI, port USB2: uruchamia się bezpośrednio w Haiku.
  • Tryb EFI, hub USB2 podłączony do portu USB3: Komunikat „nie znaleziono ścieżki rozruchowej, skanowanie wszystkich partycji...”, po czym ekran rozruchowy z „Wybierz wolumen rozruchowy (Bieżący: haiku)”. Przycisk „Kontynuuj uruchamianie” jest szary, nie można go wcisnąć. Jeśli wybiorę w liście „Wybierz wolumen rozruchowy” -> Haiku (Bieżący: Ostatni stan)->Ostatni stan -> Powrót do menu głównego -> Kontynuuj uruchamianie — uruchamia się bezpośrednio w Haiku. Ciekawe, dlaczego nie może „po prostu uruchomić”, a wymaga tańca z bębnem? Tym bardziej, że na ekranie rozruchowym wyraźnie automatycznie znaleziono partycję rozruchową. Błąd oprogramowania?
  • Tryb EFI, port USB3: uruchamia się bezpośrednio w Haiku. Och, jak się cieszę... Przedwcześnie, jak się okazało. Pokazuje się niebieski ekran, ale przez baaardzo długi czas nic się nie dzieje. Kursor-„palec” zawiesił się na środku ekranu i nie porusza się. Przejściówka sata-usb3 miga. Sprawa zakończyła się paniką jądra. Obraz Anyboot na pendrive USB3 nawet nie został rozpoznany jako rozruchowy na obecnym sprzęcie. Hm, to błąd! zgłoszenie.

Mój czwarty dzień z Haiku: problemy z instalacją i uruchamianiem
Panic jądra przy uruchamianiu z portu USB3.

Co zdumiewające — nadal można wpisywać polecenia, ale będę musiał używać angielskiego układu klawiatury. Więc robię jak radzono:

Mój czwarty dzień z Haiku: problemy z instalacją i uruchamianiem
opis do zdjęcia: wyjście syslog | tail 15 — póki jądro ma panikę

Wywołanie polecenia reboot, niestety, nie działa.

Czwarta próba: druga maszyna

Przeniosłem taki sam (dokładnie działający) dysk na inną maszynę, gdzie sprawdziłem działanie z różnymi portami.

Sprzęt

Wszystko to samo, co w trzeciej próbie, ale na Acer Revo One RL 85.

Wyniki

  • Tryb EFI, port USB2: Komunikat „nie znaleziono ścieżki rozruchowej, skanowanie wszystkich partycji...”, po czym ekran rozruchowy z „Wybierz wolumen rozruchowy (Bieżący: haiku)”. Przycisk „Kontynuuj uruchamianie” jest szary, nie można go wcisnąć. Jeśli wybiorę w liście „Wybierz wolumen rozruchowy” -> Haiku (Bieżący: Ostatni stan)->Ostatni stan -> Powrót do menu głównego -> Kontynuuj uruchamianie — uruchamia się bezpośrednio w Haiku. Wyłączenie zawiesza się na komunikacie „Zamykanie...”.
  • Tryb EFI, hub USB2 podłączony do portu USB3: wymaga doprecyzowania
  • Tryb EFI, port USB3: Komunikat „nie znaleziono ścieżki rozruchowej, przeskanuj wszystkie partycje…”, po czym ekran rozruchowy z „Wybierz wolumin rozruchowy (Bieżący: haiku)”. Przycisk „Kontynuuj uruchamianie” jest szary, nie można go kliknąć. Jeśli wybierzesz w liście „Wybierz wolumin rozruchowy” -> Haiku (Bieżący: Najnowszy stan) -> Najnowszy stan -> Powrót do menu głównego -> Kontynuuj uruchamianie — uruchamia się bezpośrednio w Haiku.
    Zwracam uwagę, że w przeciwieństwie do pierwszego systemu, normalnie uruchamia się do pulpitu bez paniki jądra. Wyłączenie zawiesza się na komunikacie „Wyłączanie”.
  • Tryb EFI, port sata: Uruchamia się bezpośrednio w Haiku. Wyłączenie zawiesza się na komunikacie „Wyłączanie…”.
  • Tryb CSM BIOS, port USB2: wymaga doprecyzowania
  • Tryb CSM BIOS, hub USB2 podłączony do portu USB3: wymaga doprecyzowania
  • Tryb CSM BIOS, port USB3: wymaga doprecyzowania
  • Tryb CSM BIOS, port sata: Czarny ekran z napisem „Uruchom ponownie i wybierz odpowiednie urządzenie rozruchowe lub wstaw nośnik rozruchowy do wybranego urządzenia i naciśnij klawisz”. Przybyło z CSM BIOS? [Tak, dokładnie taki sam komunikat wydaje mój system, jeśli nie znajduje bootloadera. — uwaga tłumacza]

Piąta próba: trzecia maszyna

Przeniosłem ten sam dysk na trzecią maszynę, sprawdziłem na różnych portach.

Sprzęt

To samo, co w trzeciej próbie, ale na Dell Optiplex 780. Jeśli się nie mylę — na tej maszynie wczesny EFI, który najwyraźniej zawsze działa w trybie CSM BIOS.

Wyniki

  • Port USB2: ładowanie Haiku
  • Port USB3 (przez kartę PCIe, Renesas Technology Corp. uPD720202 USB 3.0 Host Controller): wymaga doprecyzowania
  • Port sata: wymaga doprecyzowania

Szósta próba, czwarta maszyna, MacBook Pro

Sprzęt

Wszystko to samo, co w trzeciej próbie, ale z MacBookPro 7.1

Wyniki

Mój czwarty dzień z Haiku: problemy z instalacją i uruchamianiem
Jak Mac widzi pendrive z Haiku.

  • Tryb CSM („Windows”): czarny ekran z napisem „Brak rozruchowego dysku — wstaw dysk uruchamiający i naciśnij dowolny klawisz”. Przybyło z Apple CSM?
  • Tryb UEFI („EFI Boot”): zatrzymuje się na ekranie wyboru urządzenia rozruchowego.

Siódma próba, netbook Lenovo z 32-bitowym procesorem Atom

Sprzęt

  • Pendrive Kingston DataTraveler 100 o pojemności 16 GB, stworzony na Linuksie za pomocą Etcher, używając 32-bitowego obrazu Anyboot stąd.

  • Netbook Lenovo ideapad s10 oparty na procesorze Atom bez dysku twardego.

  • lspci tej maszyny, zrobione na linuxie.

  • lsusb

    00:1d.7 Kontroler 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: Pamięć na 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

Wyniki

Trwa ładowanie, potem występuje kernel panic, polecenie syslog|tail 15 wyświetla kDiskDeviceManager::InitialDeviceScan() nie powiodło się: Brak takiego pliku lub katalogu po kilku błędach ATA. Uwaga: próbowałem uruchomić z USB, a nie z SATA.

Mój czwarty dzień z Haiku: problemy z instalacją i uruchamianiem
Kernel panic na netbooku Lenovo ideapad s10 podczas uruchamiania z pendrive'a.

Na próbę podłączyłem dysk do portu SATA, ale nie zauważyłem znaczącej różnicy w porównaniu do pendrive'a. Chociaż otrzymałem różne komunikaty przy użyciu polecenia syslog|tail 15 (powiedziało, że znalazło /dev/disk/ata/0/master/1).

mr. waddlesplash poprosił mnie o wykonanie polecenia `syslog | grep usb w tym przypadku, więc oto wyniki. Cieszę się, że można uruchamiać takie polecenia na ekranie z kernel panic.

Mój czwarty dzień z Haiku: problemy z instalacją i uruchamianiem
Mój czwarty dzień z Haiku: problemy z instalacją i uruchamianiem

Według mr. waddlesplash ten błąd EHCI jest taki sam jak w tym zgłoszeniu

Ósma próba: netbook MSI z 32-bitowym procesorem Atom

Sprzęt

Jak wcześniej

  • Netbook Medion Akoya E1210 (pod marką MSI Wind U100) z zainstalowanym dyskiem (którego nie używam do Haiku).
  • lspci tego urządzenia
  • lsusb tego urządzenia
    00:1d.7 kontroler USB: 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
    Sterownik jądra w użyciu: ehci-pci

Wyniki

Uruchamia się w Installer Haiku. TouchPad działa! (na przykład, przewijanie). Karta graficzna została rozpoznana jako Intel GMA (i945GME).

Dziewiąta próba: pendrive z 32-bitowym obrazem na MacBooku Pro

Sprzęt

  • Jak wcześniej.
  • MacBook 7.1

Wyniki

Czarny ekran z napisem „Brak dysku rozruchowego — włóż dysk rozruchowy i naciśnij dowolny klawisz”.

Uwaga: klawiatura Apple

W lewym dolnym rogu każdej klawiatury na dolnym rzędzie znajdują się następujące klawisze:
nie-Apple: Ctrl-Fn-Windows-Alt-Spacja
Apple: Fn-Ctrl-(Option lub Alt)-Command-Spacja

Byłoby świetnie, gdyby wszystkie klawiatury w Haiku zachowywały się identycznie, aby można je było używać w taki sam sposób, niezależnie od tego, co jest na nich faktycznie napisane.
Na klawiaturze Apple klawisz Alt nie znajduje się bezpośrednio na lewo od spacji (zamiast niego jest klawisz Command).
W takim przypadku odkryłbym, że w Haiku automatycznie używany byłby klawisz Command zamiast klawisza Alt. Tak więc, pracując na klawiaturze Apple, przypuszczałbym, że klawiatura to klawiatura nie-Apple.
Oczywiście, w ustawieniach dostępne są różne opcje, ale chciałbym, aby rozpoznawanie i dostosowywanie odbywało się automatycznie, w końcu to USB.

Uwaga: writembr do odzyskiwania?

Słyszałem, że przy pomocy komendy writembr można skonfigurować system (pracujący z EFI) do uruchamiania 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

Wygląda dobrze, ale w rezultacie system wciąż nie chce się uruchomić, tak jak wcześniej. Może dlatego, że uruchamianie przez BIOS działa tylko z odpowiednim podziałem, a nie GPT? [trzeba by spróbować protective MBR... — uwaga tłumacza]

Podsumowanie

Haiku jest niesamowite, ale aby uzyskać doświadczenie z instalacją, potrzebne jest poważne podejście. Ponadto proces uruchamiania to loteria, z szansami na sukces wynoszącymi około 1/3, niezależnie od tego, czy masz USB2 (netbook na Atomie) czy USB3 (Acer TravelMate). Przynajmniej jeden z deweloperów ma podobny sprzęt. Mam nadzieję, że moje „żółtodziobowe” doświadczenie pomoże deweloperom zrozumieć, czego potrzebują „zwykli śmiertelnicy” oraz sprawi, że wynik będzie tak samo elegancki jak instalator Mac OS X. Nie zapominajmy, że to nawet nie wersja 1.0, więc wszystko wygląda całkiem nieźle!

Spróbuj sam! Projekt Haiku udostępnia obrazy do uruchamiania z DVD lub USB, tworzone codziennie. Aby zainstalować, wystarczy pobrać obraz i nagrać go na pendrive'a za pomocą Etcher

Masz pytania? Zapraszamy do naszego rosyjskojęzycznego kanału telegramowego..

Przegląd błędów: Jak strzelić sobie w stopę w C i C++. Zbiór przepisów Haiku OS

Od autora tłumaczenia: to czwarty artykuł z cyklu o Haiku.

Lista artykułów: Pierwsza Drugi Trzeci

Źródło: habr.com

Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS 🔥 Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS | ProHoster