Доступный в исходных текстах ChromiumOS главным образом отличается отсутствием элементов брендинга ChromeOS и компонентов DRM для просмотра защищённого контента.Для сборки вначале нужно клонировать репозиторий с инструментарием:
git clone https://chromium.googlesource.com/chromium/tools/depot_tools...
export PATH=$PATH:$PWD/depot_toolsПосле чего можно приступить к загрузке и сборки исходных текстов ChromiumOS (сборку осуществляем для целевой платформы amd64-generic, при низкой скорости сети или недосаточном свободном дисковом пространстве в "repo init" также можно указать опцию "-g minilayout" для загрузки минимально необходимого набора кода):
mkdir chromiumos
cd chromiumos
repo init -u https://chromium.googlesource.com/chromiumos/manifest.git --repo-url https://chromium.googlesource.com/external/repo.git -g minilayout
repo sync -j75
cros_sdk
export BOARD=amd64-generic
./setup_board --board=${BOARD}
./build_packages --board=${BOARD}
./build_image --board=${BOARD} --boot_args "earlyprintk=serial,keep console=tty0" --noenable_rootfs_verification test
./image_to_vm.sh --board=${BOARD} --test_image
Для запуска окружения ChromiumOS можно воспользоваться командной cros_start_vm:
cros_sdk./bin/cros_start_vm --image_path=../build/images/${BOARD}/latest/chromiumos_qemu_image.bin --board=${BOARD}
но при использовании cros_start_vm наблюдаются мешающие полноценной работе ограничения, такие как невозможность перенаправить графический вывод через VNC. Поэтому будем запускать ChromiumOS при помощи QEMU и виртуального GPU Virglrenderer.
Установим сборочные зависимости (список для Ubuntu 17.10):
sudo apt install autoconf libaio-dev libbluetooth-dev libbrlapi-dev \
libbz2-dev libcap-dev libcap-ng-dev libcurl4-gnutls-dev libepoxy-dev \
libfdt-dev \
libgbm-dev libgles2-mesa-dev libglib2.0-dev libgtk-3-dev libibverbs-dev \
libjpeg8-dev liblzo2-dev libncurses5-dev libnuma-dev librbd-dev librdmacm-dev \
libsasl2-dev libsdl1.2-dev libsdl2-dev libseccomp-dev libsnappy-dev l\
ibssh2-1-dev libspice-server-dev libspice-server1 libtool libusb-1.0-0 \
libusb-1.0-0-dev libvde-dev libvdeplug-dev libvte-dev libxen-dev valgrind \
xfslibs-dev xutils-dev zlib1g-dev libusbredirhost-dev usbredirserverСоберём Virglrenderer, который позволяет задействовать виртуальный GPU и использовать из гостевой системы графические возможности хост-системы, в том числе аппаратное ускорение для OpenGL. Virglrenderer является не обязательным, если не нужно ускорение вывода графики можно обойтись без сборки Virglrenderer и убрать из строки запуска QEMU "virgl".
git clone git://git.freedesktop.org/git/virglrenderer
cd virglrenderer
./autogen.sh
make -j7
sudo make installСобираем QEMU для целевой платформы x86_64:
git clone git://git.qemu-project.org/qemu.git
mkdir -p qemu/build
cd qemu/build
../configure --target-list=x86_64-softmmu --enable-gtk --with-gtkabi=3.0 \
--enable-kvm --enable-spice --enable-usb-redir --enable-libusb --enable-virglrenderer --enable-opengl
make -j7
sudo make installЗапускаем ChromiumOS в QEMU с использованием драйверов virtio (Linux-ядро хост-системы должно быть собрано с опциями CONFIG_DRM_VIRTIO, CONFIG_VIRT_DRIVERS и CONFIG_VIRTIO_XXXX):
cd chromiumos
/usr/local/bin/qemu-system-x86_64 \
-enable-kvm \
-m 2G \
-smp 4 \
-hda src/build/images/amd64-generic/latest/chromiumos_qemu_image.bin \
-vga virtio \
-net nic,model=virtio \
-net user,hostfwd=tcp:127.0.0.1:9222-:22 \
-usb -usbdevice keyboard \
-usbdevice mouse \
-device virtio-gpu-pci,virgl \
-display gtk,gl=onURL: https://www.collabora.com/news-and-blog/blog/2017/12/01/buil.../
Обсуждается: http://www.opennet.dev/tips/info/3040.shtml
А для чего нужна хромось в QEMU?
Правильный вопрос: зачем вообще нужна хромось?
да нет. для чегота мелкого легкого а ля нетбук - очень даже.
Флудеры! я вполне конкретный вопрос задал, мне интересны юзкейсы для QEMU. Ну кроме "на посмотреть" и "потому что могу!". Подозреваю, что в qemu будут проблемы с ускорением графики, ютуб да и просто веб-приложения будут ощутимо лагать по сравнению с голым железом. Собственно отсюда и вопрос, м.б. её можно использовать для чего-то ещё...
> Флудеры! я вполне конкретный вопрос задал, мне интересны юзкейсы для QEMU.На наброс похоже потому что.
Для разработки и тестирования, _очевидно_.
Но можно и терминалы и бездисковые киоски всякие.
Ускорение в QEMU есть, SPICE и QXL драйвер в ядре и иксах, будет virgl еще для 3D.
Зря наговариваете. Популярность этой ОС идет вверх, особенно в корпоративном секторе.
> Популярность этой ОС идет вверх, особенно в корпоративном секторе.Пруфы на статистику будут ?
А теперь этот "полезный совет" с разъяснениями и объяснениями.
Особенно по выполняемым загадочными "утилитами repo" действиям, необходимым им ресурсам, какой доступ и куда им потребуется, какие объёмы, где и зачем они будут сохранять... Хватит ли нормальной дискеты... >:-)