Рейтинг@Mail.ru
[Войти] [Зарегистрироваться]

Наши друзья и партнеры

UnixForum



  • Ремонт шлагбаумов
  • Рекламный шлагбаум позволит оградит территорию и принесет прибыль
  • ohrana40.ru

Lines Club

Ищем достойных соперников.

Книги по Linux (с отзывами читателей)

Библиотека сайта или "Мой Linux Documentation Project"

На главную -> MyLDP -> Тематический каталог -> Дистрибутивы

Как собрать Chrome OS для вашего нетбука или виртуальной машины

Оригинал: "How to Build Chrome OS For Your Netbook or VM"
Автор: Joshua Price
Дата публикации: June 22nd, 2010
Перевод: Н.Ромоданов
Дата перевода: 23 июня 2010 г.

Несколько недель назад Google объявил, что Chrome OS будет готова к выпуску этой осенью. Как и многие другие изделия Google, Chrome OS предназначена для смены правил игры. Приложения для рабочего стола в том виде, как мы о них думаем, в ней отсутствуют. Вместо этого вся работа пользователя происходит в браузере. Естественно, что некоторые считают, что это несерьезно, тогда как другие считают, что это естественная эволюция технологий. Успех или неудача Chrome OS как раз может быть тем главным факторов, который определит, произойдет ли эволюция или нет. Если вам хочется выяснить это самостоятельно, узнайте из этой статьи, как собрать образ Chrome OS.

Технически, мы просто компилируем Chromium OS, но эти два понятия взаимозаменяемы в рамках данной статьи.

Что ожидается

Мы собираем полную операционную систему, а не отдельное приложение, поэтому можно предположить, что для завершения потребуется больше этапов и будет затрачено больше времени. Тем не менее, это не очень сложный процесс и большая часть времени будет потрачено на ожидание загрузки и компиляции кода. Было бы полезно иметь опыт компиляции программ под Linux, например, такой, как описан здесь. В зависимости от скорости интернета и скорости процессора, этот процесс может занять 1 - 4 часа, но опять же, большая часть этого времени уйдет на ожидание загрузки и компиляции.

Необходимые условия

Для того, чтобы выполнить сборку должным образом, вам потребуется работающая 64-разрядная система Linux. 32-разрядная система настоящий момент не используется в качестве инструментальной среды, но, в будущем, это может измениться. Google рекомендует использовать для этих целей Ubuntu, так что везде далее будет использоваться именно эта ОС.

Чтобы установить все программное обеспечение, необходимое для правильной сборки Chrome OS, просто запустите в терминальном окне следующую команду:

Единственного, чего нет в репозиториях Ubuntu, это пакета depot-tools от Google, но его следует просто отдельно загрузить и раскрыть. Щелкните по следующей ссылке с тем, чтобы получить tar.gz файл, и распакуйте сего в своем домашнем директории. После этого в вашем домашнем директории должен появиться каталог с именем depot_tools.

Теперь нужно в командной строке просто добавить путь к этому месту:

#Add this to your ~/.bashrc file to make it permanent
export PATH=$PATH:~/depot_tools

Получение исходного кода

В вашем домашнем директории создаем директорий chrome, в котором будут находиться все файлы, необходимые для сборки, а затем загружаем исходный код. Будет загружено несколько сотен мегабайт данных, поэтому это, скорее всего, займет некоторое время.

mkdir ~/chrome
cd ~/chrome	
gclient config http://src.chromium.org/git/chromiumos.git
gclient sync
Chrome. Получение исходного кода

Сборка исходного кода

На следующих этапах мы собираемся выполнить скрипты, с помощью которых фактически и будет создан двоичный код, который можно будет использовать. С помощью следующих команд будет откомпилирован исходный код для процессора x86 (generic x86 processor), который должен работать достаточно хорошо на усредненном процессоре, без оптимизации под какой-нибудь конкретный процессор.

cd  ~/chrome/chromiumos.git/src/scripts	
./make_chroot #This creates the base environment, will take a few minutes
./enter_chroot.sh #Enters base environment

В этот момент вам должна быть выдана подсказка, похожая на следующую:

Chrome. Сборка

И теперь выполняем главную часть всего процесса — фактическую сборку.

./setup_board --board=x86-generic #Define architecture	
./build_packages --board=x86-generic #This is the real build.  Will take a few minutes at least.

Если все пройдет хорошо, вы сможете выполнить последний шаг ...

Создание образа

Наконец, мы должны создать образ этой системы, которую мы сможем использовать на наших устройствах или в виртуальных машинах. Чтобы создать базовый образ, вернитесь в вашу shell оболочку и введите ...

./build_image --board=x86-generic

… а затем сядьте и выпейте чаю, пока будете ждать.

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

Chrome. Создание образа

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

exit

В приведенном ниже примере мы делаем сборку для Virtualbox. Проверьте, что вы указали тот директорий, который используется в вашей системе:

./image_to_virtualbox.sh 
 --from=~/chrome/chromiumos.git/src/build/images/x86-generic/YOURIMAGELOCATION 
--to=~/chromeOS.vdi

Проблемы?

VMWare / Virtualbox: К сожалению, в некоторых версиях скрипта image_to_vmware возникает ошибка, которая также проявляется в скрипте image_to_virtualbox. Если вы получите сообщение об ошибке "Can’t open /usr/lib/shflags" ("Не могу открыть /usr/lib/shflags"), то нужно просто отредактировать скрипт image_to_vmware.sh, изменив строку

sudo "$TEMP_MNT"/postinst /dev/sda3

на строку

sudo "$TEMP_MNT"/postinst /dev/sda3 --postcommit

USB: По-видимому, скрипту image_to_usb во флаге from не нравится символ тильды (~). Если вы получите сообщение об ошибке, указывающее, что не удается найти образ, удостоверьтесь, что во флаге from задан полный путь к образу.

Будет ли Chrome OS следующей большой разработкой, либо это шаг в неверном направлении?


Эта статья еще не оценивалась
Вы сможете оценить статью и оставить комментарий, если войдете или зарегистрируетесь.
Только зарегистрированные пользователи могут оценивать и комментировать статьи.

Комментарии отсутствуют