Mi cuarto día con Haiku: problemas de instalación y arranque

Mi cuarto día con Haiku: problemas de instalación y arranque

TL;DR: Después de varios días de experimentos con Haiku decidí instalarlo en un SSD separado. Pero todo resultó ser más complicado de lo que parecía.

Mi cuarto día con Haiku: problemas de instalación y arranque
Se está llevando a cabo un intenso trabajo de verificación de la carga de Haiku.

Hace tres días descubrí Haiku, un sistema operativo sorprendentemente bueno para PC. Hoy es el cuarto día y tengo ganas de hacer más «trabajo real» con este sistema, y la partición que viene en la imagen Anyboot es demasiado pequeña para eso. Así que tomo un nuevo SSD de 120GB en mis manos, me preparo para el suave funcionamiento del instalador... ¡Y me encuentro con un contratiempo!

La instalación y el arranque suelen recibir atención y amor especial, ya que son las primeras y más importantes impresiones. Espero que el protocolo de mi experiencia como 'novato' resulte útil para el equipo de desarrolladores de Haiku en sus esfuerzos constantes para depurar un sistema operativo que 'simplemente funciona'. Me hago responsable de todos los errores.
Creo que la situación con el arranque por USB será especialmente importante, ya que no todos los usuarios están dispuestos a utilizar el disco SATA principal (ni hablar de NVME...) para experimentar con un sistema operativo completamente desconocido. Me parece que arrancar por USB es el escenario más probable para la mayoría de los usuarios que deciden probar Haiku en hardware real. Los desarrolladores deberían prestarle serias más atención a esto.

Comentario del desarrollador:

Acabamos de empezar a soportar EFI, escribiendo rápidamente una versión beta que arranca en máquinas compatibles con EFI. Los resultados obtenidos están lejos del nivel de soporte deseado. No sé si deberíamos documentar el trabajo actual, o simplemente centrarnos en lograr el resultado adecuado, y después documentar todo.

Tiene sentido, y hay esperanza de que al final todo sea mucho mejor de lo que es ahora. Por ahora, solo puedo comprobar lo que se ha hecho hasta hoy. ¡Vamos allá!

La imagen Anyboot es demasiado pequeña.

Aunque la imagen Anyboot se graba sorprendentemente fácil en una memoria USB común, no hay suficiente espacio en la partición de Haiku para instalar software adicional.

Mi cuarto día con Haiku: problemas de instalación y arranque
Grabar la imagen Anyboot en una memoria USB es bastante simple en principio, pero al final no hay suficiente espacio para trabajar realmente.

Solución rápida: aumentar el tamaño de la partición de Haiku por defecto.

Por lo tanto, para trabajar realmente con Haiku, aún necesitas instalarlo usando la aplicación Installer.

El Installer no hace todo lo necesario en un solo lugar

¿Recuerdas el magnífico instalador de Mac OS X?

Mi cuarto día con Haiku: problemas de instalación y arranque
Instalador de Mac OS X 10.2

Él:

  • inicializa los discos (escribe GPT, la tabla de particiones GUID)
  • crea particiones (EFI, principal) utilizando el 'sentido común' (para el mejor uso del disco)
  • marca la partición de arranque (establece la bandera de arranque en ella)
  • copia archivos

En otras palabras, hace 'todo' sin complicaciones para el usuario.

Por otro lado, hay un Installer para Haiku, que simplemente copia archivos y deja todo lo demás, demasiado complejo, al usuario, que incluso con experiencia podría no comprenderlo de inmediato. Especialmente si necesitas un sistema que arranque tanto en sistemas con BIOS como en EFI.

¿Qué debo hacer?

