
TL;DR: Na enkele dagen experimenteren met besloot ik deze op een aparte SSD te plaatsen. Maar het bleek niet zo eenvoudig te zijn.

Er wordt intensief gewerkt aan het testen van de opstart van Haiku.
leerde ik over Haiku, een verrassend goed besturingssysteem voor pc's. Het is de vierde dag en ik wil meer 'echt werk' met dit systeem doen, maar de partitie die in het Anyboot-image zit is te klein. Dus neem ik een gloednieuwe 120GB SSD ter hand en maak me klaar voor een soepele installatie... En dan komt de teleurstelling!
Installatie en opstart krijgen doorgaans extra aandacht en liefde, aangezien dit de eerste en belangrijkste indrukken zijn. Hopelijk zal mijn protocol van ervaringen als 'beginner' nuttig zijn voor het Haiku-ontwikkelingsteam in hun voortdurende inspanningen om een besturingssysteem te maken dat 'gewoon werkt'. Ik neem alle fouten op mij!
Naar mijn mening is de situatie met opstarten vanaf USB bijzonder belangrijk, want niet elke gebruiker is bereid om de hoofd SATA-schijf (laat staan NVME...) te gebruiken voor experimenten met een volledig onbekend besturingssysteem. Ik denk dat opstarten vanaf USB het meest waarschijnlijke scenario is voor de meeste gebruikers die Haiku op echte hardware willen uitproberen. Dit is iets waar de ontwikkelaars aandacht aan moeten besteden.
Reactie van de ontwikkelaar:
We zijn net begonnen met het ondersteunen van EFI, snel een bètaversie geschreven die op machines met EFI kan opstarten. De behaalde resultaten zijn tot nu toe verre van het gewenste niveau van ondersteuning. Ik weet niet of we ons huidige werk moeten documenteren, of gewoon ons moeten richten op het behalen van het gewenste resultaat, waarna we alles kunnen documenteren.
Het klinkt logisch en er is hoop dat het uiteindelijk veel beter zal zijn dan nu. Voorlopig kan ik alleen testen wat er tot nu toe is gedaan. Laten we beginnen…
Het Anyboot-image is te klein
Ondanks het feit dat het Anyboot-image verrassend eenvoudig op een gewone USB-stick kan worden geschreven, is er niet genoeg ruimte op de Haiku-partitie voor het installeren van extra software.

Het schrijven van het Anyboot-image op een USB-stick is op zich vrij eenvoudig, maar daardoor is er niet genoeg ruimte voor echt werk.
Snelle oplossing: vergroot de standaardgrootte van de Haiku-partitie.
Voor echt gebruik van Haiku moet het toch geïnstalleerd worden met de Installer-app.
De Installer doet alles niet op één plek.
Vergeet je die geweldige Mac OS X installer nog?

