QEMU创建arm64架构的centos7虚拟机

QEMU创建arm64架构的centos7虚拟机

准备

  1. bios 文件
  2. centos 7 镜像文件

流程

  1. 下载qemu源码包

mkdir /usr/qemu
cd /usr/qemu
wget https://download.qemu.org/qemu-4.1.0.tar.xz

  1. 编译qemu,解压qemu安装包进入其目录执行以下命令

tar -xf qemu-4.1.0.tar.xz
cd ./qemu-4.1.0
./configure --target-list=aarch64-softmmu,aarch64-linux-user --enable-virtfs --enable-debug && make -j4 && make install

如果缺少库的话用 yum search 搜索缺少的库名,我这边缺少下面这个4个库
yum install -y glib2-devel.x86_64
yum install -y zlib-devel.x86_64
yum install -y pixman-devel.x86_64
yum install -y libcap-devel.x86_64

  1. 创建镜像文件

mkdir /usr/qemu/centos7_aarch64
cd /usr/qemu/centos7_aarch64
yum install -y qemu-kvm
qemu-img create -f qcow2 centos7_arm64.img 40g

  1. 创建/etc/qemu-ifup,和/etc/qemu-ifdown文件,并增加可执行权限
/etc/qemu-ifup
#!/bin/bash

IFNAME=ens33 #网卡名称

IP1=192.168.10.100/24
IP2=192.168.10.101/24

set -x
if [ -n "$1" ];then
#create bridge, add physical interface to bridge
    ip link set $IFNAME down
    ip link add br0 type bridge
    ip link set br0 up
    ip link set $IFNAME master br0
    ip link set $IFNAME up
#   ip addr add $IP1 dev br0
#   ip addr add $IP2 dev $IFNAME

#add tap device to bridge
#       ip tuntap add $1 mode tap user `whoami`
        ip link set $1 up
        sleep 0.5s
        ip link set $1 master br0

#config ip fro bridge
        pkill dhclient
    sleep 5
        dhclient -v br0

        exit 0
else
        echo "ERROR: no interface specified"
        exit 1
fi
/etc/qemu-ifdown
#!/bin/bash
if [ -n "$1" ];then
    IP1=192.168.10.100/24
    IP2=192.168.10.101/24

    IFNAME=ens33

    ip link set $IFNAME down
    ip link set $1 down
    ip link set br0 down

    ip link set $1 nomaster
    ip link set $IFNAME nomaster

    ip link del br0
#   ip tuntap del $1 mode tap

    #ip addr del $IP2 dev $IFNAME
    ip link set $IFNAME up

        pkill dhclient
    sleep 5
        dhclient -v $IFNAME

else
    echo "ERROR:no interface specified"
fi
  1. 启动quem虚拟机

qemu-system-aarch64
-m 4096
-M virt,accel=tcg
-cpu cortex-a72
-smp 8,sockets=4,cores=2
-bios /usr/qemu/centos7_aarch64/QEMU_EFI.fd
-device VGA
-device nec-usb-xhci
-device usb-mouse
-device usb-tablet
-device usb-kbd
-drive if=none,file=/usr/qemu/centos7_aarch64/centos7_arm64.img,id=hd0
-device virtio-blk-device,drive=hd0
-drive if=none,file=/usr/qemu/centos7_aarch64/CentOS-7-aarch64-Everything-2009.iso,id=cdrom,media=cdrom -device virtio-scsi-device
-device scsi-cd,drive=cdrom
-net nic
-net tap,ifname=tap1
-vnc :0

官方文档 https://qemu.readthedocs.io/en/latest/system/invocation.html#hxtool-8

  1. 安装vnc,通过vncviewer连接虚拟机

yum -y install vnc
vnc地址为127.0.0.1:5900
运行成功

  1. 设置虚拟机的网卡IP信息后,即可上网

dhclient eth0

  1. 将qemu安装目录写入到环境变量中,编写个启动脚本
qemu-system-aarch64 -m 4096 -M virt,accel=tcg -cpu cortex-a72 -smp 8,sockets=4,cores=2 -bios /usr/qemu/centos7_aarch64/QEMU_EFI.fd -device VGA -device nec-usb-xhci -device usb-mouse -device usb-tablet -device usb-kbd -drive if=none,file=/usr/qemu/centos7_aarch64/centos7_arm64.img,id=hd0 -device virtio-blk-device,drive=hd0 -device virtio-scsi-device -net nic -net tap,ifname=tap1 -vnc :0 &
sleep 5
vncviewer host=127.0.0.1:5900

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

极光1234

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值