No lo diré con certeza, pero, en cualquier caso, supongo lo siguiente:

  1. Abrir DriveSetup
  2. Seleccionar el dispositivo para la instalación
  3. Disco->Inicializar->Mapa de particiones GUID…->Continuar->Guardar cambios->Aceptar
  4. Clic derecho en el espacio vacío del dispositivo donde se instalará el sistema
  5. Crear…->Introduzco 256 como tamaño->Datos del sistema EFI (no estoy completamente seguro)->Guardar cambios
  6. Clic derecho en 'Datos del sistema EFI' en el dispositivo donde se instalará el sistema
  7. Inicializar->Sistema de archivos FAT32…->Continuar->Introduzco el nombre: 'EFI', tipo de FAT: 32->Formatear->Guardar cambios
  8. Repito clic derecho en el espacio vacío en el dispositivo deseado
  9. Crear…->Introduzco el nombre de la partición: Haiku, tipo de partición: Be File System->Crear->Guardar cambios
  10. Clic derecho en EFI->Montar
  11. Ejecutar Installer->perplejo por la jerga técnica->Continuar->En el disco: Haiku (me aseguré de que fuera la misma partición que creé anteriormente)->Instalar
  12. En el gestor de archivos, copio el directorio EFI desde el sistema actual a la partición EFI (supongo que esto es necesario para arrancar desde EFI)
  13. [nota del traductor: eliminé este punto de la traducción; en resumen, el autor no logró crear un sistema híbrido para arrancar tanto en EFI como en BIOS]
  14. apago
  15. conecto el nuevo disco que se debe usar para arrancar el sistema [extraño, no tuve que hacer esto. — nota del traductor]
  16. enciendo

Me parece claro: necesitamos una herramienta que realice todo con un solo clic, confirmando a tiempo (!) que se puede borrar el dispositivo.

Solución "rápida": crear un Instalador automático que haga todo.

Bueno, incluso si no es "rápido", debe ser digno. Son las primeras impresiones de un nuevo sistema. Si no se logra instalar (y a mí me ha pasado varias veces), muchos simplemente se alejarán para siempre.

Aclaración técnica sobre DriveSetup de acuerdo con PulkoMandy

BootManager escribe un menú de arranque completo, incluyendo la posibilidad de arrancar desde múltiples sistemas desde el disco, para lo cual solo necesita alrededor de 2kb al inicio del disco. Esto es adecuado para los antiguos esquemas de particionamiento, pero no para GPT, que utiliza los mismos sectores para la tabla de particiones. Por otro lado, writembr escribe un código muy simplificado en el disco, que simplemente encontrará la partición activa y continuará el arranque desde ella. Este código necesita solo los primeros 400 bytes en el disco, por lo que no se superpone con GPT. Tiene un soporte limitado para discos con particionamiento GPT (pero en casos sencillos funcionará como se espera).

Solución rápida: que la GUI para configurar BootManager coloque en el disco todo lo que se instala mediante writembr, si se detecta un particionado GPT. No es necesario colocar un código de 2kb en discos GPT. No es necesario marcar la partición EFI como bootable, solo la partición Haiku.

Primer intento: kernel panic

Hardware

  • Acer TravelMate B117 N16Q9 (se vendió con EndlessOS)
  • lspci
  • lsusb
  • el sistema existente se inició desde un USB Kingston DataTraveler 100 de 16gb, creado a partir de una imagen Anyboot utilizando Etcher en Linux, conectado al puerto USB2.0 (porque no se iniciaba desde el puerto USB3)
  • SSD Kingston A400 de 120gb, solo de fábrica, conectado a un adaptador sata-usb3 ASMedia ASM2115, que está conectado al puerto USB3 en el TravelMate B117.

Resultados

El instalador comienza a copiar archivos, luego aparece un error de entrada/salida, acompañado de un kernel panic.

Mi cuarto día con Haiku: problemas de instalación y arranque
kernel panic

Segundo intento: disco no arrancable

Hardware

Todo igual que antes, pero el SSD está conectado a un adaptador que se conecta a un Hub USB2.0, que a su vez está enchufado en un puerto USB3 en el TravelMate. Verifiqué con un USB de instalación con Windows que esta máquina se inicia desde USB3.

Resultados

Sistema no arrancable. La partición del disco parece haberse perdido debido a BootManager.

Mi cuarto día con Haiku: problemas de instalación y arranque
BootManager. "Escribir menú de arranque" ¿destruye la partición del disco?!

Tercer intento: ¡wow, arranca! Pero no a través del puerto USB3 en esta máquina.

Hardware

