"OpenWrt项目是针对嵌入式设备的Linux操作系统", 这是官方给出的定义。OpenWrt确实是一个非常好的嵌入式学习系统,目前市面上上千款设备支持运行OpenWrt,如小米路由、newifi、netgear路由、360路由等。各大wifi芯片厂商sdk开始采用OpenWrt,比如高通qsdk、mtk的openwrt sdk等。OpenWrt在网通领域已经形成了成熟的生态,可以称之为路由界的"安卓"。
我们通过OpenWrt能学到什么?
OpenWrt是一个相对mini的Linux发行版,你可以从上到下学习到Linux系统知识,shell脚本编写、Linux C语言开发、Web服务开发、Linux内核、TCP/IP协议栈实现、网卡驱动等。
很多同学想学习OpenWrt系统,但听说是嵌入式系统,便望而却步,认为嵌入式是很复杂的工程。其实我们学OpenWrt也不一定要学嵌入式,开发板只是一个载体,我们也可以学习纯软件层面的东西。这里我们可以通过虚拟机的方式先入门学习OpenWrt基本操作,当然也可以作为开发环境。
今天给大家讲解如何编译x86 OpenWrt固件并在vmware虚拟机中安装
编译x86 OpenWrt固件
这里只讲大概流程,详细编译OpenWrt固件流程见公众号的编译文章
下载openwrt最新代码
在github上搜索openwrt,找到下载地址https://github.com/openwrt/openwrt.git
在ubuntu下执行命令克隆openwrt源码
git clone https://github.com/openwrt/openwrt.git
执行以下命令更新包 ./scripts/feeds update -a
./scripts/feeds install -a
更新package,否则luci等package通过make menuconfig 不能显示
配置目标系统
make menuconfig
选择平台为x86
选择vmdk目标文件格式
开启配置页面选项
选择luci,选luci后就会有配置页面
开始编译
编译注意用非root用户编译
make V=99开始编译,第一次编译会比较慢,因为要下载开源包,生成在dl目录。编译完成后会在bin目录生成vmdk文件,该文件可以直接在vmware中加载运行
2. 虚拟机安装OpenWrt流程
准备固件
下载一个别人发布的vmdk文件,也可以用别人编译好的固件(下载地址如下,居然发现集成了作者开发的插件)
https://netflixcn.com/miji/46.html新建虚拟机
打开vmware,新建一个虚拟机
这里选择你要安装的目录
重要的一步,需要选择现有虚拟磁盘,也就是准备好的vmdk文件
安装完成后,启动OpenWrt虚拟机
现在系统启动ok,但我们还需要通过windows浏览器进入管理界面,这个估计的默认lan口地址为192.168.2.1,之前我们选择了nat模式,不能和宿主机网络互通。
修改lan口ip地址获取方式为dhcp,动态获取地址,这样可以获取到nat虚拟网卡同网段的地址。
通过ifconfig查看br-lan的ip地址,这里br-lan的地址为192.168.40.138,在浏览器中输入192.168.40.138即可进入OpenWrt管理
由于公众号无法留言,技术相关问题可以加作者微信交流
微信: linux4096
如果觉得文章不错麻烦分享下哦!
▼获取OpenWrt刷机教程和固件请关注公众号▼