
Openwrt
文章平均质量分 81
szembed
这个作者很懒,什么都没留下…
展开
-
OpenWRT(20):NAND上squashfs+ubifs的overlay实现rootfs
OpenWrt 使用 squashfs + ubifs 组合作为根文件系统(rootfs)的设计,是针对嵌入式设备(尤其是基于 NAND Flash 的硬件)的一种优化方案。这种设计结合了两种文件系统的优势,解决了嵌入式场景下的关键需求。转载 2025-03-28 14:32:48 · 94 阅读 · 0 评论 -
OpenWRT(19):根文件系统挂载mount_root
文件系统的块大小在超级块(ext4_super_block)中以s_log_block_size字段表示,其值是对数形式的,实际块大小计算公式为2^(s_log_block_size + 10)。在这个例子中,/oldroot是当前根目录下的一个目录,它将被移动到/成为新的根目录,而原来的根目录/将被移动到/oldroot下。请注意,pivot_root调用后,旧的根文件系统将不再被使用,所有对文件系统的访问都将相对于新的根目录进行。对于块大小为4KB的ext4文件系统,超级块位于第2个块(0x400)。转载 2025-03-28 14:28:28 · 53 阅读 · 0 评论 -
OpenWRT(18):固件升级sysupgrade
sysupgrade的主要作用是升级OpenWrt固件,同时尽可能保留用户配置。它通过备份指定的配置文件,擦除整个文件系统,安装新版本的OpenWrt,然后恢复保存的配置文件来实现升级。参考《转载 2025-03-28 14:20:22 · 267 阅读 · 0 评论 -
OpenWRT(17):网络接口管理守护进程netifd
netifd是一个网络接口守护程序(daemon),它负责初始化网络设备、配置网络参数、处理网络事件以及维护网络连接。netifd通常在系统启动时启动,并在后台运行以监视和调整网络设置。以下是netifd的一些关键特性和功能:1.热插拔支持:netifd能够检测网络设备的变化,如USB网络适配器的连接和断开,并相应地更新网络配置。2.无线支持:它支持无线网络的管理,包括扫描、连接、断开和无线安全设置。转载 2025-03-28 14:06:09 · 45 阅读 · 0 评论 -
OpenWRT(16):基于ubus的远程调用守护进程rpcd(Remote Procedure Call Daemon)
OpenWrt的rpcd(RemoteProcedureCallDaemon)是一个守护进程,它提供了一个基于UBUS(OpenWrt'sUnifiedBinaryService)的RPC框架,允许通过插件来扩展其功能。总的来说,rpcd是OpenWrt系统中一个关键的组件,它提供了一个灵活、安全且高效的机制来管理和扩展路由器的功能。转载 2025-03-28 13:56:14 · 17 阅读 · 0 评论 -
uclibc、eglibc、glibc、Musl-libc之间的区别和联系
所以有人就又(没有参考glibc,而是从头开始,)重新实现了一个用于嵌入式系统中的,代码量不是很大的,资源占用相对较少的,C语言函数库,叫做uClibc,并且uClibc不支持MMU(内存管理单元)。相应最大的改动就在于,把更多的库函数,改为可配置的,这样,如果你的嵌入式系统中不需要某些函数,就可以裁剪掉,不把该函数编译到你的eglibc库中,使得最终生成的eglibc库的大小变小,最终符合你的嵌入式系统的要求(不能超过一定的大小),这样就实现了把glibc引用于嵌入式系统中的目的了。转载 2024-09-19 15:01:09 · 408 阅读 · 0 评论 -
OpenWrt--高通QCA9563添加多wan口方法
方案简介高通QCA9563就一MAC接口,所以在软件适配的过程中,一般都是通过SGMII外接一个以太网芯片,在外接转发芯片上进行Vlan隔离,手动配置出一个WAN口出来。转载 2024-09-19 14:58:22 · 314 阅读 · 0 评论 -
高通qca-wifi移植
移植的方案是高通的SPF6.1版本,移植到开源OpenWrt18.06.1版本上。SPF6.1采用的内核是3.3.8,OpenWrt18采用的是4.14.90.内核差异只是其中一个难点,主要还是两者之间的框架差异,虽然都是基于OpenWrt开源框架,但是对于OpenWrt18.06.1来讲,更新的很多新的功能,在老的版本上有些组件要么丢弃要么更新。主要工作我这边划分了这么几个阶段。代码合入、编译、insmod qca-wifi、初始化调试、luci联调。转载 2024-09-19 14:50:48 · 662 阅读 · 0 评论 -
【路由器】OpenWrt 配置使用
目录因国家法律规定,部分内容已删除,完整内容请查看文章末尾链接。转载 2024-09-19 13:47:29 · 2130 阅读 · 0 评论 -
OpenWRT配置 -- 修改用户名、密码以及网页用户名的修改
这样,在编译完成之后烧写到开发板上,还是修改后的名称,在网页端显示的也是。的状态,所以在考虑到安全性以及自己的个性,所以需要自己制定自己喜欢的用户名和密码。至此,简单的用户名修改已经完成修改。2、修改源码实现实现密码的永久指定。openwrt系统默认的用户名是。,直接输入密码即可完成密码重置。修改成自己想要的名称(此处以。页登录页面也默认是填充用户名。文件里面的内容拷贝到源码文件。开发板上修改用户名,将。现在开发板上使用指令。修改方式与上面相同。修改方式与上述相同。转载 2024-09-19 12:25:27 · 1863 阅读 · 0 评论 -
Openwrt从小白到专家:ubus总线和uci
Openwrt从小白到专家:ubus总线。转载 2024-09-19 12:04:15 · 1070 阅读 · 0 评论 -
OpenWrt简单命令配置
文章目录。转载 2024-09-19 11:48:00 · 3782 阅读 · 0 评论 -
Openwrt其他注意事项
Makefile 可知SDK可以支持最大32M的flash,默认选择的是8M的,由于添加了很多软件包导致image的大小超过8M,所以不能生成sysupgrade.bin。将默认的Default8M改成Default16M就可以了。转载 2024-09-09 16:45:23 · 234 阅读 · 0 评论 -
Openwrt-USB网络共享
运行openwrt的智能路由器大多会带有至少一个usb口,通过usb口可以拓展很多应用,可以外接存储设备(u盘,移动硬盘)作为存储服务器,流媒体服务器,外接打印机,外接usb camera可以实现远程监控,由于usb强大的通用功能,可拓展的功能很多。基于buildroot构建的文件系统使其拥有海量的可用软件包,具有超强的拓展能力,移植,添加,裁剪十分灵活,相信在未来的智能家庭,物联网领域将有匡阔前景。通过usb口外接3g,4G(lte)dongle,并将其作为wan口,就能实现mifi的功能。转载 2024-09-09 16:27:13 · 1662 阅读 · 0 评论 -
MT7688/MT7628-GPIO使用
7688/7628GPIO一共有47个,GPIO0-GPIO46,这些GPIO有复用的功能,按功能模块进行配置,比如I2C有两根线,将其设置为GPIO模式,则两根就都是GPIO模式了,不可为别的功能。一般有两种方法配置。转载 2024-09-09 15:49:15 · 389 阅读 · 0 评论 -
35-Openwrt rpcd
rpcd package里面包含了多个模块,session,ubus插件等,是opewnrt的基础组件,只是很少关注到。转载 2024-09-09 15:33:02 · 139 阅读 · 0 评论 -
33-Openwrt nand flash生产烧录
编译生产的sysupgrade.bin文件是一个升级文件,无法直接提供给工厂进行nand flash烧录使用。因为flash的每一个page是由data+ecc组成的,烧录的时候需要一起烧录,但是sysupgade.bin是原始data内容,没有ecc。转载 2024-09-09 15:26:20 · 200 阅读 · 0 评论 -
34-Openwrt uhttpd与rpcd
uhttpd作为一个简单的,其代码量并不多,而且组织结构比较清楚。和其它网络服务器差不多,其main函数进行一些初始化(首先parse config-file,然后parse argv),然后进入一个循环,不断地监听,每当有一个客户请求到达时,则对它进行处理。转载 2024-09-09 15:16:24 · 259 阅读 · 0 评论 -
32-Openwrt nand flash坏块管理nmbm功能支持
nand flash很容易有坏块出现,一旦出现坏块数据就会丢失,如果是烧录、写入的时候检测到坏块,驱动可以帮忙跳过不写入之类的,但这不是一个完整的坏块管理,因为我们还是需要写入成功。转载 2024-09-09 15:09:56 · 242 阅读 · 0 评论 -
31-Openwrt 内核版本替换
有些时候因为一些解不了的bug,在新的内核版本里面已经解决了,这时候我们会想着升级下内核版本,而不是把整个升级。转载 2024-09-09 15:00:27 · 856 阅读 · 0 评论 -
30-Openwrt config save and restore
在使用sysupgrade升级的时候,默认需要把配置文件进行备份,升级完成后进行恢复。如果是-n则把配置文件删除,恢复默认配置。转载 2024-09-09 14:57:12 · 253 阅读 · 0 评论 -
29-Openwrt 防攻击
DOS攻击很常见,路由器可以通过iptables做一些简单的攻击防护,这边主要介绍模拟攻击的工具和防护攻击的手段。转载 2024-09-09 14:39:15 · 398 阅读 · 0 评论 -
28-Openwrt 固件签名与验签
openwrt使用sysupgrade升级的时候,只会对固件的头部image进行校验是否合法,不会校验的完整性,所以当固件只有头部正常其他地方被破坏修改后,这个固件就是危险的,一旦升级就会出现变砖的情况。为了验证固件的完整性和合法性,可以有两种方式进行保护。转载 2024-09-09 14:31:05 · 326 阅读 · 0 评论 -
27-Openwrt rtc htpdate system
有时候根据需求需要外加时钟芯片,实现掉电保存的功能,linux已经为我们实现了一系列的rtc时钟芯片,所以我们在选择的时候一般就直接选择内核里面已有的芯片。有了rtc后,需要将网络时间同步到rtc里面,目前更多使用htpdate,不适用ntp。转载 2024-09-09 14:27:01 · 317 阅读 · 0 评论 -
26-Openwrt 端口转发 dmz upnp
我们经常会在路由器上面配置的规则,用来访问内网机器的某个端口,openwrt上面有很多中实现端口转发的方式。转载 2024-09-09 14:06:41 · 853 阅读 · 0 评论 -
25-Openwrt 访客网络添加
很多路由器都会有访客网络的需求,主人网络和访客网络相互隔离,不同,而且也不能访问到主网络的内容。原理就是多了一个vlan,有两个网段,相互之间隔离。转载 2024-09-09 13:58:01 · 250 阅读 · 0 评论 -
24-Openwrt dnsmasq
dnsmasq是一个重要的进程,里面提供了两个重要的功能。一个是dhcpserver,给口使用的,另一个是dns功能,维护路由器的dns信息,而且支持ipv4和ipv6。转载 2024-09-09 13:44:25 · 796 阅读 · 0 评论 -
23-Openwrt switch vlan配置
路由器上面基本都是用switch芯片来实现/wan的划分,但是有的switch只有一个GMAC,有的有多个GMAC,对于内核驱动设备来说就是有的switch生成的只有eth0,有的switch生成的有eth0和eth1。转载 2024-09-09 09:51:07 · 1424 阅读 · 0 评论 -
22-Openwrt 使用外部kernel和kernel_config
在里面添加KERNEL_CONFIG的选项支持外部配置default ""然后make menuconfig填入我们要用的外部配置文件路径名称这边我们需要一份内核的.config文件,第一次一般是我们想编译一遍之后,拷贝出来重命名成我们的BOARD1-kernel.config修改导入过程,在里面添加导入外部kernel config内容elseendifelseendif修改保存过程,里面添加保存外部kernel config内容elseendif。转载 2024-09-09 09:19:03 · 242 阅读 · 0 评论 -
21-Openwrt 内核模块改成.ko自动加载
openwrt下有很多开源的内核模块位于package/kernel/下,如gpio-button-hotplug、mwlwifi等。这些模块都是文件系统启动后,通过autoload的方式进行insmod载入的。转载 2024-09-09 09:18:11 · 183 阅读 · 0 评论 -
20-Openwrt crond crontab
crond和corntab都是busybox下的一个工具,crond是一个后台进程,每隔一分钟读取配置文件中的参数,执行对应的动作。是提供的一个命令行,可以对配置文件进行增删改查。这个定时功能对于平常一些功能使用很方便,比如每天晚上12点重启路由器等。转载 2024-09-06 17:20:04 · 210 阅读 · 0 评论 -
19-Openwrt双固件升级
在上一章节《Openwrt sysupgrade系统升级》中,我们描述了sysupgrade升级系统的过程,这种升级过程会直接firmware分区进行写入,无法保证系统的安全性,只要在写入过程突然断电就会出现系统写入失败,升级失败无法启动系统的问题。为了解决该问题一般会使用双固件升级的方式,有一个主分区firmware和一个备份分区firmware_backup,常见的有双固件升级方式有很多种,这边只介绍一种通用方式PART_NAME修改位备份分区写入固件完成重启前,设置备份分区标志位2.2 uboot对转载 2024-09-06 17:13:48 · 436 阅读 · 0 评论 -
18-Openwrt sysupgrade系统升级
openwrt的升级是使用sysupgrade工具来升级的,该工具为sbin下面的一个脚本,可以附带很多参数,但是我们一般就直接sysupgrade openwrt-ramips-mt7621-device-squashfs-sysupgrade.bin升级sysupgrade的升级流程查看/sbin/sysupgrade脚本可以比较直观.转载 2024-09-06 17:05:12 · 830 阅读 · 0 评论 -
17-Openwrt banner文件生成
这个文件存放在如下位置:./package/base-files/files/etc/banner,所以我们只需要修改这个文字的内容就可以。后台的时候,一按回车键就会出现openwrt的字段,如果想换成自己自定义的内容如何实现。版本Barrier Breaker。转载 2024-09-06 16:54:54 · 114 阅读 · 0 评论 -
16-Openwrt patch生成
在开源模块的基础上修改代码,更多的时候是通过打补丁的方式进行修改。转载 2024-09-06 16:51:52 · 130 阅读 · 0 评论 -
15-Openwrt libubox shell上面的应用(JSON解析)
很多情况下我们需要在shell下解析或者组合JSON数据,在libubox里面提供了一个操作json脚本在/usr/share/libubox/jshn.sh文件中。jshn.sh脚本,其实现是基于c语言jshn.c编译生成的命令行工具jshn,其基本思想是通过环境变量赋值最终组装成json串。转载 2024-09-06 16:46:48 · 137 阅读 · 0 评论 -
14-Openwrt ubus
ubus是中的进程间通信机制,ubusd实现server,其他进程实现client,例如ubus(cli)、netifd、procd,两个client通信需要通过server转发。ubus提供了创建这边主要对C语言和shell进行说明。转载 2024-09-06 16:38:14 · 161 阅读 · 0 评论 -
13-Openwrt libubox uloop
上一章节将libubox的一些简单组件介绍了一下,其实里面还有很多东西,只能等用到的时候再去学习,这边再介绍一个libubox里面比较经常用到的组件,就是uloop,uloop下面有太多东西了。uloop是libubox下的一个模块,有三个功能:文件描述符触发事件的监控,timeout定时器处理, 当前进程的子进程的维护。转载 2024-09-06 16:32:34 · 146 阅读 · 0 评论 -
12-Openwrt libubox ulog md5 list
openwrt下面的libubox库可谓是非常的强大,很多库都会调用到其中的接口,如ubus,uhttpd综上所述,libubox是您玩新版openwrt必修的一个东东,相信它也值得大家去研究学习。libubox源代码如下,我们所有调用的接口都可以在里面找到,查看其原理。转载 2024-09-06 16:18:22 · 278 阅读 · 0 评论 -
11-Openwrt hotplug system
hotplug为linux的一个热拔插系统,在很多应用都有用到,如网口的拔插,USB的拔插,按键的触发…非常广泛的应用,下面举几个例子来进行理解这个过程。转载 2024-09-06 16:11:34 · 277 阅读 · 0 评论