Todo es igual que en el segundo intento, pero esta vez no estoy utilizando BootManager en absoluto.
La disposición sin iniciar BootManager se ve así, si se verifica desde Linux.

Mi cuarto día con Haiku: problemas de instalación y arranque
La sección «efi» con el sistema de archivos FAT32 está marcada como de arranque sin iniciar BootManager. ¿Se iniciará en una máquina no-EFI?

Resultados

  • Modo EFI, puerto USB2: inicio directo en Haiku.
  • Modo EFI, concentrador USB2 conectado a un puerto USB3: Mensaje «no boot path found, scan for all partitions…», después del cual aparece la pantalla de arranque con «Select boot volume (Current: haiku)». El botón «Continue booting» está gris, no se puede hacer clic. Si selecciono en la lista «Select Boot Volume» -> Haiku (Current: Latest state) -> Latest state -> Return to main menu -> Continue booting — inicia directamente en Haiku. Es curioso por qué no puede «simplemente iniciarse», y exige tantas complicaciones. Más aún, ya que en la pantalla de arranque se ha encontrado evidentemente la partición de arranque de manera automática. ¿Un error de software?
  • Modo EFI, puerto USB3: inicia directamente en Haiku. Oh, qué alegría… Prematuramente, como resultó. Aparece una pantalla azul, pero durante mucho tiempo no sucede nada. El cursor «dedo» se queda en el centro de la pantalla y no se mueve. El adaptador sata-usb3 parpadea. La cosa terminó en un kernel panic. La imagen Anyboot en la memoria USB3 ni siquiera fue reconocida como de arranque en el hardware actual. Vaya, ¡eso es un bug! Sobre esto, abrí un reporte. una propuesta.

Mi cuarto día con Haiku: problemas de instalación y arranque
Kernel panic al iniciar desde el puerto USB3.

Lo sorprendente es que todavía puedo ingresar comandos, pero tendré que usar el layout en inglés. Así que, hago como se recomendó:

Mi cuarto día con Haiku: problemas de instalación y arranque
firma de la imagen: salida syslog | tail 15 — mientras el núcleo está en pánico.

Llamar el comando reiniciar, desafortunadamente, no funciona.

Cuarta tentativa: segundo ordenador.

He trasladado un disco idéntico (que funciona correctamente) a otra máquina, donde he verificado su funcionamiento con diferentes puertos.

Hardware

Todo igual que en el tercer intento, pero en el Acer Revo One RL 85.

Resultados

  • Modo EFI, puerto USB2: Mensaje «no boot path found, scan for all partitions…», después del cual aparece la pantalla de arranque con «Select boot volume (Current: haiku)». El botón «Continue booting» está gris, no se puede hacer clic. Si selecciono en la lista «Select Boot Volume» -> Haiku (Current: Latest state) -> Latest state -> Return to main menu -> Continue booting — inicia directamente en Haiku. El apagado se congela en el mensaje «Shutting down…».
  • Modo EFI, concentrador USB2 conectado a un puerto USB3: se requiere aclaración.
  • Modo EFI, puerto USB3: Mensaje 'no se encontró la ruta de arranque, escaneando todas las particiones...', tras lo cual aparece la pantalla de arranque con 'Seleccionar volumen de arranque (Actual: haiku)'. El botón 'Continuar arrancando' está gris y no se puede presionar. Si se elige en la lista 'Seleccionar volumen de arranque' -> Haiku (Actual: Último estado) -> Último estado -> Regresar al menú principal -> Continuar arrancando, se inicia directamente en Haiku.
    Cabe destacar que, a diferencia del primer sistema, hay un arranque normal hasta el escritorio sin kernel panic. La apagado se queda colgado en el mensaje 'Apagando...'.
  • Modo EFI, puerto sata: Se arranca directamente en Haiku. La apagado se queda colgado en el mensaje 'Apagando...'.
  • Modo CSM BIOS, puerto USB2: se requiere aclaración
  • Modo CSM BIOS, hub USB2, conectado al puerto USB3: se requiere aclaración
  • Modo CSM BIOS, puerto USB3: se requiere aclaración
  • Modo CSM BIOS, puerto sata: Pantalla negra con el mensaje 'Reinicie y seleccione el dispositivo de arranque adecuado o inserte los medios de arranque en el dispositivo seleccionado y presione una tecla'. ¿Vino del CSM BIOS? [Sí, el mismo mensaje aparece en mi sistema si no encuentra el cargador. — nota del traductor]

