Mia kvara tago kun Hajko: problemoj kun instalado kaj elŝutado

Mia kvara tago kun Hajko: problemoj kun instalado kaj elŝutado

TL; DR: post kelkaj tagoj da eksperimentado Haiku Mi decidis meti ĝin sur aparta SSD. Sed ĉio montriĝis ne tiel facila.

Mia kvara tago kun Hajko: problemoj kun instalado kaj elŝutado
Ni multe laboras por kontroli la elŝuton de Haiku.

Antaŭ tri tagoj Mi eksciis pri Haiku, surprize bona operaciumo por komputiloj. Estas la kvara tago kaj mi volis fari pli da "reala laboro" kun ĉi tiu sistemo, kaj la sekcio kiu venas kun la Anyboot-bildo estas tro malgranda por tio. Tiam mi prenas tutnovan 120GB SSD, prepariĝas por la glata laboro de la instalilo... Kaj mizero atendas min!

Instalado kaj elŝutado estas kutime multe da atento kaj amo ĉar ili estas la unuaj kaj plej gravaj impresoj. Oni esperas, ke la protokolo de mia "novulo" sperto estos utila al la disvolva teamo de Haiku en siaj daŭraj klopodoj sencimigi operaciumon kiu "nur funkcias". Mi prenas sur min ĉiujn erarojn!
Ŝajnas al mi, ke la situacio kun ekŝargo per USB estos speciale grava, ĉar ne ĉiu uzanto pretas uzi la ĉefan SATA-diskon (mi ne parolas pri NVME...) por eksperimenti kun tute nekonata operaciumo. Mi pensas, ke USB-ŝargo estas la plej verŝajna scenaro por la plej multaj uzantoj, kiuj decidas provi Haiku sur reala aparataro. Programistoj devus serioze rigardi ĉi tion.

Komento de la programisto:

Ni ĵus komencis EFI-subtenon rapide skribante beta-version, kiu ekfunkciigas sur EFI-ebligitaj maŝinoj. La rezultoj akiritaj estas ankoraŭ malproksime de la dezirata nivelo de subteno. Mi ne scias, ĉu ni devus dokumenti la daŭran laboron, aŭ nur koncentriĝi por atingi la deziratan rezulton, kaj poste dokumenti ĉion.

Ĝi sonas signifa, kaj estas espero, ke finfine ĉio estos multe pli bona ol nun. Nuntempe mi nur povas kontroli tion, kio estas farita por hodiaŭ. Ni komencu...

Anyboot-bildo estas tro malgranda

Malgraŭ la fakto, ke la bildo de Anyboot estas surprize facile skribi al regula poŝmemoro, ĝi ne havas sufiĉe da spaco sur la Haiku-sekcio por instali plian programaron.

Mia kvara tago kun Hajko: problemoj kun instalado kaj elŝutado
Skribi Anyboot-bildon al poŝmemoro estas principe sufiĉe simpla, sed kiel rezulto mankas sufiĉe da spaco por vera laboro.

Rapida solvo: pligrandigu la defaŭltan Haiku-diskongrandecon.

Do por efektive uzi Hajkon, vi ankoraŭ bezonas instali ĝin per la instalilo.

Instalilo ne faras ĉion, kion vi bezonas en unu loko

Ĉu vi memoras la bonegan instalilon de Mac OS X?

Mia kvara tago kun Hajko: problemoj kun instalado kaj elŝutado
Instalilo de Mac OS X 10.2

Li:

  • pravalorigas diskojn (skribas GPT, GUID-diskotigan tabelon)
  • kreas sekciojn (EFI, primara) uzante "ordinaran prudenton" (por plej bona uzo de la disko)
  • markas la ekŝargan sekcion (metas la starteblan flagon sur ĝin)
  • kopias dosierojn

Alivorte, ĝi faras "ĉion" sen iu ajn tumulto por la uzanto.

Aliflanke, ekzistas Instalilo por Haiku, kiu simple kopias dosierojn kaj lasas ĉion alian al la uzanto, kio estas tro maloportuna, kion eĉ kun sperto vi ne tuj komprenos. Precipe se vi bezonas sistemon kiu ekfunkciigas ambaŭ BIOS kaj EFI-sistemoj.

Kion mi devus fari?

