1. 修改鏡像站
先準備 Debian backports 鏡像站,後面安裝工具會需要:sudo vi /etc/apt/sources.list
加入下面這行:
deb http://ftp.tw.debian.org/debian wheezy-backports main
下一步請更新套件:
sudo apt-get update && apt-get upgrade
2. 下載 QEMU-Linaro
至 qemu-linaro 官方下載其檔案:官方位置: https://launchpad.net/qemu-linaro
載點: qemu-linaro-1.7.0-2014.01.tar.gz
下載完後解壓縮,並進去 ./configure
tar xfva qemu-linaro-1.7.0-2014.01.tar.gz cd qemu-linaro-1.7.0-2014.01/ ./configure
可能遇到以下 ERROR:
問題1:
ERROR: pixman not present. Your options: (1) Preferred: Install the pixman devel package (any recent distro should have packages as Xorg needs pixman too). (2) Fetch the pixman submodule, using: git submodule update --init pixman解決1:
sudo apt-get install libseccomp-dev
問題2:
ERROR: DTC not present. Your options: (1) Preferred: Install the DTC devel package (2) Fetch the DTC submodule, using: git submodule update --init dtc解決2:
sudo apt-get install -y libfdt-dev
成功後可以看到 ./configure 的內容後,
但是大多的功能都是 support no,
接下來要讓它們變 yes ,進行完整化。
3. 要安裝以下套件
libnss3-devlibudev-dev
libpng12-dev
libghc6-zlib-dev
libogg-dev
libglobus-openssl-dev
libxrandr-dev
libxfixes-dev
libjpeg8-dev
libsasl2-dev
libiscsi-dev
librbd-dev
xfslibs-dev
libbrlapi-dev
libbluetooth-dev
libxen-dev
libvte-dev
libseccomp-dev
python-pyparsing
sudo apt-get install libnss3-dev libudev-dev libpng12-dev libghc6-zlib-dev libogg-dev libglobus-openssl-dev libxrandr-dev libxfixes-dev libjpeg8-dev libsasl2-dev libiscsi-dev librbd-dev xfslibs-dev libbrlapi-dev libbluetooth-dev libxen-dev libvte-dev libseccomp-dev python-pyparsing
接下來處理幾個比較麻煩的套件,
可以查看 qemu-linaro-1.7.0-2014.01/ 目錄下的 configure 內容,
vi configure
輸入關鍵字(例如 spice),可以找到所缺少的套件。
spice support 要讓這個功能需要裝有
--atleast-version=0.12.0 spice-server (至少 0.12.0 版以上)
--atleast-version=0.12.3 spice-protocol (至少 0.12.3 版以上)
我們要到 spice 官方,下載,安裝如下面步驟:
4. 安裝 spice-0.12.5
(如有遇到問題,解決方法在下面)下載 spice-0.12.5.tar.bz2
tar xfva spice-0.12.5.tar.bz2 cd spice-0.12.5/
這邊的設定要多加 smartcard 開啟
./configure --enable-smartcard
會看到輸出:
Spice 0.12.5
==============
prefix: /usr/local
c compiler: gcc -std=gnu99
c++ compiler: g++
python: /usr/bin/python2
Build Spice client: no
Smartcard: yes
SASL support: yes
Automated tests: no
Manual: no
Now type 'make' to build spice
make -j ${core number} sudo make install
裝 spice 問題一 (如果沒有就跳過此步驟)
Alternatively, you may set the environment variables CELT051_CFLAGS and CELT051_LIBS to avoid the need to call pkg-config. See the pkg-config man page for more details.
因為 spice-0.12.5 只接受 CELT 051 版。
解決:
下載 celt-0.5.1.3.tar.gz
tar xfva celt-0.5.1.3.tar.gz cd celt-0.5.1.3/ ./configure make -j ${core number} sudo make install
裝 spice 問題二 (如果沒有就跳過此步驟)
checking for pyparsing python module... not found configure: error: pyparsing python module is required to compile this package解決:
sudo apt-get install python-pyparsing
裝 spice 問題三 (如果沒有就跳過此步驟)
checking sasl/sasl.h usability... no checking sasl/sasl.h presence... no checking for sasl/sasl.h... no checking for sasl_client_init in -lsasl2... no checking for sasl_client_init in -lsasl... no configure: error: Missing required Cyrus SASL development package解決:
sudo apt-get install libsasl2-dev
裝 spice 問題四 (如果沒有就跳過此步驟)
checking for SMARTCARD... no configure: error: Package requirements (libcacard >= 0.1.2) were not met: No package 'libcacard' found Consider adjusting the PKG_CONFIG_PATH environment variable if you installed software in a non-standard prefix. Alternatively, you may set the environment variables SMARTCARD_CFLAGS and SMARTCARD_LIBS to avoid the need to call pkg-config.解決:
下載 libcacard-0.1.2.tar.bz2
tar xfva libcacard-0.1.2.tar.bz2 cd libcacard-0.1.2/ ./configure make -j ${core number} sudo make install
承上面問題,裝 libcacard 問題 (如果沒有就跳過此步驟)
checking for NSS... no configure: error: Package requirements (nss) were not met: No package 'nss' found Consider adjusting the PKG_CONFIG_PATH environment variable if you installed software in a non-standard prefix. Alternatively, you may set the environment variables NSS_CFLAGS and NSS_LIBS to avoid the need to call pkg-config.解決:
sudo apt-get install libnss3-dev
5. 安裝 spice-protocol-0.12.7
下載 spice-protocol-0.12.7.tar.bz2tar xfva spice-protocol-0.12.7.tar.bz2 cd spice-protocol-0.12.7/ ./configure make -j ${core number} sudo make install
6. 安裝 libusb-1.0.1
下載 libusb-1.0.19/libusb-1.0.19.tar.bz2tar xfva libusb-1.0.19.tar.bz2 cd libusb-1.0.19/ ./configure make -j ${core number} sudo make install
7. 安裝 usbredir-0.7
下載 usbredir-0.7.tar.bz2tar xfva usbredir-0.7.tar.bz2 cd usbredir-0.7/ ./configure make -j ${core number} sudo make install
8. 再回到(步驟 2.) 裝 qemu-linaro
cd qemu-linaro-1.7.0-2014.01/ ./configure內容如下:
tcg debug enabled no gprof enabled no sparse enabled no strip binaries yes profiler no static build no -Werror enabled no pixman system SDL support yes GTK support yes curses support yes curl support yes mingw32 support no Audio drivers oss Block whitelist (rw) Block whitelist (ro) VirtFS support yes VNC support yes VNC TLS support yes VNC SASL support yes VNC JPEG support yes VNC PNG support yes VNC WS support yes xen support yes brlapi support yes bluez support yes Documentation yes GUEST_BASE yes PIE yes vde support yes Linux AIO support yes ATTR/XATTR support yes Install blobs yes KVM support yes RDMA support yes TCG interpreter no fdt support yes preadv support yes fdatasync yes madvise yes posix_madvise yes sigev_thread_id yes uuid support yes libcap-ng support yes vhost-net support yes vhost-scsi support yes Trace backend nop Trace output file trace-接著編譯:spice support yes (0.12.7/0.12.5) rbd support yes xfsctl support yes nss used yes libusb yes usb net redir yes GLX support yes libiscsi support yes build guest agent yes QGA VSS support no seccomp support yes coroutine backend ucontext coroutine pool yes GlusterFS support no virtio-blk-data-plane yes gcov gcov gcov enabled no TPM support no libssh2 support yes TPM passthrough no QOM debugging yes vhdx yes
make -j ${core number}安裝:
sudo make install
9. 重整 qemu 檔案路徑
安裝完後可能出現檔案路徑問題,請執行:ldconfig
10. 查看版本
qemu-system-arm -version
QEMU emulator version 1.7.0 (qemu-linaro 2014.01), Copyright (c) 2003-2008 Fabrice Bellard
qemu-system-arm -M ?
Supported machines are: none empty machine beagle Beagle board (OMAP3530) beaglexm Beagle board XM (OMAP3630) collie Collie PDA (SA-1110) nuri Samsung NURI board (Exynos4210) smdkc210 Samsung SMDKC210 board (Exynos4210) connex Gumstix Connex (PXA255) verdex Gumstix Verdex (PXA270) highbank Calxeda Highbank (ECX-1000) midway Calxeda Midway (ECX-2000) integratorcp ARM Integrator/CP (ARM926EJ-S) (default) kzm ARM KZM Emulation Baseboard (ARM1136) mainstone Mainstone II (PXA27x) musicpal Marvell 88w8618 / MusicPal (ARM926EJ-S) n800 Nokia N800 tablet aka. RX-34 (OMAP2420) n810 Nokia N810 tablet aka. RX-44 (OMAP2420) n900 Nokia N900 (OMAP3) sx1 Siemens SX1 (OMAP310) V2 sx1-v1 Siemens SX1 (OMAP310) V1 overo Gumstix Overo board (OMAP3530) cheetah Palm Tungsten|E aka. Cheetah PDA (OMAP310) realview-eb ARM RealView Emulation Baseboard (ARM926EJ-S) realview-eb-mpcore ARM RealView Emulation Baseboard (ARM11MPCore) realview-pb-a8 ARM RealView Platform Baseboard for Cortex-A8 realview-pbx-a9 ARM RealView Platform Baseboard Explore for Cortex-A9 akita Akita PDA (PXA270) spitz Spitz PDA (PXA270) borzoi Borzoi PDA (PXA270) terrier Terrier PDA (PXA270) lm3s811evb Stellaris LM3S811EVB lm3s6965evb Stellaris LM3S6965EVB tosa Tosa PDA (PXA255) versatilepb ARM Versatile/PB (ARM926EJ-S) versatileab ARM Versatile/AB (ARM926EJ-S) vexpress-a9 ARM Versatile Express for Cortex-A9 vexpress-a15 ARM Versatile Express for Cortex-A15 xilinx-zynq-a9 Xilinx Zynq Platform Baseboard for Cortex-A9 z2 Zipit Z2 (PXA27x)
其他 QEMU Bug 排除,參考文章:Bridge 建立橋接網路(QEMU Debug) 下方內容。
Reference:
http://pominglee.blogspot.tw/2014/06/linaro-qemu.html
沒有留言:
張貼留言