Quinta prueba: tercera máquina

Moví este mismo disco a la tercera máquina, lo probé en diferentes puertos.

Hardware

Lo mismo que en la tercera prueba, pero en Dell Optiplex 780. Si no me equivoco, en esta máquina hay un EFI antiguo, que aparentemente siempre funciona en modo CSM BIOS.

Resultados

  • Puerto USB2: arrancando Haiku
  • Puerto USB3 (a través de tarjeta PCIe, controlador USB 3.0 de Renesas Technology Corp. uPD720202): se requiere aclaración
  • Puerto sata: se requiere aclaración

Sexta prueba, cuarta máquina, MacBook Pro

Hardware

Todo igual que en la tercera prueba, pero con MacBookPro 7.1

Resultados

Mi cuarto día con Haiku: problemas de instalación y arranque
Cómo Mac ve la memoria USB con Haiku.

  • Modo CSM ('Windows'): pantalla negra con el mensaje 'No hay unidad de arranque — inserte disco de arranque y presione cualquier tecla'. ¿Vino del Apple CSM?
  • Modo UEFI ('Arranque EFI'): se detiene en la pantalla de selección del dispositivo de arranque.

Séptima prueba, netbook Lenovo con procesador Atom de 32 bits

Hardware

  • Memoria USB Kingston DataTraveler 100 de 16 GB, creada en Linux usando Etcher, con la imagen de Anyboot de 32 bits desde aquí.

  • Netbook Lenovo ideapad s10 con procesador Atom sin disco duro.

  • lspci de esta máquina, grabado en linux.

  • lsusb

    00:1d.7 Controlador USB: Controlador USB2 EHCI de la familia Intel Corporation NM10/ICH7 (rev 02) (prog-if 20 [EHCI])
    Subconjunto: Controlador USB2 EHCI de la familia Lenovo NM10/ICH7
    Control: E/S- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx-
    Estado: Cap+ 66MHz- UDF- FastB2B+ ParErr- DEVSEL=medio >TAbort- <TAbort- SERR- <PERR- INTx-
    Latencia: 0
    Interrupción: pin A enrutado a IRQ 23
    Región 0: Memoria en f0844000 (32 bits, no prefetchable) [tamaño=1K]
    Capacidades: [50] Gestión de Energía versión 2
        Banderas: PMEClk- DSI- D1- D2- CorrienteAux=375mA PME(D0+,D1-,D2-,D3hot+,D3cold+)
        Estado: D0 NoSoftRst- PME-Enable- DSel=0 DScale=0 PME-
    Capacidades: [58] Puerto de depuración: BAR=1 desplazamiento=00a0
    Controlador del núcleo en uso: ehci-pci

Resultados

Está cargando, luego ocurre un kernel panic, comando syslog|tail 15 muestra kDiskDeviceManager::InitialDeviceScan() falló: No existe tal archivo o directorio después de varios errores ATA. Nota: Intenté arrancar desde USB, no desde SATA.

Mi cuarto día con Haiku: problemas de instalación y arranque
Kernel panic en la netbook Lenovo ideapad s10 al iniciar desde un pen drive.

Por curiosidad, conecté el disco al puerto SATA, pero no noté ninguna diferencia con el pen drive. Aunque recibí mensajes diferentes al usar el comando syslog|tail 15 (dijo que encontró /dev/disk/ata/0/master/1).

