配置 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

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