Mac OS X 10.2 Installer.
Hij:
- initialiseert schijven (schrijft GPT, GUID-partitietabel)
- maakt partities aan (EFI, hoofd) met 'gezond verstand' (voor de beste benutting van de schijf)
- markeert de opstartpartitie (stelt de opstartvlag in)
- kopieert bestanden
Met andere woorden, hij doet "alles" zonder gedoe voor de gebruiker.
Aan de andere kant is er de Installer voor Haiku, die gewoon bestanden kopieert en de gebruiker de rest laat uitzoeken, wat te complex is om meteen te begrijpen, zelfs met enige ervaring. Zeker als er een systeem nodig is dat op zowel BIOS- als EFI-systemen kan opstarten.
Wat moet ik nu doen?
Ik weet het niet zeker, maar in ieder geval vermoed ik het volgende:
- Open DriveSetup.
- Selecteer het installatieapparaat.
- Disk-> Initialiseren-> GUID Partition Map…-> Verder-> Wijzigingen opslaan-> OK.
- Rechtsklik op de lege plek op het apparaat waar het systeem geïnstalleerd zal worden.
- Aanmaken…-> Ik voer 256 in als grootte-> EFI system data (niet helemaal zeker)-> Wijzigingen opslaan.
- Rechtsklik op 'EFI system data' op het apparaat waar het systeem geïnstalleerd zal worden.
- Initialiseren-> FAT32-bestandssysteem…-> Verder-> Ik voer de naam in: 'EFI', FAT-breedte: 32-> Formatteren-> Wijzigingen opslaan.
- Ik herhaal de rechtsklik op de lege plek op het vereiste apparaat.
- Aanmaken…-> Ik voer de partitie naam in: Haiku, partitie type: Be File System-> Aanmaken-> Wijzigingen opslaan.
- Rechtsklik op EFI-> Koppelen.
- Ik start de Installer-> verwart door de tech-termologie-> Verder-> Naar schijf: Haiku (ik heb geverifieerd dat dit dezelfde partitie is die ik eerder heb aangemaakt)-> Installeren.
- In de bestandsbeheerder kopieer ik de EFI-map van het huidige systeem naar de EFI-partitie (ik neem aan dat dit nodig is voor opstarten met EFI).
- [opmerking van de vertaler: dit punt heb ik weggelaten uit de vertaling; kort gezegd - de auteur heeft de hybride opzet voor opstarten van zowel EFI als BIOS niet helemaal begrepen.]
- ik schakel uit.
- ik sluit de nieuw aangemaakte schijf aan op de poort waarvan ik zeker weet dat het systeem zal opstarten [vreemd, dit heb ik niet hoeven doen. - opmerking van de vertaler]
- ik zet aan.
Het lijkt me duidelijk: we hebben een hulpmiddel nodig dat alles met één druk op de knop doet, met tijdige (!) bevestiging dat het apparaat gewist kan worden.
Een 'snelle' oplossing: maak een automatische Installer die alles doet.
Nou, zelfs als het niet 'snel' is, is het toch waardevol. Dit zijn immers de eerste indrukken van het nieuwe systeem. Als de installatie niet lukt (en dat is mij meerdere keren overkomen) – zullen velen gewoon stil vertrekken.
Technische uitleg over DriveSetup volgens
BootManager schrijft een volledig opstartmenu, inclusief de mogelijkheid om meerdere systemen vanaf de schijf te starten; hiervoor heeft hij slechts ongeveer 2 KB aan het begin van de schijf nodig. Dit is geschikt voor oudere schijfindelingen, maar niet voor GPT, dat dezelfde sectoren voor de partitie-indeling gebruikt. Aan de andere kant schrijft writembr een sterk vereenvoudigde code naar de schijf, die gewoon de actieve partitie vindt en vanaf daar verder opstart. Deze code heeft slechts 400 eerste bytes op de schijf nodig, zodat deze niet in conflict komt met GPT. Het ondersteunt de schijven met GPT-indeling beperkt (maar in eenvoudige gevallen zal alles goed gaan).
Snelle oplossing: laat de GUI voor het configureren van BootManager alles installeren op de schijf wat geinstalleerd wordt met writembr, als er een GPT-indeling wordt gedetecteerd. Er hoeft geen 2 KB-code op GPT-schijven te worden geplaatst. De bootable-vlag hoeft niet op de EFI-partitie te worden gezet, alleen op de Haiku-partitie.
Eerste poging: kernel panic
Apparatuur
- Acer TravelMate B117 N16Q9 (verkocht met EndlessOS)
- Het bestaande systeem werd opgestart vanaf een Kingston DataTraveler 100 flashdrive van 16 GB, gemaakt van een Anyboot-image met behulp van Etcher op Linux, aangesloten op een USB2.0-poort (omdat het niet opstartte vanaf de USB3-poort).
- SSD Kingston A400 van 120 GB, alleen fabrieksmatig, aangesloten op een SATA-USB3-adapter ASMedia ASM2115, die is aangesloten op de USB3-poort van de TravelMate B117.
Resultaten
Installer start met het kopiëren van bestanden, daarna verschijnt er een I/O-fout, vergezeld van kernel panic.

