OpenWrt开发
文章平均质量分 81
董哥的黑板报
90后程序员!
展开
-
一文万字带你入门智能路由器OpenWrt系统,并在虚拟中安装配置OpenWrt
一、OpenWrt的下载下载网址:http://archive.openwrt.org 进入网址之后选择自己需要的版本,此处我们选择下面这个版本:(此处我们为什么选择ext4文件系统类型而不选择squashfs文件系统类型:ext4是可以自己编辑的文件系统,squashfs是压缩的、只读的文件系统,不可以编辑。我们下载ext4类型可以自己进行编辑开发,编辑开发完成之后还可以转换为squash...原创 2019-09-23 22:55:34 · 17158 阅读 · 0 评论 -
安装包没意思?带你手动下载OpenWrt源码编译安装!
一、OpenWrt的代码管理工具OpenWrt社区同时使用Subversion和Git两种工具来管理代码 备注:OpenWrt的外围代码已经逐渐转到github提供的Git托管空间上,直到2016年3月将代码库由Subversion彻底转换为GITSubversion工具管理代码的目录:Subversion管理代码非常灵活,通常会创建 tags、branches和trunk共3个目录...原创 2019-10-11 20:03:13 · 9558 阅读 · 3 评论 -
全网仅此一篇!基于17.01.4版本的OpenWrt源码全面解析
此篇使用的源码来自于文章:https://blog.csdn.net/qq_41453285/article/details/102499225 OpenWrt的原始代码有7个原始的顶层目录,编辑时会生成7个临时目录 一、顶层目录目 录 含 义 config 编译选项配置文件,包含全局编译设置、开发人员编译设置、目标文件格式设置和内核 编译设置等 4 部分...原创 2019-10-11 23:14:37 · 7850 阅读 · 2 评论 -
OPKG包管理系统详解!带你管理OpenWrt系统软件
一、OPKG简介OPKG(Open/OpenWrt Package)是一个轻量快速的软件包管理系统,是 IPKG 的克隆, 目前已成为开源嵌入式系统领域的事实标准。OPKG 常用于路由、交换机等嵌入式设备中, 用来管理软件包的下载、安装、升级、卸载和查询等,并处理软件包的依赖关系。功能和 桌面 Linux 操作系统 Ubuntu 中的 apt-get、Redhat 中的 yum 类似 OPK...原创 2019-10-12 21:58:03 · 35526 阅读 · 1 评论 -
一文打尽UCI统一配置接口、UCI配置文件、UCI工具用法、UCI配置脚本、UCI API编程接口(Libubox库、UCI库)
接下来几篇文章首先讲述 UCI 配置及配置接口,接着讲述系统内核设置,最后还会讲述一些非 UCI 系统配置,这些配置通常不提供用户修改接口,但在系统运行时也是非常重要的一、UCI简介MVC(Model-View-Control)模式是经典的Web开发编程模式,OpenWrt也采用该设 计模式。该设计模式为分层设计,模型层负责数据的持久化操作。OpenWrt 的模型层采用 统一配置接口(U...原创 2019-10-12 22:46:39 · 15322 阅读 · 1 评论 -
一文打尽OpenWrt系统内核设置(/etc/sysctl.conf)、非UCI系统配置(/etc/rc.local、/etc/profile等)
前言:OpenWrt 也是一个 Linux 操作系统,因此它和桌面操作系统 Ubuntu及Fedora 一样, 采用sysctl作为系统的内核配置工具。sysctl.conf 作为其内核配置文件在启动时进行加载一、/etc/sysctl.conf配置文件文件介绍:这个文件是系统启动预加载的内核配置文件,通过sysctl命令读取和设置到系统当中 这个文件在OpenWrt系统的/etc/目...原创 2019-10-13 20:21:04 · 5998 阅读 · 0 评论 -
从mk文件深度剖析OpenWrt软件编译构建系统、并手把手教学构建自己的系统软件
前言:构建自己的系统软件,原理请参考OpenWrt软件编译构建系统文章:https://blog.csdn.net/qq_41453285/article/details/102545605 下面我们自己以一个自己设计的Hello程序为例,一步一步地构建出自己的软件一、程序实现的功能我们实现一个在路由器启动后访问指定网站的功能,这样就可以统计路由器的启动次数。网站地址可以在配置文件中进...原创 2019-10-14 20:44:23 · 12730 阅读 · 3 评论 -
从init进程逐步到/etc/init.d,整体分析Openwrt的软件启动机制
一、init进程介绍init进程是所有系统进程的父进程,它被内核调用起来并负责调用所有其他的进程。 如果任何进程的父进程退出,init进程将成为它的父进程。但是init进程是如何将其他进程调用起来的呢?接下来介绍二、OpenWrt软件启动机制第一步:内核启动完成后读取/etc/inittab文件,然后执行inittab中的sysinit所指的脚本(/etc/init.d/rcS)...原创 2019-10-14 22:55:21 · 11224 阅读 · 1 评论 -
开发OpenWrt软件时不得不用的GDB调试工具详解
在开发 C 语言应用程序时,经常会碰到内存使用错误导致的进程崩溃退出,这时我们 就需要一个工具来定位发生崩溃的代码所在位置以及当时的程序变量内容和调用先后顺 序等,GDB 工具就在这种情况下应运而生。本章首先讲述了如何使用 GDB 启动程序调试, 然后讲述了在 GDB 中如何设置断点以及查看程序的运行状态,最后讲述了使用 GDB 对运 行中程序的执行流程进行修改,这样可以以最快的速度定位问题所在...原创 2019-10-15 12:33:40 · 2575 阅读 · 1 评论 -
OpenWrt开发必备软件模块——libubox
一、libubox软件模块libubox是在2011年加入OpenWrt的代码库的。它是OpenWrt中的一个核心库,封装了一系列基础实用功能 提供的功能:主要提供事件循环、二进制块格式处理、Linux链表实现和一些JSON辅助处理 它的目的是以动态链接库方式来提供可重用的通用功能,给其他模块提供便利和避免再造轮子 这个软件由许多独立的功能组成,主要划分为3个软件包libubox、 js...原创 2019-10-15 22:58:31 · 8436 阅读 · 0 评论 -
OpenWrt开发必备软件模块——系统总线ubus
一、ubus模块介绍OpenWrt 提供了一个系统总线ubus,它类似于Linux桌面操作系统的d-Bus,目标是提供系统级的进程间通信(IPC)功能。ubus在设计理念上与d-Bus基本保持一致,提供了系统级总线功能,与d-Bus相比减少了系统内存占用空间,这样可以适应于嵌入式Linux操作系统的低内存和低端CPU性能的特殊环境 ubus是OpenWrt的RPC工具,是OpenWrt的微系...原创 2019-10-16 23:08:28 · 17786 阅读 · 7 评论 -
OpenWrt开发必备软件模块——ubox(内核模块、日志管理、UCI配置文件数据类型的验证)
一、ubox简介ubox在2013年加入OpenWrt的代码库中。它是 OpenWrt 中的一个核心扩展功能,是OpenWrt的帮助工具箱有以下3部分独立功能:内核模块管理,例如加载内核模块,查看已经加载内核模块等 日志管理 UCI配置文件数据类型的验证二、内核模块管理内核模块管理使用kmodloader来管理,并软链接为以下5个不同的Linux命令:rmmod:从L...原创 2019-10-18 11:26:59 · 4143 阅读 · 0 评论 -
OpenWrt开发必备软件模块——进程管理服务procd
一、procd简介通常的嵌入式系统均有一个守护进程,该守护进程监控系统进程的状态,如果某些系统进程异常退出,将再次启动这些进程。procd 就是这样一个进程,它是使用C语言编写 的,一个新的OpenWrt进程管理服务 它通过init脚本来将进程信息加入到procd的数据库中来管理进程启动,这是通过ubus总线调用来实现,可以防止进程的重复启动调用procd的进程管理功能主要包含3个部分:...原创 2019-10-18 13:08:21 · 14368 阅读 · 2 评论 -
OpenWrt开发必备软件模块——网络管理(CWMP、SSH、QoS、SMTP、NTP、uHTTPd)
一、概念uHTTPd 是 OpenWrt/LuCI 开发者从零开始编写的 Web 服务器,目的是成为优秀稳定 的、适合嵌入式设备的轻量级任务的 HTTP 服务器,并且和 OpenWrt 配置框架非常好地 集成在一起。它是管理 OpenWrt 的默认的 Web 服务器,还提供了现代 Web 服务器所有的 功能二、uHTTPd支持的技术uHTTPd支持TSL(SSL)、CGI和 Lua,是单...原创 2019-10-18 14:15:29 · 7742 阅读 · 0 评论 -
OpenWrt开发必备软件模块——无线技术与PPPoE
一、什么是无线无线是使用射频技术,利用无线电波发送与接收数据,无须中断网络即可实现移动办公 IEEE 802.11是无线网络的协议标准,计算机之间的无线通信需要共同遵守 IEEE 802.11规则。共同的协议标准是确保不同厂商生产设备实现互通与兼容的基础 到目前为止, IEEE 正式发布的无线网络协议标准共有:IEEE 802.11、IEEE 802.11a、IEEE 802.11b、IE...原创 2019-10-19 13:42:51 · 2076 阅读 · 0 评论 -
简略讲解OpenWrt的路由配置(单播路由/静态路由、策略路由、IGMP组播路由)
一、单播路由报文的目标地址为 A、B、C 类地址的路由表项为单播路由。 目标 IP 地址是告诉报文 目的主机地址在哪里,而路由是告诉报文如何到达目的地址 网络上的每个路由器独立进行 决策,将报文转发到离目的地址更近的路由器上,就这样一步一步地路由到目标主机上二、单播路由分类单播路由表中保存了各种路由协议发现的路由并形成一张路由表,根据路由表项的来源来划分,通常分为以下3类:接口...原创 2019-10-19 13:43:05 · 19285 阅读 · 0 评论 -
全方面讲解OpenWrt的DNS配置与DHCP,并介绍dnsmasq DNS缓存工具、nslookup/dig DNS测试工具
待续原创 2019-10-24 12:26:55 · 37119 阅读 · 2 评论 -
万字讲解OpenWrt防火墙iptables,并使用UCI配置防火墙
一、防火墙简介“防火墙”(Firewall)术语来自建筑设计领域,是指用来起分割作用的墙,当某一部分 着火时可以减缓或保护其他部分免受火灾影响。在计算机网络中,防火墙是在两个或多个 网络之间用于设置安全策略的一个或多个系统的组合。防火墙起到隔离异常访问的作用, 仅允许可靠的流量通过,从而保护了家庭和企业内部网络信息的安全 下图是一 个典型的防火墙部署结构Linux防火墙通常包含两部分,...原创 2019-10-25 09:20:22 · 19719 阅读 · 2 评论 -
简单聊聊OpenWrt的UPnP协议
一、UPnP起源通用即插即用(Universal Plug and Play,UPnP)是一种分布式、开放的网络架构,此 标准由微软公司于 1999 年提出,由非盈利的通用即插即用论坛(UPnP Forum)负责体系 架构和标准的维护和更新升级,此标准现已开放二、UPnP简介UPnP 主要用于智能设备、无线设备、个人计算机之间的互联互通。此协议在使用过 程中不需要任何驱动,可以在各种操作...原创 2019-10-25 11:16:30 · 7118 阅读 · 0 评论 -
超详细!手把手演示编译OpenWrt内核驱动模块
前言:构建自己的内核驱动模块,相关知识可以参考OpenWrt软件编译构建系统文章:https://blog.csdn.net/qq_41453285/article/details/102545605 下面我们自己以一个自己设计的hello-kernel内核驱动模块为例,一步一步地构建出自己的驱动模块一、目录结构通常新增一 个内核驱动模块的主要步骤如下: 在OPenWrt源码的pa...原创 2019-10-26 21:39:43 · 11784 阅读 · 9 评论 -
基于17.01.4源码,浅谈OpenWrt的内核启动流程
总体执行流程如下:脚本调用流程如下:一、启动的第一个进程(/etc/preinit)u-boot从Flash分区中读取Linux内核到内存,然后跳转到内存(某个地址)执行Linux内核。Linux内核会进行一系列验证,注册相关驱动,根据分区表(见下图openwrt源码/target/linux/ramips/dts/XXX.dts,)创建分区,然后挂载根文件系统,启动第一个用户空间...原创 2019-10-27 21:12:32 · 2440 阅读 · 0 评论