LXR | KVM | PM | Time | Interrupt | Systems Performance | Bootup Optimization

随笔分类 -  OpenWRT

1

OpenWRT(20):NAND上squashfs+ubifs的overlay实现rootfs
摘要:OpenWrt 使用 squashfs + ubifs 组合作为根文件系统(rootfs)的设计,是针对嵌入式设备(尤其是基于 NAND Flash 的硬件)的一种优化方案。这种设计结合了两种文件系统的优势,解决了嵌入式场景下的关键需求。 1 背景说明 嵌入式设备的硬件限制 NAND Flash 特 阅读全文

posted @ 2025-02-01 23:59 ArnoldLu 阅读(16) 评论(0) 推荐(1) 编辑

OpenWRT(19):根文件系统挂载mount_root
摘要:参考《[OpenWrt Wiki] The OpenWrt Flash Layout》、《[OpenWrt Wiki] Extroot configuration》。 1 mount_root概要 mount_root函数在系统启动的早期阶段被调用,以确保系统能够访问一个可写的根文件系统。 moun 阅读全文

posted @ 2024-10-18 23:59 ArnoldLu 阅读(537) 评论(0) 推荐(0) 编辑

OpenWRT(18):固件升级sysupgrade
摘要:sysupgrade的主要作用是升级OpenWrt固件,同时尽可能保留用户配置。它通过备份指定的配置文件,擦除整个文件系统,安装新版本的OpenWrt,然后恢复保存的配置文件来实现升级。 参考《[OpenWrt Wiki] Sysupgrade – Technical Reference》。 1 s 阅读全文

posted @ 2024-10-06 23:59 ArnoldLu 阅读(1764) 评论(0) 推荐(0) 编辑

OpenWRT(17):网络接口管理守护进程netifd
摘要:netifd是一个网络接口守护程序(daemon),它负责初始化网络设备、配置网络参数、处理网络事件以及维护网络连接。netifd通常在系统启动时启动,并在后台运行以监视和调整网络设置。 以下是netifd的一些关键特性和功能: 1.热插拔支持:netifd能够检测网络设备的变化,如USB网络适配器 阅读全文

posted @ 2024-09-28 23:59 ArnoldLu 阅读(758) 评论(0) 推荐(0) 编辑