Mi ne povas diri certe, sed ĉiukaze, mi konjektas ĉi tion:

  1. Malfermu DriveSetup
  2. Elektu aparaton por instali
  3. Disko->Initialize->GUID Partition Map...->Daŭrigu->Konservi Ŝanĝojn->Bone
  4. Dekstre alklaku malplenan spacon sur la aparato, kie la sistemo estos instalita
  5. Krei...->Mi enigas 256 kiel la grandecon->EFI-sisteman datumojn (ne tute certas)-> Konservi ŝanĝojn
  6. Dekstre alklaku "EFI-sistemajn datumojn" sur la aparato, kie la sistemo estos instalita
  7. Inicialigu->FAT32 Dosiersistemo...->Daŭrigu->Enigu la nomon: “EFI”, FAT-bitprofundo: 32->Formato->Konservi ŝanĝojn
  8. Mi ripetas la dekstran klakon sur malplena spaco sur la dezirata aparato
  9. Krei...->Enigu la nomon de la diskparto: Haiku, la tipo de diskparto: Estu Dosiersistemo->Krei->Konservi ŝanĝojn
  10. Dekstre alklaku EFI->Konekti
  11. Mi lanĉas Instalilon -> konfuzita de la teknoslango -> Daŭri -> Al disko: Haiku (certigis, ke ĝi estas la sama diskparto, kiun mi kreis antaŭe) -> Instali
  12. En la dosieradministranto, mi kopias la EFI-dosierujon de la nuna sistemo al la EFI-diskodo (mi kredas, ke ĉi tio estas necesa por ekŝargi de EFI)
  13. [ĉ. tradukisto: forigis ĉi tiun alineon el la traduko; resume, la aŭtoro ne tute regis la kreadon de hibrida sistemo por lanĉi kaj EFI kaj BIOS]
  14. Mi malŝaltas ĝin
  15. Mi konektas la nove kreitan diskon al la haveno de kiu la sistemo certe ekŝargos [strange, mi ne devis fari tion. — ĉ. tradukisto]
  16. ŝaltu ĝin

Ŝajnas al mi, ke ĝi estas klare videbla: ni bezonas ilon, kiu faros ĉion per tuŝo de butono, kun ĝustatempa (!) konfirmo, ke la aparato povas esti forigita.

"Rapida" solvo: faru aŭtomatan Instalilon, kiu faras ĉion.

Nu, eĉ se ĝi ne estas "rapida", ĝi estas deca. Ĉi tiuj estas la unuaj impresoj de la nova sistemo. Se vi ne povas instali ĝin (kaj tio okazis al mi plurfoje), multaj simple trankvile foriros por ĉiam.

Teknika klarigo pri DriveSetup laŭ PulkoMandy

BootManager skribas plenan startmenuon, inkluzive de la kapablo lanĉi plurajn sistemojn de disko, por tio ĝi bezonas nur ĉirkaŭ 2kb komence de la disko. Ĉi tio funkcias por pli malnovaj diskpartigaj skemoj, sed ne por GPT, kiu uzas la samajn sektorojn por la diskpartiga tabelo. Aliflanke, writembr skribas tre simpligitan kodon al disko, kiu simple trovos la aktivan subdiskon kaj daŭrigos ekŝargi de ĝi. Ĉi tiu kodo bezonas nur la unuajn 400 bajtojn sur la disko, do ĝi ne malhelpas GPT. Ĝi havas limigitan subtenon por GPT-diskoj (sed por simplaj kazoj ĉio estos bone).

Rapida riparo: Havu la agordan GUI de BootManager metu ion ajn instalitan uzante writembr al disko se GPT-dispartigo estas detektita. Ne necesas meti 2kb-kodon sur GPT-diskojn. Ne necesas agordi la starteblan flagon sur la EFI-diskodo, nur sur la Haiku-diskodo.

Unua provo: kernelpaniko

Ekipaĵo

  • Acer TravelMate B117 N16Q9 (vendita kun EndlessOS)
  • lspci
  • lsusb
  • la ekzistanta sistemo estis lanĉita de 100GB Kingston DataTraveler 16 poŝmemoro farita de Anyboot-bildo uzanta Etcher sur Linukso, enigita en la USB2.0-havenon (ĉar ĝi ne startis de la USB3-haveno)
  • SSD Kingston A400 grandeco 120GB, nur de la fabriko, konektita al sata-usb3 adaptilo ASMedia ASM2115, kiu estas konektita al la USB3 haveno en la TravelMate B117.

Результаты

Instalilo komencas kopii dosierojn, tiam aperas I/O-eraro, akompanata de kerna paniko