kernel panic
Tweede poging: ongeboot schijf
Apparatuur
Alles is hetzelfde als vroeger, maar de SSD is aangesloten op een adapter die is aangesloten op een USB2.0 Hub, die in de USB3-poort van de TravelMate is gestoken. Ik heb met een installatiefletsk met Windows gecontroleerd dat deze machine opstart vanaf USB3.
Resultaten
Ongeboot systeem. De schijfindeling lijkt verloren te zijn vanwege BootManager.

BootManager. 'Write boot menu' breekt de schijfindeling?!
Derde poging: oh wauw, het boot! Maar niet via de USB3-poort op deze machine.
Apparatuur
Hetzelfde als bij de tweede poging, maar deze keer maak ik helemaal geen gebruik van BootManager.
De lay-out zonder BootManager ziet er zo uit wanneer gecontroleerd vanuit Linux.

De sectie 'efi' met FAT32-bestandssysteem is als opstartbaar gemarkeerd zonder BootManager. Zal het op een niet-EFI-machine opstarten?
Resultaten
- EFI-modus, USB2-poort: opstarten rechtstreeks naar Haiku.
- EFI-modus, USB2-hub aangesloten op USB3-poort: Bericht 'no boot path found, scan for all partitions...', waarna het opstartscherm met 'Select boot volume (Current: haiku)'. De knop 'Continue booting' is grijs en kan niet worden ingedrukt. Als je in de lijst 'Select Boot Volume' kiest -> Haiku (Current: Latest state) -> Latest state -> Return to main menu -> Continue booting — wordt er rechtstreeks opgestart naar Haiku. Het is interessant waarom het niet 'gewoon kan opstarten' en dansjes vereist? Vooral omdat op het opstartscherm duidelijk automatisch de opstartbare partitie is gevonden. Is het een softwarefout?
- EFI-modus, USB3-poort: opstarten rechtstreeks naar Haiku. Oh, wat ben ik blij... Te vroeg, zoals het blijkt. Het blauwe scherm verschijnt, maar er gebeurt een hele tijd niets. De cursor-‘vinger’ hangt in het midden van het scherm en beweegt niet. De sata-usb3-adapter knippert. Het eindigde in een kernel panic. De Anyboot-image op de USB3-stick werd niet herkend als opstartbaar op de huidige hardware. Oh, dat is een bug! Hier heb ik een rapport over gemaakt. .

Kernel panic bij opstarten vanaf USB3-poort.
Wat verbazingwekkend is — je kunt nog steeds commando's invoeren, maar je moet het Engelse toetsenbord gebruiken. Dus, ik ga. :

