Qual carregador de inicialização é usado em um Chromebook?

12

Instalei o ChrUbuntu em um Acer C7 Chromebook e posso inicializar o Ubuntu 12.04 e o ChromeOS com uma inicialização dupla e controlar qual sistema operacional é carregado por padrão. Tentei editar o /etc/default/grubarquivo e executei com update-grubêxito, mas não vi efeitos. Eu estava tentando ativar uma tela de carregamento de sistema detalhado no estilo "dmesg" em vez da tela inicial silenciosa (durante a inicialização do Ubuntu). Suspeito que o GRUB não seja o carregador de inicialização na máquina ou esteja funcionando como um carregador de inicialização secundário razoavelmente atrasado apenas na partição Linux. Sei que o Chromebook é um sistema razoavelmente fechado e rigidamente controlado pelo Google, mas como é o coração do Linux, as pessoas podem saber a resposta.

Não preciso do boot "verboso" do estilo "dmesg"; mas ficou curioso sobre o carregamento de inicialização neste sistema.

PS Apenas para esclarecer, eu estava tentando ativar a tela de carregamento detalhada na inicialização do Ubuntu na máquina.

haziz
fonte
3
"Como os Chromebooks usam um BIOS e um carregador de inicialização especiais diferentes dos usados ​​nos laptops Windows padrão, você não pode usá-los para inicializar qualquer sistema operacional. É aí que entra o ChrUbuntu - é uma versão do Ubuntu 12.04 LTS modificada para trabalhar com o hardware do Chrome OS ". ( veja aqui )
sr_ 13/12/12

Respostas:

6

O ChromeOS usa o U-Boot:

"O Chromium OS é essencialmente uma distribuição GNU / Linux especialmente adaptada. Queremos fazer o mínimo possível de modificações no kernel upstream, idealmente nenhuma. Mas, como em qualquer outro sistema GNU / Linux, o processo de inicialização pré-kernel é inevitavelmente dependente no hardware, BIOS e carregador de inicialização ".

Embora o ChromeOS tenha sua própria maneira personalizada de inicializar:

"Os dispositivos do Google Chrome OS (x86 / x86_64 / arm) possuem BIOS personalizados que usam outro método de inicialização para garantir que o usuário esteja executando apenas os bits pretendidos. Em vez de um gerenciador de inicialização e kernel separados, há um blob binário contido em sua própria partição GPT. Esse blob é assinado criptograficamente e a assinatura é verificada antes da inicialização ".

Mais informações em: http://www.chromium.org/chromium-os/chromiumos-design-docs/disk-format

user56801
fonte
1
CoreBoot é a norma de firmware para Chromebooks - "BIOS" é tecnicamente impreciso, mas eu entendi o essencial.
mikeserv
@mikeserv ele está citando os documentos do Chromium. Além disso, não há necessidade de comentar todas as respostas dizendo que está certo - basta um voto positivo.
strugee
Bem, você não pode parar um homem com uma missão, você sabe ...
mikeserv
1

Pode ser bastante confuso, especialmente em retrospecto, porque o meu Lenovo N22 (reks) com chrx / Gallium se comporta da maneira que você espera que seja: O Grub assume a inicialização quando o firmware passa o controle para o sistema operacional. Mas isso não se aplica ao processo de inicialização do Chrome OS , no qual o kernel assume o controle diretamente. Dê uma olhada na imagem e nas informações sobre os diferentes métodos que eu publiquei aqui . Eu não examinei mais detalhadamente os detalhes (e provavelmente nunca o farei), mas acho que desde que ele estava usando o kernel do Chrome OS para inicializar o Ubuntu (nenhum carregador de inicialização envolvido entre o firmware e o kernel), o kernel foi instruído a inicializar outro sistema de arquivos raiz que não o Chrome OS naquela época.

O autor do ChrUbuntu postou o seguinte em 15 de outubro de 2013:

Desde que eu iniciei o ChrUbuntu em dezembro de 2010, sempre foi necessário utilizar o kernel do Chrome OS Linux com o Ubuntu para solucionar alguns problemas de compatibilidade com a arquitetura do Chromebook. Isso mudou com o Chromebook Pixel e os mais recentes Chromebooks baseados em Haswell, como o Acer C720 e o HP Chromebook 14. Cada um desses modelos suporta a inicialização a partir de um modo mais tradicional do BIOS do PC, o que simplifica o uso de kernels do Ubuntu neles.

Não conheço todos os detalhes, só testei um Chromebook baseado em ARM muito tempo antes de adquirir o N22 este ano, minha interpretação é de que tudo se baseia na placa base escorregadia e mais tarde ou em sua plataforma2, conforme observado na fonte repositórios.

LiveWireBT
fonte
-1

Não tenho 100% de certeza, mas o carregador de inicialização está dentro do BIOS. O kernel é carregado diretamente da partição, por exemplo, sem sistema de arquivos. Esse é o motivo pelo qual você precisa da GPT em vez da tabela de Partição DOS normal.

usuario
fonte
1
isso é flagrantemente falso. leia sobre o que é um gerenciador de inicialização, o que é um BIOS e quais são as diferenças exatas entre GPT e MBR.
strugee
1
Bem, obrigado por -1. O carregador de inicialização do chromebook possui três partes. Um no BIOS somente leitura, um no BIOS de leitura e gravação e um na partição EFI. O último (partição EFI) pode não existir. Nesse caso, a parte do BIOS de leitura e gravação inicializa a primeira partição "chromebook kernel" marcada como "boa". O gerenciador de inicialização é um fork do "uboot"
Nick
1
Além disso, como você é novo no Stack Exchange, devo mencionar que um voto negativo não é um ataque pessoal, significa apenas que quem votou negativamente acha que a postagem está realmente errada (e a votação não diz nada sobre suas outras postagens ou sobre você) uma pessoa). Além disso, desculpe por ser rude no meu comentário anterior.
strugee
1
@strugee A maioria dos Chromebooks é CoreBoot, na verdade, nem UEFI nem BIOS. o usuário #### acima está certo sobre o u-boot - é a carga útil do CoreBoot nos Chromebooks. Nick está com alguma terminologia errada - mas há muito no firmware que você não vê em outro lugar - por exemplo, redefinir os padrões do fabricante é uma operação de firmware.
mikeserv
1
A situação é mais complexa, existem diferentes iterações da plataforma e houve diferentes componentes envolvidos no momento. Não posso dizer que teria feito melhor na época. Acabei de publicar uma nova resposta, também há um link para uma visão geral do que foi utilizado até agora nesses dispositivos: chromium.org/chromium-os/…
LiveWireBT