Openwrt开发笔记(1)—— 开发环境

OpenWrt简介

OpenWrt 是一个嵌入式设备的 Linux 发行版,以 GPL 许可协议发行

其主要特点有如下几个:

● 代码里不含第三方开源包,只包含开源包地址链接。在编译的时候下载。
● 编译时自动下载源代码、打补丁来满足指定平台要求,并编译。还可以修改
Makefile 来下载最新的软件包。
● 使用 LuCI 作为最终用户管理界面。LuCI 以 Apache 许可协议发布 Web 管理功能
代码。
● UCI 通用配置管理方法。
● 通过脚本来调用 iptables 来实现防火墙功能,配置保存在 UCI 文件中。
● 开放和可扩展的 OPKG 格式安装升级包。

为什么使用OpenWrt来作为开发路由器的平台,我的理解是:开放,易用,开发者众多。

OpenWrt整体框架

在这里插入图片描述
LUCI就是我们常说的Web配置页;TR069是一种远程管理服务,主要用于CPE等设备,可以网上了解下CWMP。 SNMP也是类似的服务,逐渐呗TR069替代。

其他部分后面随着学习深入我们再逐渐了解。

代码获取

OpenWrt有自己的官网,可以根据手里面的设备去官网获取,不同的硬件厂家也不断上传自己的代码和分支。 本人手里面是MI4设备,代码地址:https://github.com/openwrt/openwrt.git,可以自己使用git拉取。

官网地址:https://openwrt.org/

在这里插入图片描述
我们拉取下来没有这么多文件夹,部分文件夹是开始编译后才生成的。
scripts:存放一些脚本
feeds:存放一些第三方代码包或者代码地址
package:存放一些常用的软件包,是最常用的文件夹
dl:编译之后根据配置功能下载的软件包存放地址,避免每次编译都更新代码
build_dir:编译中间文件夹,将参与编译的模块代码根据mk文件拷贝或解压到此文件夹后再进行编译
bin:编译生成的文件在此文件夹下

编译环境配置

OpenWrt使用feed包管理额外的代码SDK,即可以运行在系统中的一些应用包。
在代码拉取完毕之后,我们会先更新一下所有包的链接信息,用来匹配mk文件的修改。

./scripts/feeds update -a

所有的链接被更新完毕之后,进行初步的安装

./scripts/feeds install -a

安装完毕之后,我们运行make menuconfig 来进行一个初步的功能选择和芯片配置。

make menuconfig

在这里插入图片描述MI4的配置按照图中选择配置,然后退出保存。

make defconfig

进行编译检查,如果编译环境不完整,可以按照提示进行完善。linux安装软件包这里不再赘述。

最后进行编译

make V=s -j4

V=s或者99 是编译输出的信息等级
-j4是参与编译的内核熟练,视电脑配置自己决定。

生成的包

编译完成后会生成一些bin文件:openwrt\bin\targets\ramips\mt7621文件夹下
在这里插入图片描述
主要关注:
openwrt-ramips-mt7621-xiaomi_mi-router-4-initramfs-kernel.bin
此文件可以用来再breed中进行升级,刷入kernel,再开机时会从RAM启动一个临时的web界面,用于空板升级。
openwrt-ramips-mt7621-xiaomi_mi-router-4-squashfs-sysupgrade.bin
此文件可以用于已经刷入对应系统之后的版本升级。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值