配置 QEMU+ARM64 环境

最近有个客户在64位 OrangePi Zero Plus2 运行 PyArmor 总是出问题, libtomcrypt 校验 rsa_verify_hash 失败。反复修改了多次还没有搞定,最后决定装个64位的环境自己先跑一下。

安装 QEMU

下载最新源码,编译安装。安装的时候选择需要的target-list,选择aarch64-softmmu即可,如果全部编译,会很慢。

	wget https://download.qemu.org/qemu-3.1.0.tar.xz
	tar xJf qemu-3.1.0.tar.xz
	cd qemu-3.1.0
	./configure --target-list=aarch64-softmmu --enable-virtfs --enable-kvm --prefix=/home/jondy/workspace/qemu/
	make && make install

安装交叉编译工具

    wget https://releases.linaro.org/components/toolchain/binaries/latest-7/aarch64-linux-gnu/gcc-linaro-7.3.1-2018.05-x86_64_aarch64-linux-gnu.tar.xz
    tar xJf gcc-linaro-7.3.1-2018.05-x86_64_aarch64-linux-gnu.tar.xz

编译内核

    wget https://www.kernel.org/pub/linux/kernel/v4.x/linux-4.20.tar.xz 
    tar xJf linux-4.20.tar.xz
    cd linux-4.20
    make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- defconfig 
    make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu-

这个编译太费事了,一大堆提示,还是直接下载个好了

wget http://people.linaro.org/~alex.bennee/images/aarch64-linux-3.15rc2-buildroot.img 

启动虚拟机

qemu-system-aarch64 -machine virt -cpu cortex-a57 -machine type=virt -nographic -smp 1 -m 2048 -kernel aarch64-linux-3.15rc2-buildroot.img --append "console=ttyAMA0"

共享文件夹

创建共享文件夹

mkdir /tmp/share

增加QEMU启动选项

-fsdev local,security_model=passthrough,id=fsdev0,path=/tmp/share -device virtio-9p-pci,fsdev=fsdev0,mount_tag=host_folder

然后在虚拟机上面

mount -t 9p -o trans=virtio -oversion=9p2000.L host_folder /mnt

报错: 9pnet_virtio: no channels available
然后不使用下载的内核,自己重新编译了一个,就不报这个错误,可以访问主机的共享目录了,看来一点也偷懒不得啊!

退出虚拟机QEMU

c-a x
显示帮助
c-a h

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章