WSL2之QEMU安装与使用

        最近开发openharmony device单板,官方提供了许多芯片平台适配示例,都是通过qemu虚拟环境来验证的,于是也想自己动手试试qemu。大致分为一下几个步骤:

1.安装依赖(WSL Ubuntu 20.04)

sudo apt update
sudo apt install build-essential
sudo apt install zlib1g-dev
sudo apt install pkg-config
sudo apt install libglib2.0-dev  
sudo apt install binutils-dev
sudo apt install libboost-all-dev
sudo apt install autoconf
sudo apt install libtool
sudo apt install libssl-dev
sudo apt install libpixman-1-dev
sudo apt install virtualenv
sudo apt install flex
sudo apt install bison
sudo apt install libgcrypt20-dev

1.确认python版本 >= 3.6

2.安装ninja

sudo apt-get install libglib2.0-dev

此外,还需安装好ninja等构建工具,否则在./configure时无法正常执行。 

2.下载qemu源码

官网下载(网速较慢,我下了半天放弃了):https://www.qemu.org/download/WSL2之QEMU安装与使用https://www.qemu.org/download/

或者直接命令下载: 

wget https://download.qemu.org/qemu-6.2.0.tar.xz

github下载(推荐),切换至release分支: 

git clone https://github.com/qemu/qemu.git

3.编译qemu源码

 配置工程:

cd qemu/

sudo mkdir /opt/qemu

./configure --prefix=/opt/qemu

配置时会自动clone一些代码,时间有点长,需要耐心等待。 

WSL2之QEMU安装与使用 执行成功如下所示: 

WSL2之QEMU安装与使用

编译代码 

 make -j8

WSL2之QEMU安装与使用

WSL2之QEMU安装与使用

 4.安装qemu

sudo make install

WSL2之QEMU安装与使用

5.不同架构的安装方法

5.1 CSKY架构qemu安装

参考如下链接安装,直接下载编译好的qemu程序包,但是需要注意改程序包是基于Ubuntu16.04的,我使用的平台是WSL2 Ubuntu 20.04,需要安装一些库的依赖:

SmartL_E802/README_zh.md · OpenHarmony/device_qemu - Gitee.comWSL2之QEMU安装与使用https://gitee.com/openharmony/device_qemu/blob/HEAD/SmartL_E802/README_zh.md查看缺失的库,ldd qemu-system-cskyv2

WSL2之QEMU安装与使用

解决步骤: 

sudo apt-get install libbrlapi-dev

WSL2之QEMU安装与使用

 安装后还是提示找不到库,这是因为版本不匹配导致的,在usr/lib目录下搜索可以看到libbrlapi.so.0.7.0库文件:

WSL2之QEMU安装与使用

        我这里为了省事,做法是直接创建一个libbrlapi.so.0.6的软连接链接到libbrlapi.so.0.7.0,毕竟如果提供的接口能够找到实现,还是可以直接用的。(建议直接从Ubuntu16.04的/usr/lib下拷贝)

find /usr/lib -name "libbrlapi*"
cd /usr/lib/x86_64-linux-gnu/
ln -s libbrlapi.so.0.7.0 libbrlapi.so.0.6

下面的按照提示安装:

sudo apt install libvdeplug-dev
sudo apt install libbluetooth-dev
sudo apt install libjpeg-dev
sudo apt install libsnappy-dev
sudo apt install libspice-server-dev

libng要特别注意下:

sudo add-apt-repository ppa:linuxuprising/libpng12
sudo apt-get update
sudo apt install libpng12-dev

运行测试:

WSL2之QEMU安装与使用

5.2 Xtensa架构qemu安装

参考如下链接安装:

esp32/README_zh.md · OpenHarmony/device_qemu - Gitee.comWSL2之QEMU安装与使用https://gitee.com/openharmony/device_qemu/blob/HEAD/esp32/README_zh.md可能需要安装的库:

sudo apt-get install libglib2.0-dev
libpixman-1-dev
sudo apt-get install libgcrypt20-dev

上一篇:安装并启动xv6


下一篇:Qemu Libvirt