【原文連接】基于x86架構(gòu)的CentOS7虛擬機(jī)通過qemu安裝ARM架構(gòu)CentOS7虛擬機(jī)_centos7 arm_redrose2100的博客-CSDN博客
試過很多版本的在win10系統(tǒng)直接qemu安裝arm版linux都失敗了,也看到了別人也說這個(gè)方式不行得用虛擬機(jī)套虛擬機(jī)才行的方式,因?yàn)槲覜]有ubunto所以搜到大佬的centos虛擬機(jī)套虛擬機(jī)方案,親測可用。只不過該文章沒寫安裝成功之后怎么給qemu虛擬的arm-centos配置網(wǎng)絡(luò),以及關(guān)機(jī)后怎么啟動(dòng),所以經(jīng)過一頓csdn探索測試后特意編寫此文章,反向?qū)W習(xí)輸出共享給各位需要的大佬。
安裝過程:
1.win10安裝VMware虛擬機(jī)。
2.vmvare安裝centos7,配置虛擬機(jī)centos操作系統(tǒng)網(wǎng)絡(luò),nat或者橋接都行,橋接參考VMWare橋接模式(CentOS7)_centos vmware 橋接_壆無止境的博客-CSDN博客
3.centos7虛擬機(jī)通過qemu安裝arm版本centos系統(tǒng),參考(試過很多版主發(fā)的都不行,就這個(gè)版主的一次就安裝成功了,可嗨皮了,在此謝謝大佬。)基于x86架構(gòu)的CentOS7虛擬機(jī)通過qemu安裝ARM架構(gòu)CentOS7虛擬機(jī)_redrose2100的博客-CSDN博客
4.按第3步安裝成功之后,可能arm版的centos操作系統(tǒng)網(wǎng)絡(luò)可能還是沒網(wǎng),需要手動(dòng)設(shè)置下dhcp
cd /etc/sysconfig/network-scripts/
vi??ifcfg-eth0
#修改以下兩項(xiàng):
BOOTPROTO=dhcp? #修改為dhcp
ONBOOT=yes? #修改onboot為yes
:wq 保存退出后,重啟網(wǎng)卡:systemctl restart network
這時(shí)候ifconfig命令還未安裝,可通過ip addr 查看eth0已有網(wǎng)絡(luò);
?確認(rèn)centos虛擬機(jī)可以連通外網(wǎng),就可以在qemu的arm版centos內(nèi)使用yum安裝net-tools等工具。
5.如果不小心關(guān)了qemu的arm版centos,則可以使用以下命令重新打開系統(tǒng)
qemu-system-aarch64 -m 2048 -cpu cortex-a57 -smp 6 -M virt -bios /usr/share/AAVMF/AAVMF_CODE.fd -nographic ?-device virtio-scsi-device ?-drive if=none,file=/var/lib/libvirt/images/test.img,id=hd0 -device virtio-blk-device,drive=hd0?
注意到?jīng)],就是去掉了-drive if=none,file=/opt/os/CentOS-7-aarch64-Minimal-2009.iso,id=cdrom,media=cdrom 和-device scsi-cd,drive=cdrom 這兩個(gè)參數(shù),因?yàn)榧由线@兩個(gè)參數(shù)就第二次重裝了(試了很多次,終于明白這個(gè)參數(shù)的用途,嗚嗚嗚,哈哈哈哈,查看了qemu參數(shù)就明白了)
6.使用shell通過vmware虛擬機(jī)ssh端口映射的方式連到套的虛擬機(jī)里邊,采用如下的開機(jī)命令
qemu-system-aarch64 -m 2048 -cpu cortex-a57 -smp 6 -M virt -bios /usr/share/AAVMF/AAVMF_CODE.fd -nographic ?-device virtio-scsi-device ?-drive if=none,file=/var/lib/libvirt/images/test.img,id=hd0 -device virtio-blk-device,drive=hd0 -net user,hostfwd=tcp::5678-:22 -net nic
看到了么,與第5步的開機(jī)命令多一個(gè)參數(shù):-net user,hostfwd=tcp::5678-:22 -net nic,這樣就可以把VMware虛擬機(jī)的5678端口號(hào)與arm版虛擬機(jī)的22端口號(hào)映射開通,接著直接通過finalshell、xshell等各種shell連接到arm版的虛擬機(jī)里下載文件或者安裝包等。
記得xshell的連接IP和端口號(hào)為:vmware虛擬機(jī)的IP,端口號(hào)為5678,用戶名密碼為你qemu安裝arm版本centos的用戶名密碼。ok到此完事。
具體原理參考:在QEMU虛擬機(jī)和宿主機(jī)之間傳輸文件_qemu共享文件夾_遠(yuǎn)小帥的博客-CSDN博客
(其中直接給qemu的arm虛擬機(jī)通過橋接的方式,也就是 windows-橋接--vmware(centos虛擬機(jī))--橋接-qemu(arm版centos))
7.通過兩層橋接直接給qemu嵌套的虛擬機(jī)供網(wǎng)
首先配置win10宿主機(jī)和vmware虛擬及通過橋接方式聯(lián)網(wǎng),保證vmvare虛擬機(jī)IP與win10宿主機(jī)在同一個(gè)網(wǎng)段里。
其次,通過在vmware虛擬機(jī)centos里配置網(wǎng)橋和虛擬網(wǎng)卡的方式給qemu的arm-centos系統(tǒng)供網(wǎng),具體設(shè)置如下
首先安裝?bridge-utils 和?tunctl?
yum install bridge-utils
tunctl安裝參考:CentOS 7 Tunctl 安裝 虛擬網(wǎng)卡_tom.ma的博客-CSDN博客
# 配置 YUM 源
vim /etc/yum.repos.d/nux-misc.repo
[nux-misc]
name=Nux Misc
baseurl=http://li.nux.ro/download/nux/misc/el7/x86_64/
enabled=0
gpgcheck=1
gpgkey=http://li.nux.ro/download/nux/RPM-GPG-KEY-nux.ro
yum --enablerepo=nux-misc install tunctl
(1)備份并配置網(wǎng)橋:
cd??/etc/sysconfig/network-scripts/
cp ifcfg-ens33 ifcfg-ens33.bark
備份后修改ens33網(wǎng)卡為如下配置:
vi ifcfg-ens33
TYPE="Ethernet"
NAME="ens33"
DEVICE="ens33"
ONBOOT="yes"
BRIDGE=br0
修改網(wǎng)橋配置:(修改配置文件重啟不用再次添加網(wǎng)橋)
cp ifcfg-ens33 ifcfg-br0?
vi ifcfg-br0
TYPE="Bridge"
BOOTPROTO="static"
NAME="br0"
IPADDR=192.168.1.47
NETMASK=255.255.255.0
GATEWAY=192.168.1.254
DEVICE="br0"
ONBOOT="yes"
DNS1=8.8.8.8
配置好之后重啟網(wǎng)卡:
systemctl restart network
ip a 查看網(wǎng)橋br0,并開啟網(wǎng)橋 ifup br0 或者 ifconfig br0 up
查看網(wǎng)橋網(wǎng)絡(luò)連接是否正常,保證可以ping通win10宿主機(jī)內(nèi)網(wǎng)。
(2)VMware-centos虛擬機(jī)(也就是qemu-arm的宿主機(jī))創(chuàng)建虛擬網(wǎng)卡,并添加進(jìn)網(wǎng)橋
tunctl -t tap0? ? ?#創(chuàng)建虛擬網(wǎng)卡
ifconfig tap0 up #開啟tap0虛擬網(wǎng)卡
brctl? addif br0 tap0? #添加虛擬網(wǎng)卡到網(wǎng)橋br0中
brctl stp br0 yes? #開啟網(wǎng)橋stp
brctl show #查看網(wǎng)橋結(jié)果
ifdown ens33 #關(guān)閉網(wǎng)卡
ifup ens33 #啟動(dòng)網(wǎng)卡
下圖表示網(wǎng)橋設(shè)置成功。
?ifconfig 查看vmware虛擬機(jī)中網(wǎng)絡(luò)狀態(tài)
?其中網(wǎng)橋br0與win10內(nèi)網(wǎng)地址在同一網(wǎng)段,ping win10 物理機(jī)可ping通,www.baidu.com也可ping通,說明網(wǎng)絡(luò)配置正確。
ping baidu 域名還需要設(shè)置dns。
vi /etc/sysconfig/network
NETWORKING=yes
HOSTNAME=xxxx #名字隨便了
GATEWAY=192.168.1.254 #默認(rèn)網(wǎng)關(guān)和宿主機(jī)相同
vi /etc/resolv.conf
# Generated by NetworkManager
nameserver 192.168.0.254 #DNS,跟宿主一樣也可以直接寫 8.8.8.8
?(3)啟動(dòng)qemu,啟動(dòng)命令如下
qemu-system-aarch64 -m 2048 -cpu cortex-a57 -smp 6 -M virt -bios /usr/share/AAVMF/AAVMF_CODE.fd -nographic -device virtio-scsi-device -drive if=none,file=/var/lib/libvirt/images/test.img,id=hd0 -device virtio-blk-device,drive=hd0 -net nic -net tap,ifname=tap0,script=no,downscript=no
其中最后一句-net nic -net tap,ifname=tap0,script=no,downscript=no 配置以tap0虛擬網(wǎng)卡作為qemu-centos-arm的網(wǎng)絡(luò),啟動(dòng)后開始配置嵌套的arm-centos網(wǎng)絡(luò):(如果啟動(dòng)后已經(jīng)聯(lián)網(wǎng),則不需要在設(shè)置下圖eth0網(wǎng)卡配置。)
cd /etc/sysconfig/network-scripts/
vi ifcfg-eth0
DEVICE=eth0
BOOTPROTO=static
TYPE=Ethernet
USERCTL=yes
PEERDNS=yes
IPV6INIT=no
ONBOOT=yes
IPADDR=192.168.1.63
NETMASK=255.255.255.0
GATEWAY=192.168.1.254
DNS1=8.8.8.8
#重啟網(wǎng)卡:
systemctl restart network
ficonfig 查看arm網(wǎng)絡(luò)連接
ping www.baidu.com 測試發(fā)現(xiàn)可以百度,接著可用各種xshell工具直接連接。
文章來源:http://www.zghlxwxcb.cn/news/detail-701929.html
?感謝各位大佬的文章,完美解決了小弟的問題,小弟在此表示感謝大佬。文章來源地址http://www.zghlxwxcb.cn/news/detail-701929.html
到了這里,關(guān)于基于x86架構(gòu)的CentOS7虛擬機(jī)通過qemu安裝ARM架構(gòu)CentOS7虛擬機(jī)_centos7 arm 網(wǎng)絡(luò)配置的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!