Qemu仿真----(3)运行OpenWRT

发布时间 2023-04-01 21:23:30作者: this毛豆

平台:ubuntu 22.04
对象:Qemu仿真OpenWRT.
文件:openwrt

1.安装依赖

$ sudo apt install build-essential bc flex bison gawk git unzip curl wget texinfo libssl-dev libncurses5-dev binutils patch zlib1g-dev
$ sudo apt install qemu-system-arm qemu-system-aarch64 qemu-system-x86

2.下载openwrt

$ git clone https://github.com/openwrt/openwrt.git
$ cd openwrt/
$ git branch -vv
* master 3c3d797c4d [origin/master] busybox: enable taskset by default

3.安装更新

$ cd openwrt/
$ ./scripts/feeds update -a
$ ./scripts/feeds install -a

4.配置config

$ make defconfig
$ make menuconfig

做如下修改:

Target System (x86)  --->
    (X) x86
ubtarget (x86_64)  --->
    (X) x86_64
Target Profile (Generic x86/64)  --->
    (X) Generic x86/64
Target Images  --->
    # 此处取消勾选
    [ ] GZip images

我选了x86_64平台,你可以根据实际选择其它平台,另外如果想要网络控制面板,还可以配置LuCI。

可以通过以下命令,得知相应Qemu支持的开发板情况,例如:

$ qemu-system-x86_64 -M help

5.编译openwrt

$ make -j4 V=s

编译期间保持联网,因为编译过程会从网络下载相应功能的源码包。

6.仿真运行

$ cd openwrt/bin/targets/x86/64/
$ qemu --enable-kvm -nographic -kernel openwrt-x86-64-generic-squashfs-combined.img

正常情况下,就可以进入openwrt命令行界面,完成。

另外,想要qemu和host通信,可以配置netplan的配置文件,添加虚拟桥接网络:

$ sudo vim etc/netplan/xxx.yaml
$ sudo netplan apply