OpenWRT(16):基于ubus的远程调用守护进程rpcd(Remote Procedure Call Daemon)
摘要:OpenWrt的rpcd(RemoteProcedureCallDaemon)是一个守护进程,它提供了一个基于UBUS(OpenWrt'sUnifiedBinaryService)的RPC框架,允许通过插件来扩展其功能。rpcd的主要作用包括: 提供远程过程调用接口:允许远程客户端(如LuCIWeb 阅读全文

posted @ 2024-09-22 23:59 ArnoldLu 阅读(691) 评论(0) 推荐(0) 编辑

OpenWRT(15):ubox下的日志管理logd/logread
摘要:logd搜集日志,保存在缓存中。通过ubus提供给logrread读取。logd/logread和ubus/ubusd大致架构如下: 1 logd 1.1 logd主要作用 logd是 OpenWrt 系统中的日志守护进程,它负责处理系统产生的日志消息。logd的主要作用包括日志的收集、过滤、存储和 阅读全文

posted @ 2024-09-09 23:59 ArnoldLu 阅读(1109) 评论(0) 推荐(1) 编辑

OpenWRT(14):本地时钟校准服务ntpd(Network Time Protocol Daemon)
摘要:ntpd是一个用于实现网络时间协议(NTP)的守护进程,它允许路由器与互联网上的时间服务器同步时间。这样可以确保路由器的系统时间是准确的,这对于很多依赖于时间的服务和功能来说非常重要,比如VPN、动态DNS、定时任务等。 1 配置ntpd ntpd由Busybox提供: Base system Ne 阅读全文

posted @ 2024-09-01 23:59 ArnoldLu 阅读(1090) 评论(0) 推荐(0) 编辑

OpenWRT(13):DNS和DHCP服务守护进程dnsmasq和odhcpd
摘要:dnsmasq 是一个轻量级的DNS和DHCP,它通常用于小型网络。 odhcpd 是OpenWrt中用于IPv6的DHCP和RA(Router Advertisement)服务的守护进程。 1 dnsmasq dnsmasq是DNS masquerade的意思, dnsmasq是一个为小型网络提供 阅读全文

posted @ 2024-08-30 23:59 ArnoldLu 阅读(1763) 评论(0) 推荐(0) 编辑

OpenWRT(12):uhttpd主要功能以及客户端连接、CGI/Lua/UBUS/UCODE等处理
摘要:uhttpd是一个功能全面、轻量级的Web服务器,是Web管理界面LuCI的默认服务器,支持SSL、CGI、Lua。 uhttpd是单线程,但支持多个实例。 1 配置uhttpd 1.1 配置uhttpd uhttpd配置如下: Network Web Servers/Proxies uhttpd 阅读全文

posted @ 2024-08-25 23:59 ArnoldLu 阅读(1678) 评论(0) 推荐(0) 编辑

OpenWRT(11):failsafe mode触发和流程说明
摘要:failsafe是一种安全模式,允许用户在遇到配置错误或者其他问题导致设备无法访问时,通过一个简化配置来重新获得对设备的控制。 为什么需要failsafe(配置错误或者无法访问)?怎么触发(通过按键、命令行、环境变量、网络)?触发后干什么(仅启动ssh服务、shell等有限服务。仅提供最小服务,用于 阅读全文

posted @ 2024-08-24 23:59 ArnoldLu 阅读(485) 评论(0) 推荐(0) 编辑

OpenWRT(10):OpenWRT下rootfs的cpio/squashfs/ubifs/ext4生成流程
摘要:在include/image.mk中定义了initramfs、ubifs、squashfs、ext4等镜像的生成。 OpenWRT提供配置选项入口,借助mkfs.ubifs、mksquashfs4、make_ext4fs创建镜像。 1 ubifs 下面是include/image.mk中生成ubif 阅读全文

posted @ 2024-08-23 23:59 ArnoldLu 阅读(646) 评论(0) 推荐(0) 编辑

OpenWRT(9):随机数发生器urngd,以及/dev/random
摘要:urngd是一个基于时间jitter的非物理随机数发生器。urngd为Linux的/dev/random设备提供熵源,当/dev/random熵不足时,它会向其注入熵。 它会向其中注入熵。这确保了/dev/urandom也能从注入的熵中受益,尤其是在系统启动时,Linux的熵较低的情况下,urngd 阅读全文

posted @ 2024-08-17 23:59 ArnoldLu 阅读(248) 评论(0) 推荐(0) 编辑

OpenWRT(8):使用quilt对OpenWRT的patch进行管理
摘要:quilt是一个用于管理源代码补丁的工具,广泛用于 Linux 内核和许多其他开源项目中。它提供了一种方便的方式来创建、修改、应用和撤销补丁。 1 quilt使用 关键特性: 补丁系列管理:quilt允许你将多个补丁组织成一系列,这样可以轻松地对它们进行排序和应用。 自动补丁应用:可以自动应用补丁系 阅读全文

posted @ 2024-08-16 23:59 ArnoldLu 阅读(461) 评论(0) 推荐(0) 编辑

OpenWRT(7):OpenWRT进程间通信-ubus、ubusd、libubus等
摘要:ubus提供了各种守护进程和应用程序之间的进程间通信。它包括如下几部分: 守护进程ubusd:在系统启动时运行,负责进程间的消息路由和传递。其他进程可以通过注册到ubusd进程来发送和接收消息。这些消息通过Unix套接字和TLV(类型-长度-值)格式进行传输 。 库文件libubus:为了简化开发, 阅读全文

posted @ 2024-08-11 23:59 ArnoldLu 阅读(1569) 评论(0) 推荐(1) 编辑

OpenWRT(6):添加自己的Target/Subtarget/Target Profile
摘要:OpenWRT前三个配置Target/Subtarget/Target Profile基本决定了一款产品的软硬件基本配置。 Target可以是一系列处理器型号、或者一个公司、或者一种架构。 Subtarget是对Target细分。 Target Profile是Target和Subtarget的不同 阅读全文

posted @ 2024-08-10 23:59 ArnoldLu 阅读(594) 评论(0) 推荐(0) 编辑

OpenWRT(5):QEMU运行SiFive FU540(RISC-V)
摘要:对应的OpenWRT版本为23.05: git clone https://git.openwrt.org/openwrt/openwrt.git -b openwrt-23.05 1 OpenWRT配置 选择Target、Subtarget、Target Profile,以及生成ramdisk文件 阅读全文

posted @ 2024-08-03 23:59 ArnoldLu 阅读(199) 评论(0) 推荐(0) 编辑

OpenWRT(4):启动流程以及添加自己的服务
摘要:OpenWRT的启动流程主要如下: 启动/init脚本,挂载tmpfs,并切换到/sbin/init运行。 启动/sbin/init,然后依次启动/etc/preinit和/sbin/procd。 如需要在/sbin/procd之前处理工作,需要在/lib/preinit按序号添加脚本。 /sbin 阅读全文

posted @ 2024-07-24 23:59 ArnoldLu 阅读(3026) 评论(2) 推荐(1) 编辑

OpenWRT(3):目录结构、创建维护feeds、创建package及其编译安装
摘要:总结OpenWRT目录结构,然后创建feeds,并创建package。 编译package,并安装到target进行测试。 1 OpenWRT目录结构 OpenWRT的目录结构解释如下,高亮部分是编译后创建的: ├── bin--编译完成后ipk和image文件存放在此。 │ ├── package 阅读全文

posted @ 2024-07-19 23:59 ArnoldLu 阅读(2161) 评论(0) 推荐(0) 编辑

OpenWRT(2):uhttpd+LuCI初探
摘要:uhttpd是OpenWRT的默认WebServer,通过LuCI OpenWRT提供了统一的配置接口。这里简单了解UCI、Lua、LuCI、luci、uhttpd等基本概念,然后在QEMU环境下启动OpenWRT查看LuCI实例。 1 uhttpd和LuCI的基本概念 UCI(Unified Co 阅读全文

posted @ 2023-12-09 23:59 ArnoldLu 阅读(4103) 评论(0) 推荐(0) 编辑

1

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5
点击右上角即可分享
微信分享提示