Mein vierter Tag mit Haiku: Probleme bei der Installation und dem Booten

Mein vierter Tag mit Haiku: Probleme bei der Installation und dem Booten

TL;DR: nach einigen Tagen mit Experimenten mit Haiku entschied ich mich, sie auf eine separate SSD zu installieren. Aber es stellte sich als nicht so einfach heraus.

Mein vierter Tag mit Haiku: Probleme bei der Installation und dem Booten
Es wird eine intensive Arbeit zur Überprüfung des Starts von Haiku durchgeführt.

Vor drei Tagen erfuhr ich von Haiku, einem unerwartet guten Betriebssystem für PCs. Heute ist der vierte Tag und ich wollte mehr „reale Arbeit“ mit diesem System leisten, während die Partition im Anyboot-Image dafür zu klein ist. Also nehme ich eine brandneue 120GB SSD in die Hand und bereite mich auf die reibungslose Arbeit des Installationsprogramms vor... und ich werde enttäuscht!

Installation und Boot haben normalerweise besondere Aufmerksamkeit und Zuneigung, da es sich um die ersten und wichtigsten Eindrücke handelt. Es besteht die Hoffnung, dass das Protokoll meiner Erfahrungen als „Neuling“ dem Haiku-Entwicklungsteam in ihren ständigen Bemühungen um das Debugging des Betriebssystems, das „einfach funktioniert“, von Nutzen sein wird. Ich nehme alle Fehler auf mich!
Ich halte es für besonders wichtig, die Boot-Situation über USB zu betrachten, da nicht jeder Benutzer bereit ist, seine Haupt-SATA-Festplatte (ganz zu schweigen von NVME…) für Experimente mit einem völlig unbekannten Betriebssystem zu verwenden. Ich glaube, dass das Booten über USB das wahrscheinlichste Szenario für die meisten Benutzer ist, die Haiku auf echter Hardware ausprobieren möchten. Die Entwickler sollten dies ernsthaft berücksichtigen.

Kommentar des Entwicklers:

Wir haben gerade erst begonnen, EFI zu unterstützen, indem wir schnell eine Beta-Version geschrieben haben, die auf EFI-fähigen Maschinen bootet. Die bisherigen Ergebnisse sind noch weit entfernt von dem gewünschten Unterstützungsgrad. Ich weiß nicht, ob wir die aktuelle Arbeit dokumentieren oder uns einfach darauf konzentrieren sollen, die richtigen Ergebnisse zu erzielen, danach können wir alles dokumentieren.

Das klingt sinnvoll und es besteht die Hoffnung, dass letztendlich alles viel besser sein wird als jetzt. Im Moment kann ich nur überprüfen, was bis heute gemacht wurde. Lass uns beginnen...

Das Anyboot-Image ist zu klein

Obwohl das Schreiben des Anyboot-Images auf einen normalen USB-Stick erstaunlich einfach ist, gibt es nicht genug Platz auf der Haiku-Partition für die Installation zusätzlicher Software.

Mein vierter Tag mit Haiku: Probleme bei der Installation und dem Booten
Das Schreiben des Anyboot-Images auf einen USB-Stick ist im Grunde einfach, aber am Ende fehlt der Platz für echte Arbeit.

Schnelle Lösung: Erhöhe die Größe der standardmäßigen Haiku-Partition.

Für echte Arbeit mit Haiku muss es dennoch über die Installer-Anwendung installiert werden.

Der Installer macht nicht alles Notwendige an einem Ort.

Erinnern Sie sich an den großartigen Mac OS X Installer?

Mein vierter Tag mit Haiku: Probleme bei der Installation und dem Booten
Mac OS X 10.2 Installer

Er:

  • initialisiert die Disks (schreibt GPT, GUID-Partitionstabelle)
  • erstellt Partitionen (EFI, primär) unter Verwendung von „gesunden Menschenverstand“ (um die Festplatte optimal zu nutzen)
  • markiert die Boot-Partition (setzt das bootable Flag darauf)
  • kopiert Dateien