bijschrift bij de afbeelding: uitvoer. syslog | tail 15 — terwijl de kernel in paniek is.
Het aanroepen van het commando herstarten, helaas, werkt niet.
De vierde poging: de tweede machine.
Ik heb een identieke (volledig werkende) schijf op een andere machine geplaatst, waar ik het gebruik met verschillende poorten heb getest.
Apparatuur
Alles is hetzelfde als bij de derde poging, maar op de Acer Revo One RL 85.
Resultaten
- EFI-modus, USB2-poort: Bericht 'no boot path found, scan for all partitions...', waarna het opstartscherm met 'Select boot volume (Current: haiku)'. De knop 'Continue booting' is grijs en kan niet worden ingedrukt. Als je in de lijst 'Select Boot Volume' kiest -> Haiku (Current: Latest state) -> Latest state -> Return to main menu -> Continue booting — wordt er rechtstreeks opgestart naar Haiku. Afsluiten blijft hangen op het bericht 'Shutting down...'.
- EFI-modus, USB2-hub aangesloten op USB3-poort: verduidelijking vereist.
- EFI-modus, USB3-poort: Bericht «no boot path found, scan for all partitions…», waarna het opstartscherm met «Select boot volume (Current: haiku)» verschijnt. De knop «Continue booting» is grijs en kan niet worden ingedrukt. Als je in de lijst «Select Boot Volume» kiest -> Haiku (Current: Latest state) -> Latest state -> Terug naar hoofdmenu -> Continue booting — wordt er rechtstreeks in Haiku opgestart.
Ik wil erop wijzen dat, in tegenstelling tot het eerste systeem, er een normale opstart is tot aan het bureaublad zonder kernel panic. Uitschakelen blijft hangen bij de melding «Bezig met uitschakelen». - EFI-modus, SATA-poort: Start rechtstreeks in Haiku. Uitschakelen blijft hangen bij de melding «Shutting down…».
- CSM BIOS-modus, USB2-poort: verduidelijking nodig.
- CSM BIOS-modus, USB2-hub aangesloten op USB3-poort: verduidelijking nodig.
- CSM BIOS-modus, USB3-poort: verduidelijking nodig.
- CSM BIOS-modus, SATA-poort: Zwarte scherm met de tekst «Reboot and Select proper Boot Device or Insert Boot Media in selected device and press a key». Is het afkomstig van CSM BIOS? [Ja, precies dezelfde melding geeft mijn systeem als het de opstartlader niet kan vinden. — opmerking van de vertaler]
Vijfde poging: derde machine.
Ik heb dezelfde schijf naar de derde machine verplaatst en getest op verschillende poorten.
Apparatuur
Hetzelfde als in de derde poging, maar op een Dell Optiplex 780. Als ik het goed heb — op deze machine is vroege EFI, die blijkbaar altijd werkt in CSM BIOS-modus.
Resultaten
- USB2-poort: opstarten in Haiku.
- USB3-poort (via PCIe-kaart, Renesas Technology Corp. uPD720202 USB 3.0 Host Controller): verduidelijking nodig.
- SATA-poort: verduidelijking nodig.
Zesde poging, vierde machine, MacBook Pro.
Apparatuur
Alles hetzelfde als in de derde poging, maar met MacBookPro 7.1.
Resultaten

Hoe Mac de USB-stick met Haiku ziet.
- CSM-modus («Windows»): zwart scherm met de tekst «No bootable drive — insert boot disk and press any key». Is het afkomstig van Apple CSM?
- UEFI-modus («EFI Boot»): stopt op het scherm voor het selecteren van het opstartapparaat.
Zevende poging, netbook Lenovo met een 32-bits Atom-processor.
Apparatuur
USB-stick Kingston DataTraveler 100 van 16 GB, gemaakt op Linux met behulp van Etcher, met het 32-bits Anyboot-image. .
Netbook Lenovo ideapad s10 op basis van Atom-processor zonder harde schijf.
, gemaakt op linux.
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- <MAbort- >SERR- <PERR- INTx- Latency: 0 Interrupt: pin A routed to IRQ 23 Region 0: Geheugen op f0844000 (32-bit, niet-prefetchable) [grootte=1K] Capaciteiten: [50] Voedingsbeheer versie 2 Vlaggen: PMEClk- DSI- D1- D2- AuxCurrent=375mA PME(D0+,D1-,D2-,D3hot+,D3cold+) Status: D0 NoSoftRst- PME-Enable- DSel=0 DScale=0 PME- Capaciteiten: [58] Debug-poort: BAR=1 offset=00a0 Kerneldriver in gebruik: ehci-pci.
Resultaten
Opstarten, daarna treedt kernel panic op, opdracht. syslog|tail 15 geeft weer kDiskDeviceManager::InitialDeviceScan() mislukt: Geen dergelijk bestand of map na verschillende ATA-fouten. Opmerking: ik probeerde op te starten vanaf USB, niet vanaf sata.