Mia kvara tago kun Hajko: problemoj kun instalado kaj elŝutado
paniko de kerno

Dua provo: disko ne startos

Ekipaĵo

Ĉio estas la sama kiel antaŭe, sed la SSD estas konektita al adaptilo, kiu estas konektita al la USB2.0 Hub, konektita al la USB3-haveno en la TravelMate. Mi kontrolis per Windows-instala poŝmemoro, ke ĉi tiu maŝino ekfunkciigas de USB3.

Результаты

Nekomencebla sistemo. La disko-aranĝo ŝajnis malaperis pro BootManager.

Mia kvara tago kun Hajko: problemoj kun instalado kaj elŝutado
BootManager. Ĉu "Write boot menu" detruas la diskaranĝon?!

Tria provo: wow, ĝi ŝarĝas! Sed ne per USB3-haveno sur ĉi tiu maŝino

Ekipaĵo

Ĉio estas sama kiel en la dua provo, sed ĉi-foje mi tute ne uzas BootManager.
La markado sen ruli BootManager aspektas tiel kiam kontrolite de Linukso.

Mia kvara tago kun Hajko: problemoj kun instalado kaj elŝutado
"efi" sekcio kun FAT32 dosiersistemo estas markita kiel startebla sen ruli BootManager. Ĉu ĝi funkcios per ne-EFI-maŝino?

Результаты

  • EFI-reĝimo, USB2-haveno: elŝutu rekte al Haiku
  • EFI-reĝimo, USB2-nabo, konektita al USB3-haveno: Mesaĝo "neniu lanĉa vojo trovita, skanu ĉiujn subdiskojn...", sekvata de ekfunkciigo kun "Elektu lanĉan volumon (Nuna: hajko)". La butono "Daŭrigi lanĉon" estas griza kaj ne povas esti premita. Se vi elektas "Elektu Boot Volumon" en la listo -> Hajko (Nuna: Plej nova stato) -> Lasta stato -> Reveni al la ĉefa menuo -> Daŭri lanĉado - ĝi ŝargas rekte en Hajkon. Mi scivolas, kial ĝi ne povas "nur ekbruligi", sed postulas dancadon per tamburino? Krome, la ekfunkciigo estas klare aŭtomate trovita sur la ŝarĝa ekrano. Eraro de programaro?
  • EFI-reĝimo, USB3-haveno: ekfunkciigas rekte en Haiku. Ve, kiel mi ĝojas... Trofrua, kiel evidentiĝis. Blua ekrano estas montrata, sed nenio okazas dum multe da tempo. La fingrokursoro pendas meze de la ekrano kaj ne moviĝas. La adaptilo sata-usb3 palpebrumas. La afero finiĝis kun kerna paniko. La Anyboot-bildo sur USB3-memordisko eĉ ne estis rekonita kiel startebla sur la nuna aparataro. Bah, ĝi estas cimo! Pri tio mi komencis ofertu.

Mia kvara tago kun Hajko: problemoj kun instalado kaj elŝutado
Kernelpaniko dum ekŝargo de USB3-haveno.

Mirinda estas, ke vi ankoraŭ povas tajpi komandojn, sed vi devas uzi la anglan aranĝon. Do mi faras kiel konsilite:

Mia kvara tago kun Hajko: problemoj kun instalado kaj elŝutado
bildoteksto: eligo syslog | tail 15 - dum la kerno panikiĝas

Voki komandon reboot, bedaŭrinde, ne funkcias.

Kvara provo: dua aŭto

Mi translokigis la saman (ĝuste funkciantan) diskon al alia maŝino, kie mi kontrolis, ke ĝi funkcias kun malsamaj havenoj.

Ekipaĵo

Ĉio estas sama kiel en la tria provo, sed sur Acer Revo One RL 85.