Mit anderen Worten, er macht „alles“ ohne unnötigen Aufwand für den Benutzer.

Andererseits gibt es den Installer für Haiku, der einfach nur Dateien kopiert und dem Benutzer alles andere überlässt, was zu komplex ist und selbst bei Erfahrung nicht sofort zu verstehen ist. Besonders wenn ein System benötigt wird, das sowohl auf BIOS- als auch auf EFI-Systemen bootet.

Was soll ich tun?

Ich kann es nicht genau sagen, aber jedenfalls nehme ich an, dass:

  1. DriveSetup öffnen
  2. Gerät für die Installation auswählen
  3. Disk->Initialisieren->GUID Partition Map…->Weiter->Änderungen speichern->OK
  4. Rechtsklick auf einen leeren Bereich auf dem Gerät, auf dem das System installiert werden soll
  5. Erstellen…->Ich gebe 256 als Größe ein->EFI system data (sicher bin ich mir nicht)->Änderungen speichern
  6. Rechtsklick auf „EFI system data“ auf dem Gerät, auf dem das System installiert werden soll
  7. Initialisieren->FAT32-Dateisystem…->Weiter->Ich gebe den Namen ein: „EFI“, FAT-Größe: 32->Formatieren->Änderungen speichern
  8. Rechtsklick auf einen leeren Bereich auf dem gewünschten Gerät wiederholen
  9. Erstellen…->Ich gebe den Namen der Partition ein: Haiku, Partitionstyp: Be File System->Erstellen->Änderungen speichern
  10. Rechtsklick auf EFI->Mounted
  11. Ich starte den Installer->bin verwirrt von der Technosprache->Weiter->Auf die Disk: Haiku (ich habe sichergestellt, dass es dieselbe Partition ist, die ich zuvor erstellt habe)->Installieren
  12. Im Dateimanager kopiere ich das EFI-Verzeichnis vom aktuellen System auf die EFI-Partition (ich nehme an, das ist notwendig für das Booten mit EFI)
  13. [Anmerkung des Übersetzers: Ich habe diesen Punkt aus der Übersetzung entfernt; kurz gesagt – der Autor hat die Erstellung eines hybriden Systems für das Booten sowohl mit EFI als auch mit BIOS nicht ganz bewältigt.]
  14. Ich schalte aus
  15. Ich stecke die neu erstellte Disk in den Port, von dem aus das System definitiv starten wird [seltsam, ich musste das nicht tun. – Anmerkung des Übersetzers]
  16. Ich schalte ein

Es scheint klar zu sein: Es wird ein Werkzeug benötigt, das alles auf einen Knopf drückt, mit zeitgerechter (!) Bestätigung, dass das Gerät überschrieben werden kann.

„Schnelle“ Lösung: einen automatischen Installer erstellen, der alles erledigt.

Nun, auch wenn es nicht "schnell" ist, so ist es doch würdig. Dies sind die ersten Eindrücke vom neuen System. Wenn es nicht gelingt, es zu installieren (was mir schon mehrfach passiert ist) — werden viele einfach still für immer verschwinden.

Technische Erläuterung zum DriveSetup gemäß PulkoMandy

BootManager schreibt ein vollständiges Bootmenü, einschließlich der Möglichkeit, mehrere Systeme von der Festplatte zu laden, dafür benötigt er nur etwa 2 kB am Anfang der Festplatte. Das ist für alte Partitionierungsschemata geeignet, aber nicht für GPT, das dieselben Sektoren für die Partitionstabelle verwendet. Andererseits schreibt writembr einen stark vereinfachten Code auf die Festplatte, der einfach die aktive Partition findet und den Bootvorgang von dort fortsetzt. Dieser Code benötigt nur die ersten 400 Bytes auf der Festplatte, sodass er nicht mit GPT in Konflikt gerät. Die Unterstützung für Festplatten mit GPT-Partitionierung ist begrenzt (aber für einfache Fälle wird alles wie gewünscht funktionieren).