Kernel panic op de Lenovo ideapad s10 bij opstarten vanaf een flashdrive.
Voor de grap stopte ik de schijf in de sata-poort, maar merkte geen groot verschil met de flashdrive. Hoewel ik verschillende meldingen ontving bij het gebruik van de opdracht syslog|tail 15 (het zei dat het vond /dev/disk/ata/0/master/1).
t vroeg me om de opdracht uit te voeren `syslog | grep usb voor deze keer, dus hier zijn de resultaten. Ik ben nog steeds blij dat ik dit soort opdrachten kan uitvoeren op een scherm met kernel panic.


Volgens mr. waddlesplash is deze EHCI-fout dezelfde als in
Achtste poging: netbook MSI met 32-bits Atom-processor
Apparatuur
Zoals eerder
- Netbook Medion Akoya E1210 (onder de merknaam MSI Wind U100) met een schijf geïnstalleerd (die ik niet gebruik voor Haiku).
- deze machine
- lsusb van deze machine
00:1d.7 USB-controller: Intel Corporation NM10/ICH7 Familie USB2 EHCI Controller (rev 02) (prog-if 20 [EHCI]) Subsystem: Micro-Star International Co., Ltd. [MSI] NM10/ICH7 Familie 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 versie 2 Vlaggen: PMEClk- DSI- D1- D2- AuxCurrent=375mA PME(D0+,D1-,D2-,D3hot+,D3cold+) Status: D0 NoSoftRst- PME-Enable- DSel=0 DScale=0 PME- Capabilities: [58] Debugpoort: BAR=1 offset=00a0 Kerneldriver in gebruik: ehci-pci
Resultaten
Laadt in Installer Haiku. TouchPad werkt! (bijvoorbeeld, scrollen). De videokaart werd herkend als Intel GMA (i945GME).
Negende poging: flashdrive met 32-bits afbeelding op MacBook Pro
Apparatuur
- Zoals altijd.
- MacBook 7.1
Resultaten
Zwarte scherm met de tekst 'No bootable drive — insert boot disk and press any key'.
Opmerking: Apple toetsenbord
In de linkerbenedenhoek van elk toetsenbord op de onderste rij zijn de volgende knoppen:
niet-Apple: Ctrl-Fn-Windows-Alt-Spatiebalk
Apple: Fn-Ctrl-(Option of Alt)-Command-Spatiebalk
Het zou geweldig zijn als alle toetsenborden in Haiku zich gelijk gedroegen, zodat ze op dezelfde manier gebruikt konden worden, ongeacht wat er daadwerkelijk op staat.
Op het Apple toetsenbord staat de Alt-toets niet direct links van de spatiebalk (daar staat de Command-toets).
In dat geval zou ik ontdekken dat Haiku automatisch de Command-toets gebruikt in plaats van de Alt-toets. Dus, wanneer ik op een Apple toetsenbord werk, zou ik het gevoel hebben dat het toetsenbord een niet-Apple is.
Het is duidelijk dat er verschillende opties in de instellingen zijn, maar automatische herkenning en aanpassing zou fijn zijn, het is tenslotte USB.
Opmerking: writembr voor herstel?
Ik heb gehoord dat je met het commando writembr een systeem (dat werkt met EFI) dat op BIOS laadt, kunt maken.
/> 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 OKHet ziet er goed uit, maar het is nog steeds niet mogelijk om het systeem op te starten, zoals eerder. Misschien omdat opstarten via BIOS alleen werkt met een geschikte indeling en niet met GPT? [we zouden protective MBR moeten proberen… — opmerking van de vertaler]
Conclusie
Haiku is geweldig, maar voor een goede installatie-ervaring is een serieuze aanpak nodig. Bovendien is het opstartproces een kansspel, met een kans van ongeveer 1/3 op succes, ongeacht of je USB2 (netbook op Atom) of USB3 (Acer TravelMate) hebt. Maar tenminste, bij één ontwikkelaar is de hardware hetzelfde. Ik hoop dat mijn 'noob'-ervaring de ontwikkelaars helpt om te begrijpen wat gewone mensen nodig hebben, en om het resultaat net zo elegant te maken als de installer van Mac OS X. Vergeten moet niet worden dat dit zelfs nog geen versie 1.0 is, dus alles is heel goed!
Probeer het zelf! Het Haiku-project biedt imagebestanden voor opstarten vanaf DVD of USB, die dagelijks worden aangemaakt. Voor installatie is het voldoende om het image te downloaden en het op een USB-stick te branden met behulp van
Heb je vragen? We nodigen je uit in ons Russischtalige .
Foutoverzicht:
Vanaf vertaling: dit is het vierde artikel in de cyclus over Haiku.
Lijst van artikelen:
Bron: habr.com
