Запуск ChromeOS с USB-флешки

в 12:18, , рубрики: chrome os, Chromebook, chromium, Google Chrome, виртуализация, операционные системы, метки: , , ,

Добрый день уважаемые читатели.

В сети достаточно материала описывающего каким образом можно посмотреть и оценить операционную систему от Корпорации добра на примере версии для разработчиков ChromiumOS. Все хорошо кроме одно но: Do NOT include Flash, Java or the Google Voice/Video plugin for licensing reasons. Выходит что посмотреть можно, а использовать без необходимости покупать Chromebook нет. В данной статье описан мой подход к решению задачи: Запуск ChromeOS (не путаем с ChromiumOS) с флешки на обычном железе.

Заинтересованных прошу под кат.

Описаний сборки ChromiumOS из исходников в сети достаточно, начиная с официального. Доступен также способ конвертирования в оригинале. Мои скромные попытки описать сборку и конвертирование используя виртуальную среду VMWare тоже имеются в наличии. Пришло время перенести виртуальный образ на USB-Flash и запустить ChromeOS на физической машине.

Небольшое отступление от темы связанное с вопросом: А зачем так все усложнять, когда можно сделать намного проще? К сожалению все эксперименты с различными вариантами установки в итоге привели именно к такой схеме. Попытки конвертировать версии с USB накопителя на физическом устройстве показали одну особенность, которая срабатывала на виртуалке но отказывалась работать на ноутбуке. После перезаписи разделов во время перезагрузки VM ChromiumOS определяла включенный режим разработчика и проводила восстановление разделов. В итоге загружалась ChromeOS. Добиться аналогичной ситуации напрямую с флешки мне не удалось. Потому все так сложно.

Общий план действий:
компилируем образ для VMWare из исходников.
конвертируем ChromiumOS в ChromeOS.
— переносим виртуальный образ на USB-флеш для запуска на ноутбуке.

Подробно рассматривать первых два пункта мы не будем, остановимся на отличиях. Напомню, все действия производятся в среде Debian7 x64.Для удобства добавим переменную с нужным нам ядром:

$ export BOARD=amd64-generic

Подсказка: Все действия связанные с компилированием и сборкой образа нужно и можно проводить только на 64-разрядной операционной системе. SDK не даст возможности собрать пакеты на x86. Поддержка i686 32-разрядных систем планируется в будущем.

После сборки пакетов образ будем собирать с включенным режимом разработчика и выключенной проверкой при загрузке, дающей возможность модифицировать корневую систему:

$ cros_sdk — ./build_image —board=${BOARD} —noenable_rootfs_verification dev

Записываем образ для виртуальной машины VMWare

$ cros_sdk — ./image_to_vm.sh --format=vmware --board=${BOARD}

В папке ~/src/build/images/amd64-generic/latest/ получаем конфигурационный файл chromiumos.vmx и образ диска ide.vmdk. В конфигурацию добавляем описание сетевой карты: ethernet0.virtualDev = «e1000»

Средствами VMWare обновляем и расширяем образ диска. В моем случае я указал размер 7Gb для записи на 8Gb флешку. (Edit virtual machine settings->Hard Disk->Utilites->Expand).

Далее нужно расширить раздел /home что-бы хватило для скачивания и распаковки системы во время конвертирования. Если проводить все манипуляции в среде linux, достаточно установить Gparted и с помощью него расширить раздел. Как вариант можно использовать любой Live-CD диск с дистрибутивом linux, например образ Lubuntu где есть возможность запустить систему с диска и воспользоваться Gparted. Добавляем в нашу виртуалку CD-ROM и указываем iso диск. В биосе виртуальной машины выбираем загрузку с CD. Производим манипуляции с разделом.

Подсказка: Попасть в биос виртуалки можно VM->Power->Power On to BIOS

image

Конвертируем систему, загружаемся в ChromeOS что-бы убедиться что все прошло гладко. C помощью пакета qemu конвертируем образ виртуального HDD и записываем на флешку:

$ sudo apt-get install qemu
$ qemu-img convert -f vmdk ide.vmdk -O raw ide.raw
$ sudo dd if=~/vmware/chrome/ide.raw of=/dev/sdb

Загрузочная флешка с ChromeOS готова.
Скрины системы:
image

image

image

PS: Я сознательно не описывал все пункты решение подробно, указав только линки. Описаний на самом деле масса, и мои варианты не претендуют на оригинальность. Если возникнет необходимость, указанные выше статьи будут доработаны более детально и выложены на хабре.

Надеюсь статья была полезна.

Автор: AgeNTus

Источник

* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js