Schnelle Lösung: Lass das GUI zur Konfiguration von BootManager alles auf die Festplatte schreiben, was mit writembr installiert wird, wenn GPT-Partitionierung entdeckt wird. Es ist nicht notwendig, 2 kB Code auf GPT-Festplatten zu schreiben. Das bootbare Flag muss nur für die Haiku-Partition und nicht für die EFI-Partition gesetzt werden.

Erster Versuch: Kernel-Panik

Ausrüstung

  • Acer TravelMate B117 N16Q9 (verkauft mit EndlessOS)
  • lspci
  • lsusb
  • Das bestehende System wurde von einem 16 GB Kingston DataTraveler USB-Stick gestartet, der aus einem Anyboot-Image mit Etcher unter Linux erstellt wurde, eingesteckt in den USB2.0-Port (da es nicht vom USB3-Port bootete).
  • SSD Kingston A400 mit 120 GB, nur werksseitig, angeschlossen an einen SATA-USB3-Adapter ASMedia ASM2115, der an den USB3-Port im TravelMate B117 angeschlossen ist.

Ergebnisse

Der Installer startet die Dateiübertragung, dann tritt ein Eingabe-/Ausgabefehler auf, begleitet von einer Kernel-Panik.

Mein vierter Tag mit Haiku: Probleme bei der Installation und dem Booten
Kernel-Panik

Zweiter Versuch: nicht bootbare Festplatte

Ausrüstung

Alles wie zuvor, aber die SSD ist an einen Adapter angeschlossen, der an einen USB2.0-Hub angeschlossen ist, der in den USB3-Port im TravelMate eingesteckt ist. Ich habe mit einem Installations-USB-Stick von Windows überprüft, dass dieses Gerät von USB3 bootet.

Ergebnisse

Nicht bootbares System. Die Partitionierung der Festplatte scheint durch BootManager verloren gegangen zu sein.

Mein vierter Tag mit Haiku: Probleme bei der Installation und dem Booten
BootManager. "Write boot menu", was, zerstört die Partitionierung der Festplatte?!

Dritter Versuch: Wow, es bootet! Aber nicht über den USB3-Port an diesem Gerät.

Ausrüstung

Alles wie beim zweiten Versuch, aber diesmal benutze ich BootManager überhaupt nicht.
Die Partitionierung ohne BootManager sieht so aus, wenn man aus Linux überprüft.

Mein vierter Tag mit Haiku: Probleme bei der Installation und dem Booten
Die "efi"-Partition mit FAT32-Dateisystem ist ohne BootManager als bootbar markiert. Wird es auf einem Nicht-EFI-Gerät starten?

Ergebnisse

  • EFI-Modus, USB2-Port: direktes Booten in Haiku
  • EFI-Modus, USB2-Hub, der an USB3-Port angeschlossen ist: Meldung "kein Boot-Pfad gefunden, Analyse aller Partitionen...", danach Boot-Bildschirm mit "Bootvolumen auswählen (Aktuell: haiku)". Die Schaltfläche "Weiter booten" ist grau und nicht anklickbar. Wenn man in der Liste "Bootvolumen auswählen" -> Haiku (Aktuell: Letzter Status) -> Letzter Status -> Zurück zum Hauptmenü -> Weiter booten auswählt - bootet man direkt in Haiku. Es ist interessant, warum es nicht "einfach booten" kann und stattdessen herumgetanzt werden muss? Umso mehr, als auf dem Bootbildschirm eindeutig die Boot-Partition automatisch gefunden wurde. Ein Softwarefehler?
  • EFI-Modus, USB3-Port: bootet direkt in Haiku. Oh, wie freut mich das... Zu früh, wie sich herausstellte. Ein blauer Bildschirm wird angezeigt, aber lange Zeit passiert nichts. Der Cursor-"Zeigefinger" hängt in der Mitte des Bildschirms und bewegt sich nicht. Der SATA-USB3-Adapter blinkt. Es endete mit einem Kernel-Panik. Das Anyboot-Image auf dem USB3-Stick wurde sogar von der aktuellen Hardware nicht als bootfähig erkannt. Oh, das ist ja ein Bug! Daher habe ich Ticket.

