发布

Openwrt知识

OpenWrt是适用于路由器设备的一个Linux发行版
专栏成员
12
文章
885
阅读量
13
订阅数
【openwrt】Openwrt系统的reboot流程
当我们在openwrt系统的终端中敲下 reboot指令后,系统需要进行一系列动作后,才会真正的进行硬件重启。而这一系列的动作可以分为——应用程序的停止和内核的停止。在Openwrt系统中,应用程序的停止是1号进程(也就是 procd)完成的,应用程序全部停止后才会进入内核的重启流程。下面我们将分别来介绍应用程序和内核停止的流程。
知否知否应是绿肥红瘦
2025-02-19
710
【openwrt】 libubox组件——ustream
ustream 是 libubox 提供的一个流管理工具,它可以实现自动从流中获取数据或者将数据写入流,还可以主动通知ustream的所有者什么时候可以从流读取数据。如果是将数据写入流,会有一个特别的设计——当流可写时,数据会被直接写入流,当流不可写时,数据会被缓存,并在流再次可写时自动地将缓存的数据继续写入流,直到缓存中所有的数据都被写入。
知否知否应是绿肥红瘦
2025-02-19
480
【openwrt】Openwrt系统新增普通用户指南
Openwrt系统在默认情况下只提供一个 root账户,所有的服务都是以 root权限运行的,包括 WebUI也是通过root账户访问的,如果你的Openwrt设备支持 WAN口访问WebUI,那么这里就有极大的安全风险,为了尽可能的降低这种风险,新增一个普通用户可能是一个比较合理的方案。
知否知否应是绿肥红瘦
2025-02-19
980
【openwrt】【overlayfs】Openwrt系统overlayfs挂载流程
overlayfs是一种叠加文件系统,在openwrt和安卓系统中都有很广泛的应用,overlayfs通常用于将只读根文件系统(rootfs)和可写文件系统(jffs2)进行叠加后形成一个新的文件系统,这个新的文件系统“看起来”是可读写的,这种做法的好处是:
知否知否应是绿肥红瘦
2025-02-19
1520
【openwrt】【procd】Openwrt系统启动流程分析
但实际上内核启动完成后,运行的第一个用户进程并不是procd,在运行procd之前还执行了其他准备工作,换句话说,procd并不一开始就是“老大”,它只是最终接替了老大的位置。
知否知否应是绿肥红瘦
2025-02-19
640
【openwrt】package介绍
OpenWrt 构建系统主要围绕package的概念展开。不管是什么软件,几乎都对应一个package。 这几乎适用于系统中的所有内容:HOST工具、交叉编译工具链、Linux 内核、内核mod、根文件系统和上层的应用软件。
知否知否应是绿肥红瘦
2025-02-19
740
【openwrt】libubox组件——uloop_process
processes是一个全局链表,用于管理多个struct uloop_process.
知否知否应是绿肥红瘦
2025-02-19
620
【openwrt】【编译问题】openwrt编译问题
在某次openwrt编译过程中出现了undefined reference to pthread_once错误,具体报错信息如下:
知否知否应是绿肥红瘦
2025-02-19
640
【openwrt】netifd组件——netifd-proto脚本分析
utils.sh为netifd-proto.sh和netifd-wireless.sh提供一些基础功能。一般用户不会直接调用。
知否知否应是绿肥红瘦
2025-02-19
990
【openwrt】libubox组件——kvlist
Libubox 是 OpenWrt 的一个必备的基础库,包含大小端转换、链表、MD5 、定时器等实用工具基础库。 Libubox的kvlist组件基于平衡二叉树实现,另外kvlist是纯数据结构组件,不依赖uloop. 下面介绍其kvlist工具的使用方法:
知否知否应是绿肥红瘦
2025-02-19
260
【openwrt】libubox组件—定时器和kvlist
uloop_timeout 是 Libubox 提供的一个定时器工具(以下简称uloop定时器), 用来实现一些简单的定时任务十分方便,下面介绍uloop定时器的原理和使用方法:
知否知否应是绿肥红瘦
2025-02-19
710
【openwrt】uloop_run过程分析
1.flag必须是ULOOP_READ和ULOOP_WRITE,或者其中之一,否则就从cur_fds[]中删除此sock。cur_fds[]是一个struct uloop_fd_event类型的全局数组,用于保存epoll监听就绪的fd 2.如果是非阻塞,需要调用fcntl设置fd的flag为O_NONBLOCK 3.register_poll将需要监听的fd添加到epoll 4.置位sock相关标志位
知否知否应是绿肥红瘦
2025-02-19
560
没有更多了
社区活动
Python精品学习库
代码在线跑,知识轻松学
博客搬家 | 分享价值百万资源包
自行/邀约他人一键搬运博客,速成社区影响力并领取好礼
技术创作特训营·精选知识专栏
往期视频·干货材料·成员作品 最新动态
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档