Результаты

  • EFI-reĝimo, USB2-haveno: Mesaĝo "neniu lanĉa vojo trovita, skanu por ĉiuj subdiskoj...", sekvata de ekfunkciigo kun "Elektu lanĉan volumon (Nuna: hajko)". La butono "Daŭrigi lanĉon" estas griza kaj ne povas esti premita. Se vi elektas "Elektu Boot Volumon" en la listo -> Hajko (Nuna: Plej nova stato) -> Plej nova stato -> Reveni al la ĉefa menuo -> Daŭrigi lanĉadon - ĝi ŝarĝas rekte en Hajkon. Malŝalto dependas de la mesaĝo "Malŝalto...".
  • EFI-reĝimo, USB2-nabo, konektita al USB3-haveno: klarigo bezonata
  • EFI-reĝimo, USB3-haveno: Mesaĝo "neniu lanĉa vojo trovita, skanu por ĉiuj subdiskoj...", sekvata de ekfunkciigo kun "Elektu lanĉan volumon (Nuna: hajko)". La butono "Daŭrigi lanĉon" estas griza kaj ne povas esti premita. Se vi elektas "Elektu Boot Volumon" en la listo -> Hajko (Nuna: Plej nova stato) -> Lasta stato -> Reveni al la ĉefa menuo -> Daŭri lanĉado - ĝi ŝargas rekte en Hajkon.
    Bonvolu noti, ke, male al la unua sistemo, ekzistas normala lanĉo al la labortablo sen kernelpaniko. Malŝalto dependas de la mesaĝo "Ŝaltiĝo en progreso."
  • EFI-reĝimo, sata haveno: Botoj rekte en Hajkon. Malŝalto dependas de la mesaĝo "Malŝalto...".
  • CSM BIOS-reĝimo, haveno USB2: klarigo bezonata
  • CSM BIOS-reĝimo, USB2-nabo konektita al USB3-haveno: klarigo bezonata
  • CSM BIOS-reĝimo, haveno USB3: klarigo bezonata
  • CSM-BIOS-reĝimo, sata-haveno: Nigra ekrano kun la vortoj "Reboot kaj Elektu taŭgan Bot-Aparaton aŭ Enmetu Bot-Aparaton en elektitan aparaton kaj premu klavon." Ĉu ĝi venis de CSM-BIOS? [Jes, mia sistemo donas ĝuste la saman mesaĝon se ĝi ne trovas la ekŝargilon. — ĉ. tradukisto]

Kvina provo: tria aŭto

Mi translokigis la saman diskon al tria maŝino kaj kontrolis ĝin en malsamaj havenoj.

Ekipaĵo

Same kiel en la tria provo, sed sur Dell Optiplex 780. Se mi ne eraras, ĉi tiu maŝino havas fruan EFI, kiu ŝajne ĉiam funkcias en CSM-BIOS-reĝimo.

Результаты

  • USB2 haveno: Haiku elŝuto
  • USB3-haveno (per PCIe-karto, Renesas Technology Corp. uPD720202 USB 3.0 Host Controller): klarigo bezonata
  • sata haveno: klarigo bezonata

Sesa provo, kvara maŝino, MacBook Pro

Ekipaĵo

Ĉio estas sama kiel en la tria provo, sed kun MacBookPro 7.1

Результаты

Mia kvara tago kun Hajko: problemoj kun instalado kaj elŝutado
Kiel Mac vidas flash drive kun Hajko.

  • CSM-reĝimo (Vindozo): nigra ekrano kun la vortoj "Neniu startebla disko - enigu lanĉan diskon kaj premu ajnan klavon." Ĉu ĝi venis de Apple CSM?
  • UEFI-Reĝimo ("EFI Boot"): Haltas ĉe la ekrano de elekta aparato de lanĉado.

Sepa provo, Lenovo netbook kun 32-bita Atom-procesoro

Ekipaĵo

  • Kingston DataTraveler 100 16GB poŝmemoro farita en Linukso uzante Etcher per 32-bita Anyboot-bildo de ĉi tie.

  • Lenovo ideapad s10 netbook bazita sur Atom-procesoro sen malmola disko.

  • lspci de ĉi tiu aŭto, filmita sur Linukso.

  • 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: 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

Результаты

Ŝarĝo en progreso, tiam kernelpaniko okazas, komando syslog|tail 15 deduktas kDiskDeviceManager::InitialDeviceScan() failed: No such file or directory post pluraj ATA-eraroj. Noto: Mi provis lanĉi de USB, ne sata.

Mia kvara tago kun Hajko: problemoj kun instalado kaj elŝutado
Kernelpaniko sur Lenovo ideapad s10 netbook dum ekŝargo de poŝmemoro.

Nur por amuzo, mi enmetis la diskon en la sata-havenon, sed mi ne rimarkis multe da diferenco kun la flash drive. Kvankam mi ricevis malsamajn mesaĝojn uzante la komandon syslog|tail 15 (ĝi diris, ke ĝi trovis /dev/disk/ata/0/master/1).