Mein vierter Tag mit Haiku: Probleme bei der Installation und dem Booten
Kernel-Panik beim Booten von USB3-Port.

Was erstaunlich ist - man kann immer noch Befehle eingeben, aber man muss das englische Layout verwenden. Also, ich mache wie empfohlen:

Mein vierter Tag mit Haiku: Probleme bei der Installation und dem Booten
Bildunterschrift: Ausgabe syslog | tail 15 — während der Kernel panikiert

Der Befehl neu starten, funktioniert leider nicht.

Vierter Versuch: die zweite Maschine

Ich habe eine gleichartige (genau funktionierende) Festplatte auf eine andere Maschine übertragen, wo ich die Funktionalität mit verschiedenen Ports getestet habe.

Ausrüstung

Alles wie beim dritten Versuch, aber auf Acer Revo One RL 85.

Ergebnisse

  • EFI-Modus, USB2-Port: Meldung "kein Boot-Pfad gefunden, Analyse aller Partitionen...", danach Boot-Bildschirm mit "Bootvolumen auswählen (Aktuell: haiku)". Die Schaltfläche "Weiter booten" ist grau und nicht anklickbar. Wenn man in der Liste "Bootvolumen auswählen" -> Haiku (Aktuell: Letzter Status) -> Letzter Status -> Zurück zum Hauptmenü -> Weiter booten auswählt - bootet man direkt in Haiku. Das Herunterfahren bleibt bei der Meldung "Herunterfahren..." hängen.
  • EFI-Modus, USB2-Hub, der an USB3-Port angeschlossen ist: es ist eine Klärung erforderlich
  • EFI-Modus, USB3-Port: Meldung "kein Boot-Pfad gefunden, Analyse aller Partitionen...", danach Boot-Bildschirm mit "Bootvolumen auswählen (Aktuell: haiku)". Die Schaltfläche "Weiter booten" ist grau und nicht anklickbar. Wenn man in der Liste "Bootvolumen auswählen" -> Haiku (Aktuell: Letzter Status) -> Letzter Status -> Zurück zum Hauptmenü -> Weiter booten auswählt - bootet man direkt in Haiku.
    Ich weise darauf hin, dass es im Gegensatz zum ersten System ein normales Booten bis zum Desktop ohne Kernel-Panik gibt. Das Herunterfahren bleibt bei der Meldung "Herunterfahren" hängen.
  • EFI-Modus, SATA-Anschluss: Startet direkt in Haiku. Das Ausschalten bleibt bei der Meldung „Herunterfahren…“ hängen.
  • CSM BIOS-Modus, USB2-Anschluss: Bedarf an Klarstellung.
  • CSM BIOS-Modus, USB2-Hub, angeschlossen an USB3-Anschluss: Bedarf an Klarstellung.
  • CSM BIOS-Modus, USB3-Anschluss: Bedarf an Klarstellung.
  • CSM BIOS-Modus, SATA-Anschluss: Schwarzer Bildschirm mit der Meldung „Reboot and Select proper Boot Device or Insert Boot Media in selected device and press a key“. Kommt das vom CSM BIOS? [Ja, genau die gleiche Meldung gibt mein System aus, wenn der Bootloader nicht gefunden wird. — Anmerkung des Übersetzers]

Fünfter Versuch: drittes Gerät.

Ich habe dieselbe Festplatte auf das dritte Gerät übertragen und an verschiedenen Anschlüssen getestet.

