qemu系统级模拟启动路由器

如果发现虚拟机没有ens33网卡的话,可以手动配置一下

sudo ip link set ens33 up
sudo dhclient ens33

用户级调试的话需要配一下网卡

sudo brctl addbr br0
sudo brctl addif br0 eth0
sudo ifconfig br0 172.21.198.73/24 up

首先创建一张网卡

sudo tunctl -t tap0
sudo ifconfig tap0 192.168.0.4/24 up

启用端口转发

echo 1 | sudo tee /proc/sys/net/ipv4/ip_forward > /dev/null

配置NAT,这里我的物理外机网卡是ens33

sudo iptables -t nat -A POSTROUTING -o ens33 -j MASQUERADE

允许tap0进行端口转发

sudo iptables -A FORWARD -i tap0 -j ACCEPT
sudo iptables -A FORWARD -o tap0 -j ACCEPT

启用mips大端的脚本

#!/bin/sh
qemu-system-mips \
-M malta \
-kernel /home/iot/tools/qemu-images/mips/vmlinux-2.6.32-5-4kc-malta \
-hda /home/iot/tools/qemu-images/mips/debian_squeeze_mips_standard.qcow2 \
-append "root=/dev/sda1 console=tty0"  \
-nographic \
-net nic -net tap,ifname=tap0,script=no,downscript=no

进入虚拟机内

ip link add br0 type dummy
ifconfig eth0 192.168.0.5/24
ifconfig br0 192.168.0.6/24

设置完之后主机内就可以ping通虚拟机了

将文件根目录打包,然后python开启一个http用于传文件

tar -cvf squashfs-root.tar squashfs-root/
python3 -m http.server

mips虚拟机内

wget 192.168.0.4:8000/squashfs-root.tar
tar -xvf squashfs-root.tar

不要忘了文件挂载

mount --bind /proc proc
mount --bind /dev dev

暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