ChromiumOS 구성하는 것은 쉽다.
하지만 QEMU에서 동작 하려면 추가 작업을 해줘야 함.
ChromiumOS와 ChromeOS의 관계
ChromeOS에서 특정 기능을 제거 한 후 다 시 패키징 해 또 다른 프로젝트 ChromiumOS을 만듬.
Depot tools 설치.
git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git
export PATH=$PATH:$(PWD)/depot_tools
부팅시 적용 하려면 .bashrc 경로 설정.
vi ~/.bashrc
export PATH=$PATH:$(PWD)/depot_tools
2. ChromiumOS 구축
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
3. ChromiumOS 부팅방법(not)
cros_start_vm 명령을 통해 이미지 파일을 만든다. 그래픽(VNC) 출력에 대한 문제가 남아있다.
VNC 출력 표준을 확인하지 못하는 것으로 보여진다.
cros_sdk
./bin/cros_start_vm --image_path=../build/images/${BOARD}/latest/chromiumos_qemu_image.bin --board=${BOARD}
3.1 qemu 실행
ChromiumOS 부팅
3.2 의존성 패키지 설치(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 libssh2-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
3.3 비글 렌더러
Virglrenderer는 Qemu의 3D GPU 그래픽 기능 활성화.
OpenGL 지원함. virgl을 사용하지 않을려면 Qemu 구성 단계에서 Qemu 런타임 플래그 제거한다.
git clone git://git.freedesktop.org/git/virglrenderer
cd virglrenderer
./autogen.sh
make -j7
sudo make install
4. 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
5. 이미지 실행
Qemu를 사용해 부팅 가능.
virtio-gpu-pci,virgl 옵션을 사용하기 위해서는 호스트 환경 커널 옵션 체크.
kconfig 파일 열어 다음 설정 값 활성화 확인.
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=on
댓글 없음:
댓글 쓰기