"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固件
这里只讲大概流程,详细编译OpenWrt固件流程见公众号的固件编译文章
- 下载openwrt最新代码
在github上搜索openwrt,找到下载地址https://github.com/openwrt/openwrt.git - 在ubuntu下执行命令克隆openwrt源码
git clone https://github.com/openwrt/openwrt.git - 执行以下命令更新包
./scripts/feeds update -a