Какой загрузчик используется на Chromebook?

12

Я установил ChrUbuntu на Chromebook Acer C7 , и я могу одновременно загружать Ubuntu 12.04 и ChromeOS и контролировать, какая ОС загружается по умолчанию. Я попытался отредактировать /etc/default/grubфайл и update-grubуспешно запустился, но не увидел никаких эффектов. Я пытался включить подробный экран загрузки системы в стиле "dmesg" вместо тихого заставки (во время загрузки Ubuntu). Я подозреваю, что GRUB не является загрузчиком на машине или функционирует как довольно поздний вторичный загрузчик только на разделе Linux. Я понимаю, что Chromebook - довольно закрытая система, строго контролируемая Google, но, поскольку это Linux, в глубине души люди могут знать ответ.

Мне не нужна многословная загрузка в стиле "dmesg"; но стало любопытно по поводу загрузки в этой системе.

PS Просто чтобы уточнить, я пытался включить подробный экран загрузки при загрузке Ubuntu на машине.

haziz
источник
3
«Поскольку Chromebook использует специальный BIOS и загрузчик, которые отличаются от тех, которые используются в стандартных ноутбуках Windows, вы не можете использовать их для загрузки только любой операционной системы. Именно здесь ChrUbuntu входит - это версия Ubuntu 12.04 LTS, измененная на работать с оборудованием Chrome OS. " ( Смотрите здесь )
Sr -

Ответы:

6

ChromeOS использует U-Boot:

«Chromium OS по сути является специально разработанным дистрибутивом GNU / Linux. Мы хотим сделать как можно меньше модификаций ядра upstream, в идеале - ни одного. Но как и в любой другой системе GNU / Linux, процесс загрузки перед ядром неизбежно зависит на оборудовании, BIOS и загрузчике. "

Хотя ChromeOS имеет свой собственный способ загрузки:

«Устройства Google Chrome OS (x86 / x86_64 / arm) имеют собственные BIOS, которые используют еще один способ загрузки, чтобы гарантировать, что пользователь запускает только те биты, для которых он предназначен. Вместо отдельного загрузчика и ядра имеется один двоичный двоичный объект, содержащийся в свой собственный раздел GPT. Этот BLOB-объект криптографически подписан, и подпись проверяется перед загрузкой ».

Более подробная информация на: http://www.chromium.org/chromium-os/chromiumos-design-docs/disk-format

user56801
источник
1
CoreBoot - норма прошивки для Chromebook - «BIOS» технически неточен, но я понял суть.
mikeserv
@mikeserv, он цитирует документы из Chromium. Кроме того, нет необходимости комментировать каждый ответ, говоря, что это правильно - достаточно простого возражения.
стружка
Ну, вы не можете остановить человека с миссией, вы знаете ...
mikeserv
1

Это может быть довольно запутанным, особенно в ретроспективе, потому что мой Lenovo N22 (reks) с chrx / Gallium ведет себя так, как вы ожидаете: Grub берет на себя загрузку, когда прошивка передает управление ОС. Но это не относится к процессу загрузки Chrome OS, когда ядро ​​вступает во владение напрямую, взгляните на изображение и информацию о различных методах, которые я разместил здесь . Я не углублялся в детали (и, вероятно, никогда не буду), но, думаю, поскольку он использовал ядро ​​Chrome OS для загрузки Ubuntu (между прошивкой и ядром не было загрузчика), ядру было дано указание загрузить другую корневую файловую систему, чем Chrome OS один тогда.

Автор ChrUbuntu опубликовал следующее 15 октября 2013 года:

С тех пор как я запустил ChrUbuntu в декабре 2010 года, всегда было необходимо использовать ядро ​​Chrome OS Linux с Ubuntu, чтобы решить некоторые проблемы совместимости с архитектурой Chromebook. Это изменилось с Chromebook Pixel и новыми Chromebook на базе Haswell, такими как Acer C720 и HP Chromebook 14. Каждая из этих моделей поддерживает загрузку из более традиционного режима BIOS ПК, что упрощает использование на них стандартных ядер Ubuntu.

Я не знаю всех деталей, я только что протестировал Chromebook на базе ARM задолго до того, как я получил N22 в этом году, моя интерпретация заключается в том, что речь идет обо всем, основанном на скользкой базовой плате и позже или их платформе2, как отмечается в источнике. хранилища.

LiveWireBT
источник
-1

Не уверен на 100%, но загрузчик находится внутри BIOS. Ядро загружается из раздела напрямую, например, без файловой системы. По этой причине вам нужен GPT вместо обычной таблицы разделов DOS.

Ник
источник
1
это явно ложно. пожалуйста, прочитайте немного о том, что такое загрузчик, что такое BIOS и каковы точные различия между GPT и MBR.
Струджи
1
Хорошо, спасибо за -1. Загрузчик Chromebook состоит из 3 частей. Один в BIOS только для чтения, один в BIOS для чтения и записи и один в разделе EFI. Последний (раздел EFI) может не существовать. В этом случае часть из BIOS для чтения и записи загрузит первый раздел «ядро chromebook», помеченный как «хороший». Загрузчик является форком "Uboot"
Ник
1
Кроме того, поскольку вы новичок в Stack Exchange, я должен отметить, что понижение рейтинга - это не личная атака, это просто означает, что тот, кто проголосовал против него, считает, что сообщение фактически неверно (и голосование ничего не говорит о других ваших постах или вас как персона). Кроме того, извините за грубость в моем предыдущем комментарии.
стружка
1
@strugee Большинство Chromebook на самом деле являются CoreBoot - ни UEFI, ни BIOS. Пользователь #### выше прав насчет u-boot - это полезная нагрузка CoreBoot на Chromebook. У Ника есть неправильная терминология - но в прошивках многое обрабатывается, чего вы не видите в других местах - например, сброс к заводским настройкам по умолчанию является операцией прошивки.
mikeserv
1
Ситуация более сложная, существуют разные итерации платформы, и в то время были задействованы разные компоненты. Я не могу сказать, что сделал бы лучше в то время. Я просто разместил новый ответ, здесь также ссылку на обзор того , что было использовано до сих пор на этих устройствах: chromium.org/chromium-os/...
LiveWireBT