mr. waddlesplash me pidió que ejecutara el comando `syslog | grep usb para este caso, así que aquí están los resultados. Estoy contento de poder ejecutar comandos como estos en la pantalla con kernel panic.

Mi cuarto día con Haiku: problemas de instalación y arranque
Mi cuarto día con Haiku: problemas de instalación y arranque

Según el Sr. waddlesplash, este error de EHCI es el mismo que en esta solicitud

Octava prueba: netbook MSI con procesador Atom de 32 bits

Hardware

Como antes

  • Netbook Medion Akoya E1210 (bajo la marca MSI Wind U100) con disco instalado (que no estoy usando para Haiku).
  • lspci de esta máquina
  • lsusb de esta máquina
    00:1d.7 Controlador 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
    Interrupción: pin A enrutado a IRQ 23
    Región 0: Memoria en dff40400 (32 bits, no prefetchable) [tamaño=1K]
    Capacidades: [50] Versión 2 de administración de energía
        Banderas: PMEClk- DSI- D1- D2- AuxCurrent=375mA PME(D0+,D1-,D2-,D3hot+,D3cold+)
        Estado: D0 NoSoftRst- PME-Enable- DSel=0 DScale=0 PME-
    Capacidades: [58] Puerto de depuración: BAR=1 offset=00a0
    Controlador del kernel en uso: ehci-pci

Resultados

Arranca en el Instalador de Haiku. ¡Funciona el TouchPad! (por ejemplo, el desplazamiento). La tarjeta gráfica fue reconocida como Intel GMA (i945GME).

Novena prueba: pen drive con imagen de 32 bits en MacBook Pro

Hardware

  • Como antes.
  • MacBook 7.1

Resultados

Pantalla negra con el mensaje «No hay disco de arranque - inserte el disco de arranque y presione cualquier tecla».

Nota: el teclado de Apple

En la esquina inferior izquierda de cualquier teclado en la fila inferior están las siguientes teclas:
no-Apple: Ctrl-Fn-Windows-Alt-Barra espaciadora
Apple: Fn-Ctrl-(Opción o Alt)-Command-Barra espaciadora

Sería genial que todos los teclados en Haiku se comportaran de manera uniforme, para que se pudieran usar de la misma manera, sin importar lo que realmente esté escrito en ellos.
En el teclado de Apple la tecla Alt no está directamente a la izquierda de la barra espaciadora (en su lugar, hay una tecla Command).
En este caso, me daría cuenta de que Haiku usaría automáticamente la tecla Command en lugar de la tecla Alt. Así que, usando un teclado de Apple, sentiría que el teclado no es de Apple.
Obviamente, hay diferentes opciones en la configuración, pero me gustaría un reconocimiento y ajuste automático, después de todo, es USB.

Nota: ¿writembr para la recuperación?

He escuchado que con el comando writembr se puede hacer que el sistema (funcionando con EFI) arranque desde 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

Se ve bien, pero aún así no se puede arrancar el sistema, como antes. ¿Podría ser porque el arranque desde BIOS solo funciona con una tabla de particiones adecuada y no con GPT? [debería intentar con MBR protector... — nota del traductor]

Conclusión

Haiku es impresionante, pero para obtener experiencia en la instalación se necesita un enfoque serio. Además, el proceso de arranque es una lotería, con posibilidades de éxito de aproximadamente 1/3, sin importar si tienes USB2 (netbook con Atom) o USB3 (Acer TravelMate). Pero al menos, un desarrollador tiene el mismo hardware. Espero que mi experiencia de "novato" ayude a los desarrolladores a entender qué necesitan los "mortales", y a hacer que el resultado sea tan elegante como el instalador de Mac OS X. No hay que olvidar que esto ni siquiera es la versión 1.0, ¡así que todo está muy bien!

¡Intenta tú mismo! El proyecto Haiku proporciona imágenes para descargar desde DVD o USB, formadas diariamente. Para instalar, solo necesitas descargar la imagen y grabarla en un pendrive con Etcher

¿Tienes preguntas? Te invitamos a nuestro canal de telegram en ruso.

Revisión de errores: Cómo dispararte en el pie en C y C++. Recopilación de recetas de Haiku OS

Desde autor traducción: este es el cuarto artículo de una serie sobre Haiku.

Lista de artículos: Primero Segundo Tercero

Fuente: habr.com

Compra un hosting fiable para sitios web con protección contra DDoS, servidores VPS VDS 🔥 Compra un hosting fiable para sitios web con protección contra DDoS, servidores VPS VDS | ProHoster