¿Qué cargador de arranque se usa en una Chromebook?

12

Instalé ChrUbuntu en un Chromebook Acer C7 , y puedo iniciar dual Ubuntu 12.04 y ChromeOS y controlar qué sistema operativo se carga por defecto. Traté de editar el /etc/default/grubarchivo y lo ejecuté con update-grubéxito, pero no vi ningún efecto. Intenté habilitar una pantalla de carga detallada del sistema "dmesg" en lugar de la pantalla de inicio silenciosa (durante el arranque de Ubuntu). Sospecho que GRUB no es el gestor de arranque de la máquina o funciona como un gestor de arranque secundario bastante tardío solo en la partición de Linux. Me doy cuenta de que el Chromebook es un sistema bastante cerrado estrechamente controlado por Google, pero dado que es Linux en el fondo la gente puede saber la respuesta.

No necesito el estilo "dmesg" de arranque detallado lo suficiente; pero se hizo curioso acerca de la carga de arranque en este sistema.

PD: Solo para aclarar, estaba tratando de habilitar la pantalla de carga detallada en el arranque de Ubuntu en la máquina.

Haziz
fuente
3
"Debido a que los Chromebook usan un BIOS y un cargador de arranque especiales que son distintos de los que se usan en las computadoras portátiles estándar de Windows, no se pueden usar para arrancar cualquier sistema operativo. Aquí es donde entra ChrUbuntu: es una versión de Ubuntu 12.04 LTS modificada a trabajar con hardware de Chrome OS ". ( ver aquí )
sr_

Respuestas:

6

ChromeOS usa U-Boot:

"Chromium OS es esencialmente una distribución GNU / Linux especialmente diseñada. Queremos realizar la menor cantidad posible de modificaciones en el kernel ascendente, idealmente ninguna. Pero como con cualquier otro sistema GNU / Linux, el proceso de arranque previo al kernel es inevitablemente dependiente en el hardware, BIOS y gestor de arranque ".

Aunque ChromeOS tiene su propia forma personalizada de arranque:

"Los dispositivos de Google Chrome OS (x86 / x86_64 / arm) tienen BIOS personalizadas que utilizan otro método de arranque para garantizar que el usuario ejecute solo los bits que están destinados. En lugar de un gestor de arranque y un núcleo separados, hay un blob binario contenido en su propia partición GPT. Ese blob está firmado criptográficamente y la firma se verifica antes de arrancar ".

Más información en: http://www.chromium.org/chromium-os/chromiumos-design-docs/disk-format

usuario56801
fuente
1
CoreBoot es la norma de firmware para Chromebooks: "BIOS" es técnicamente inexacto, pero entendí lo esencial.
mikeserv
@mikeserv está citando de los documentos de Chromium. Además, no hay necesidad de comentar sobre cada respuesta diciendo que es correcto; un simple voto a favor será suficiente.
Strugee
Bueno, no puedes detener a un hombre con una misión, sabes ...
mikeserv
1

Puede ser bastante confuso, especialmente en retrospectiva porque mi Lenovo N22 (reks) con chrx / Gallium se comporta como usted espera que sea: Grub se hace cargo del arranque cuando el firmware transfiere el control al sistema operativo. Pero esto no se aplica al proceso de arranque de Chrome OS donde el kernel se hace cargo directamente, eche un vistazo a la imagen e información sobre los diferentes métodos que publiqué aquí . No he profundizado en los detalles (y probablemente nunca lo haré), pero supongo que dado que estaba usando el kernel de Chrome OS para arrancar Ubuntu (no hay gestor de arranque involucrado entre el firmware y el kernel) se le indicó al kernel que arrancara otro sistema de archivos raíz que Chrome OS uno en ese entonces.

El autor de ChrUbuntu publicó lo siguiente el 15 de octubre de 2013:

Desde que comencé ChrUbuntu en diciembre de 2010, siempre ha sido necesario utilizar el kernel de Chrome OS Linux con Ubuntu para resolver algunos problemas de compatibilidad con la arquitectura de Chromebook. Eso cambió con el Chromebook Pixel y los nuevos Chromebook basados ​​en Haswell, como el Acer C720 y el HP Chromebook 14. Cada uno de estos modelos admite el arranque desde un modo BIOS de PC más tradicional, lo que simplifica el uso de los núcleos de Ubuntu en ellos.

No conozco todos los detalles, solo probé un Chromebook basado en ARM hace mucho tiempo antes de obtener el N22 este año, mi interpretación es que se trata de todo basado en una placa base resbaladiza y posterior o su plataforma2 como se señala en la fuente repositorios

LiveWireBT
fuente
-1

No estoy 100% seguro, pero el gestor de arranque está dentro del BIOS. El kernel se carga directamente desde la partición, por ejemplo, no hay sistema de archivos. Esta es la razón por la que necesita GPT en lugar de la tabla de partición DOS normal.

Mella
fuente
1
Esto es descaradamente falso. lea un poco sobre qué es un gestor de arranque, qué es un BIOS y cuáles son las diferencias exactas entre GPT y un MBR.
strugee
1
Bueno, gracias por -1. El gestor de arranque de Chromebook tiene 3 partes. Uno en el BIOS de solo lectura, uno en el BIOS de lectura y escritura y uno en la partición EFI. La última (partición EFI) puede no existir. En este caso, la parte del BIOS de lectura-escritura arrancará la primera partición "kernel de Chromebook" marcada como "buena". Bootloader es la bifurcación de "uboot"
Nick
1
Además, dado que eres nuevo en Stack Exchange, debo mencionar que un voto negativo no es un ataque personal, solo significa que quien lo votó piensa que la publicación es errónea (y la votación no dice nada sobre tus otras publicaciones o sobre ti) una persona). También, perdón por ser grosero en mi comentario anterior.
Strugee
1
@strugee La mayoría de las Chromebooks son CoreBoot en realidad, ni UEFI ni BIOS. el usuario #### anterior tiene razón acerca de u-boot: es la carga útil de CoreBoot en las Chromebooks. Nick tiene una terminología errónea, pero hay mucho que se maneja en el firmware que no se ve en ningún otro lugar; por ejemplo, restablecer los valores predeterminados del fabricante es una operación de firmware.
mikeserv
1
La situación es más compleja, hay diferentes iteraciones de la plataforma y ha habido diferentes componentes involucrados en ese momento. No puedo decir que lo hubiera hecho mejor en ese momento. Me acaba de publicar una nueva respuesta, aquí es también un enlace a una visión general de lo que se ha utilizado hasta ahora en estos dispositivos: chromium.org/chromium-os/...
LiveWireBT