最近有個客戶在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