Ausrüstung

Das Gleiche wie beim dritten Versuch, aber auf einem Dell Optiplex 780. Wenn ich mich nicht irre, hat dieses Gerät ein frühes EFI, das anscheinend immer im CSM BIOS-Modus funktioniert.

Ergebnisse

  • USB2-Anschluss: Haiku lädt.
  • USB3-Anschluss (über PCIe-Karte, Renesas Technology Corp. uPD720202 USB 3.0 Host Controller): Bedarf an Klarstellung.
  • SATA-Anschluss: Bedarf an Klarstellung.

Sechster Versuch, viertes Gerät, MacBook Pro.

Ausrüstung

Alles wie im dritten Versuch, aber mit MacBookPro 7.1.

Ergebnisse

Mein vierter Tag mit Haiku: Probleme bei der Installation und dem Booten
Wie der Mac den USB-Stick mit Haiku sieht.

  • CSM-Modus („Windows“): Schwarzer Bildschirm mit der Meldung „No bootable drive — insert boot disk and press any key“. Kommt das vom Apple CSM?
  • UEFI-Modus („EFI Boot“): Hält an dem Bildschirm zur Auswahl des Bootgeräts an.

Siebter Versuch, Netbook Lenovo mit 32-Bit-Atom-Prozessor.

Ausrüstung

  • Kingston DataTraveler 100 USB-Stick mit 16 GB, erstellt auf Linux mit Etcher, unter Verwendung des 32-Bit Anyboot-Images. von hier.

  • Lenovo Ideapad S10 Netbook basierend auf einem Atom-Prozessor ohne Festplatte.

  • lspci dieses Geräts., unter Linux aufgenommen.

  • 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 führt zu IRQ 23
    Region 0: Speicher bei f0844000 (32-Bit, nicht vorab ladbar) [Größe=1K]
    Capabilities: [50] Stromversorgungsmanagement 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-Treiber in Verwendung: ehci-pci.

Ergebnisse

Lädt, dann tritt ein Kernel-Panik auf, Befehl. syslog|tail 15. gibt aus. kDiskDeviceManager::InitialDeviceScan() fehlgeschlagen: Datei oder Verzeichnis nicht gefunden. nach mehreren ATA-Fehlern. Hinweis: Ich habe versucht, von USB zu booten, nicht von SATA.

Mein vierter Tag mit Haiku: Probleme bei der Installation und dem Booten
Kernel-Panik auf dem Netbook Lenovo Ideapad S10 beim Booten von USB-Stick.

Zum Spaß habe ich die Festplatte an den SATA-Anschluss angeschlossen, aber große Unterschiede zur USB-Stick konnte ich nicht feststellen. Obwohl ich verschiedene Meldungen beim Ausführen des Befehls erhalten habe. syslog|tail 15. (es sagte, dass es gefunden hat. /dev/disk/ata/0/master/1).

