前言
上一次我们在昉·星光开发板上安装了ubuntu Server 22.04及挂载分区,这次主要记录我是如何在QEMU上运行openwrt的,具体步骤如下:
1
安装qemu,通过以下命令安装:
sudo apt-get install qemu-system_*
2
安装好qemu后,我这里用了qemu模拟x86的镜像,首先在/home/user/project
文件夹下创建一个名叫openwrt的文件夹,并且进入这个文件夹,下载载镜像文件,如下图所示,我这里下载最新的22.03.0-rc4版本。
进入我们建立的/home/user/project/openwrt 文件夹下,然后用以下命令下载openwrt的镜像
wget https://mirrors.tuna.tsinghua.edu.cn/openwrt/releases/22.03.0-rc4/targets/x86/64/openwrt-22.03.0-rc4-x86-64-generic-ext4-combined.img.gz
3
用以下命令解压下载的镜像文件
gzip -d openwrt-22.03.0-rc4-x86-64-generic-ext4-combined.img.gz
4
解压后,用以下命令运行虚拟机:
qemu-system-x86_64 \
-m2048 -smp 2 \
-drivefile=openwrt-22.03.0-rc4-x86-64-generic-ext4-combined.img,format=raw,if=virtio \
-nographic \
-nic user -nic user,id=wan,hostfwd=tcp::1524-:80
这条命令就是使用64位x86的qemu虚拟机,使用2G ram,用2核运行,命令行模式运行,采用桥接的方式联网且将运行openwrt的虚拟机80端口映射到1524端口,如下图所示,然后慢慢等待。
等待完毕后,终于出现了openwrt的logo
5
从openwrt的官网得知,从22.03开始,官方默认防火墙管理工具用nfttables代替了iptables。
由于对nfttables不太熟悉,这里,我干脆关闭openwrt的网络防火墙,网上查询相关命令如下:
nft flush ruleset
6
在局域网PC的网页浏览器地址栏输入昉·星光板的 ip地址:1524,由于我们的qemu虚拟机是桥接在板子的网络,故浏览器地址栏输入 192.168.2.228:1524,我们进入了openwrt的管理界面:
总结
Openwrt可折腾的地方有很多,安装ipk插件后,可以实现各种神奇的功能,总之这也算是能在昉·星光上运行openwrt了吧!惭愧惭愧,由于在qemu里虚拟机里运行的,导致运行得速度挺慢的。接下来我是想真正把openwrt移植到这块板子上,实现物理上能在昉·星光板上运行。这对于我这个毫无基础的人来说真的是任重道远啊,接下来我会把自己学习的过程继续与大家分享!感谢~
|