s-ro. waddlesplash petis min ekzekuti la komandon `syslog | grep usb por ĉi tiu kazo, do jen la rezultoj. Mi ankoraŭ ĝojas, ke eblas ruli tiajn komandojn sur la ekrano kun kernelpaniko.

Mia kvara tago kun Hajko: problemoj kun instalado kaj elŝutado
Mia kvara tago kun Hajko: problemoj kun instalado kaj elŝutado

Laŭ s-ro. waddlesplash ĉi tiu EHCI-eraro estas la sama kiel en ĉi tiu aplikaĵo

Oka provo: MSI-netbook kun 32-bita Atom-procesoro

Ekipaĵo

Kiel antaŭe

  • Medion Akoya E1210 netbook (etikedita MSI Wind U100) kun disko instalita (kiun mi ne uzas por Hajko).
  • lspci ĉi tiu maŝino
  • lsusb de ĉi tiu maŝino
    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- <MAbort- >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
    Kernel driver in use: ehci-pci

Результаты

Alŝutite al Instalilo Hajko. Tuŝplato funkcias! (ekzemple movo). La vidkarto estis rekonita kiel Intel GMA (i945GME).

Naŭa provo: flash drive kun 32-bita bildo sur MacBook Pro

Ekipaĵo

  • Kiel antaŭe.
  • MacBook 7.1

Результаты

Nigra ekrano kun la vortoj "Neniu startebla disko - enigu lanĉan diskon kaj premu ajnan klavon."

Noto: Apple Keyboard

En la malsupra maldekstra angulo de iu ajn klavaro sur la malsupra vico estas la sekvaj butonoj:
ne-Apple: Ctrl-Fn-Vindozo-Alt-Spacobreto
Apple: Fn-Ctrl-(Opcio aŭ Alt)-Komando-Spacobreto

Estus bonege, se ĉiuj klavaroj en Hajko kondutus same, tiel ke ili povus esti uzataj same, sendepende de tio, kio estis efektive stampita sur ili.
Sur Apple-klavaro, la Alt-butono ne estas tuj maldekstre de la spacbreto (la Komandŝlosilo estas tie anstataŭe).
En ĉi tiu kazo, mi trovus, ke Hajko aŭtomate uzus la Komando-klavon anstataŭ la Alt-klavon. Do, uzante klavaron de Apple, mi sentus, ke la klavaro ne estas Apple.
Evidente, estas malsamaj opcioj en la agordoj, sed mi ŝatus aŭtomatan rekonon kaj ĝustigon, ĉar ĉi tio estas USB, finfine.

Noto: writembr por reakiro?

Mi aŭdis tion uzante la komandon writembr vi povas ekfunkciigi la sistemon (funkcianta kun EFI) el 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

Ĝi aspektas bone, sed la rezulto estas, ke la sistemo ankoraŭ ne kapablas lanĉi kiel antaŭe. Eble ĉar ekŝargo per BIOS funkcias nur kun taŭgaj subdiskoj kaj ne GPT? [Mi devus provi protektan MBR... — ĉ. tradukisto]

konkludo

Hajko estas mirinda, sed la instalado-sperto postulas seriozan aliron. Krome, la ekfunkciigo estas loterio, kun ŝanco de sukceso de ĉirkaŭ 1/3, kaj ne gravas ĉu vi havas USB2 (netbook sur Atom) aŭ USB3 (Acer TravelMate). Sed almenaŭ unu programisto havas la saman aparataron. Mi esperas, ke mia "noob" sperto helpos programistojn kompreni, kion bezonas "nuraj mortuloj", kaj ankaŭ fari la rezulton tiel eleganta kiel la instalilo de Mac OS X. Ne forgesu, ke ĉi tio eĉ ne estas versio 1.0, do ĉio estas tre bona!

Provu ĝin mem! Post ĉio, la Haiku-projekto provizas bildojn por ekfunkciigo de DVD aŭ USB, generitaj ĉiutaga. Por instali, simple elŝutu la bildon kaj bruligu ĝin al USB-memorilo uzante Etcher

Ĉu vi havas demandojn? Ni invitas vin al la ruslingva telegramkanalo.

Superrigardo de eraroj: Kiel pafi vin en la piedon en C kaj C++. Kolekto de Receptoj de Haiku OS

el la verkisto traduko: jen la kvara artikolo en la serio pri Hajko.

Listo de artikoloj: La unua La dua La tria

fonto: www.habr.com

Aldoni komenton