mr. waddlesplash bat mich, den Befehl auszuführen. `syslog | grep usb Für diesen Fall, hier sind die Ergebnisse. Ich bin immer noch froh, dass man solche Befehle auf dem Bildschirm mit Kernel-Panik ausführen kann.

Mein vierter Tag mit Haiku: Probleme bei der Installation und dem Booten
Mein vierter Tag mit Haiku: Probleme bei der Installation und dem Booten

Laut mr. waddlesplash ist dieser EHCI-Fehler derselbe wie in diesem Antrag

Achter Versuch: Netbook MSI mit 32-Bit Atom-Prozessor

Ausrüstung

Wie gewohnt

  • Netbook Medion Akoya E1210 (unter der Marke MSI Wind U100) mit installiertem Laufwerk (das ich nicht für Haiku verwende).
  • lspci diesem Gerät
  • lsusb dieses Geräts
    00:1d.7 USB-Controller: 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 geroutet zu IRQ 23
    Region 0: Speicher bei dff40400 (32-Bit, nicht vorfetchbar) [Größe=1K]
    Funktionen: [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-
    Funktionen: [58] Debug-Port: BAR=1 offset=00a0
    Kernel-Treiber in Benutzung: ehci-pci

Ergebnisse

Lädt im Haiku-Installer. TouchPad funktioniert! (zum Beispiel Scrollen). Die Grafikkarte wurde als Intel GMA (i945GME) erkannt.

Neunter Versuch: USB-Stick mit 32-Bit-Image auf MacBook Pro

Ausrüstung

  • Wie zuvor.
  • MacBook 7.1

Ergebnisse

Schwarzer Bildschirm mit der Aufschrift „Kein bootfähiges Laufwerk - bootfähige Disk einlegen und eine Taste drücken“.

Hinweis: Apple-Tastatur

In der linken unteren Ecke jeder Tastatur in der unteren Reihe befinden sich die folgenden Tasten:
Nicht-Apple: Ctrl-Fn-Windows-Alt-Leertaste
Apple: Fn-Ctrl-(Option oder Alt)-Command-Leertaste

Es wäre schön, wenn sich alle Tastaturen in Haiku gleich verhalten würden, sodass sie unabhängig von den tatsächlichen Beschriftungen gleich genutzt werden können.
Auf der Apple-Tastatur befindet sich die Alt-Taste nicht direkt links von der Leertaste (stattdessen ist dort die Command-Taste).
In diesem Fall würde ich feststellen, dass in Haiku automatisch die Command-Taste anstelle der Alt-Taste verwendet wird. Das würde bedeuten, dass ich beim Arbeiten auf einer Apple-Tastatur das Gefühl hätte, es handele sich um eine Nicht-Apple-Tastatur.
Offensichtlich gibt es in den Einstellungen verschiedene Optionen, aber es wäre wünschenswert, eine automatische Erkennung und Anpassung zu haben, schließlich ist dies USB.

Hinweis: writembr zur Wiederherstellung?

Ich habe gehört, dass man mit dem Befehl writembr ein (mit EFI) bootfähiges System vom BIOS aus erstellen kann.

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

Sieht gut aus, aber trotzdem ist das System wie zuvor nicht bootbar. Möglicherweise, weil das Booten über das BIOS nur mit einem geeigneten Layout funktioniert und nicht mit GPT? [man sollte es mit einem Protective MBR versuchen… — Anmerkung des Übersetzers]

Fazit

Haiku ist beeindruckend, aber um Erfahrung mit der Installation zu sammeln, ist ein ernsthafter Ansatz erforderlich. Darüber hinaus ist der Installationsprozess eine Lotterie, mit einer Erfolgschance von etwa 1/3, egal ob du USB2 (Netbook mit Atom) oder USB3 (Acer TravelMate) hast. Aber zumindest hat ein Entwickler die gleiche Hardware. Ich hoffe, dass meine "noobhaften" Erfahrungen den Entwicklern helfen, zu verstehen, was "gewöhnliche Sterbliche" benötigen, und auch, um das Ergebnis so elegant zu gestalten wie den Mac OS X-Installer. Man sollte nicht vergessen, dass dies nicht einmal die Version 1.0 ist, also läuft alles sehr gut!

Probieren Sie es selbst aus! Das Haiku-Projekt bietet Images zum Herunterladen von DVD oder USB, die täglich erstellt werden. täglich.. Um es zu installieren, müssen Sie nur das Image herunterladen und es mit Etcher

Fragen? Wir laden Sie in den russischsprachigen Telegram-Kanal ein..

Fehlerübersicht: Wie man sich selbst in C und C++ ins Bein schießt. Eine Sammlung von Rezepten für Haiku OS

Von Autor Übersetzung: dies ist der vierte Artikel einer Reihe über Haiku.

Artikelübersicht: Erster Zweiter Dritte

Quelle: habr.com

60GB SSD 8Gb DDR4