Openwrt
文章平均质量分 81
szembed
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Ubuntu20编译openwrt15报错及问题修改集锦
本文记录了在Ubuntu 20.04环境下编译OpenWRT 15时遇到的多个问题及解决方案。主要问题包括:1) GCC版本过高导致兼容性问题,通过降级到gcc-4.8解决;2) 多个编译错误涉及gnulib库、makedev函数等,通过修改源码添加头文件和宏定义解决;3) PIE相关错误通过添加编译参数解决;4) GMP/MPFR/MPC库依赖问题通过手动编译解决;5) 其他错误如函数重定义、未定义引用等通过修改源码解决。最终成功在MT7628平台上完成OpenWRT 15的编译。转载 2026-01-04 09:32:16 · 147 阅读 · 0 评论 -
Ubuntu-嵌入式linux开发环境搭建-基本工具安装
本文介绍了Ubuntu系统下的常用配置操作:1)安装vim编辑器并显示行号;2)安装git并配置用户信息;3)修改网卡名为eth0的方法;4)Ubuntu16/20设置静态IP的不同配置方式;5)安装和配置SSH服务;6)安装samba并设置共享目录。文章详细说明了各步骤的具体命令和配置文件修改方法,包括网络配置、服务管理等实用技巧,适用于Ubuntu系统的基础运维操作。转载 2026-01-04 09:18:14 · 72 阅读 · 0 评论 -
openWRT Ubuntu环境搭建及交叉编译工具制作与使用
Openwrt本身不支持直接编译C语言的,不支持GCC,因此,我们在Ubuntu下写好的代码,通过gcc编译后的可执行文件是不能直接在openWRT上运行的。该可执行文件是试用openWRT的toolchain编译所得,是无法在Ubuntu上直接运行的,需要拷贝到openWRT里运行。openWRT的交叉编译工具链需要安装到当前系统中,我使用的是Ubuntu 64,然后配置环境变量,才能使用。编译交叉编译工具链,有X86和X64之分,根据系统有关系,因此使用现有的toolchain的时候,注意区分系统。转载 2026-01-04 09:12:04 · 156 阅读 · 0 评论 -
OpenWRT(20):NAND上squashfs+ubifs的overlay实现rootfs
OpenWrt 使用 squashfs + ubifs 组合作为根文件系统(rootfs)的设计,是针对嵌入式设备(尤其是基于 NAND Flash 的硬件)的一种优化方案。这种设计结合了两种文件系统的优势,解决了嵌入式场景下的关键需求。转载 2025-03-28 14:32:48 · 1493 阅读 · 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 · 787 阅读 · 0 评论 -
OpenWRT(18):固件升级sysupgrade
sysupgrade的主要作用是升级OpenWrt固件,同时尽可能保留用户配置。它通过备份指定的配置文件,擦除整个文件系统,安装新版本的OpenWrt,然后恢复保存的配置文件来实现升级。参考《转载 2025-03-28 14:20:22 · 3455 阅读 · 0 评论 -
OpenWRT(17):网络接口管理守护进程netifd
netifd是一个网络接口守护程序(daemon),它负责初始化网络设备、配置网络参数、处理网络事件以及维护网络连接。netifd通常在系统启动时启动,并在后台运行以监视和调整网络设置。以下是netifd的一些关键特性和功能:1.热插拔支持:netifd能够检测网络设备的变化,如USB网络适配器的连接和断开,并相应地更新网络配置。2.无线支持:它支持无线网络的管理,包括扫描、连接、断开和无线安全设置。转载 2025-03-28 14:06:09 · 528 阅读 · 0 评论 -
OpenWRT(16):基于ubus的远程调用守护进程rpcd(Remote Procedure Call Daemon)
OpenWrt的rpcd(RemoteProcedureCallDaemon)是一个守护进程,它提供了一个基于UBUS(OpenWrt'sUnifiedBinaryService)的RPC框架,允许通过插件来扩展其功能。总的来说,rpcd是OpenWrt系统中一个关键的组件,它提供了一个灵活、安全且高效的机制来管理和扩展路由器的功能。转载 2025-03-28 13:56:14 · 508 阅读 · 0 评论 -
uclibc、eglibc、glibc、Musl-libc之间的区别和联系
所以有人就又(没有参考glibc,而是从头开始,)重新实现了一个用于嵌入式系统中的,代码量不是很大的,资源占用相对较少的,C语言函数库,叫做uClibc,并且uClibc不支持MMU(内存管理单元)。相应最大的改动就在于,把更多的库函数,改为可配置的,这样,如果你的嵌入式系统中不需要某些函数,就可以裁剪掉,不把该函数编译到你的eglibc库中,使得最终生成的eglibc库的大小变小,最终符合你的嵌入式系统的要求(不能超过一定的大小),这样就实现了把glibc引用于嵌入式系统中的目的了。转载 2024-09-19 15:01:09 · 912 阅读 · 0 评论 -
OpenWrt--高通QCA9563添加多wan口方法
方案简介高通QCA9563就一MAC接口,所以在软件适配的过程中,一般都是通过SGMII外接一个以太网芯片,在外接转发芯片上进行Vlan隔离,手动配置出一个WAN口出来。转载 2024-09-19 14:58:22 · 722 阅读 · 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 · 1127 阅读 · 0 评论 -
【路由器】OpenWrt 配置使用
目录因国家法律规定,部分内容已删除,完整内容请查看文章末尾链接。转载 2024-09-19 13:47:29 · 4773 阅读 · 0 评论 -
OpenWRT配置 -- 修改用户名、密码以及网页用户名的修改
这样,在编译完成之后烧写到开发板上,还是修改后的名称,在网页端显示的也是。的状态,所以在考虑到安全性以及自己的个性,所以需要自己制定自己喜欢的用户名和密码。至此,简单的用户名修改已经完成修改。2、修改源码实现实现密码的永久指定。openwrt系统默认的用户名是。,直接输入密码即可完成密码重置。修改成自己想要的名称(此处以。页登录页面也默认是填充用户名。文件里面的内容拷贝到源码文件。开发板上修改用户名,将。现在开发板上使用指令。修改方式与上面相同。修改方式与上述相同。转载 2024-09-19 12:25:27 · 4980 阅读 · 0 评论 -
Openwrt从小白到专家:ubus总线和uci
Openwrt从小白到专家:ubus总线。转载 2024-09-19 12:04:15 · 1936 阅读 · 0 评论 -
OpenWrt简单命令配置
文章目录。转载 2024-09-19 11:48:00 · 4919 阅读 · 0 评论 -
Openwrt其他注意事项
Makefile 可知SDK可以支持最大32M的flash,默认选择的是8M的,由于添加了很多软件包导致image的大小超过8M,所以不能生成sysupgrade.bin。将默认的Default8M改成Default16M就可以了。转载 2024-09-09 16:45:23 · 413 阅读 · 0 评论 -
Openwrt-USB网络共享
运行openwrt的智能路由器大多会带有至少一个usb口,通过usb口可以拓展很多应用,可以外接存储设备(u盘,移动硬盘)作为存储服务器,流媒体服务器,外接打印机,外接usb camera可以实现远程监控,由于usb强大的通用功能,可拓展的功能很多。基于buildroot构建的文件系统使其拥有海量的可用软件包,具有超强的拓展能力,移植,添加,裁剪十分灵活,相信在未来的智能家庭,物联网领域将有匡阔前景。通过usb口外接3g,4G(lte)dongle,并将其作为wan口,就能实现mifi的功能。转载 2024-09-09 16:27:13 · 3517 阅读 · 0 评论 -
MT7688/MT7628-GPIO使用
7688/7628GPIO一共有47个,GPIO0-GPIO46,这些GPIO有复用的功能,按功能模块进行配置,比如I2C有两根线,将其设置为GPIO模式,则两根就都是GPIO模式了,不可为别的功能。一般有两种方法配置。转载 2024-09-09 15:49:15 · 897 阅读 · 0 评论 -
35-Openwrt rpcd
rpcd package里面包含了多个模块,session,ubus插件等,是opewnrt的基础组件,只是很少关注到。转载 2024-09-09 15:33:02 · 342 阅读 · 0 评论 -
33-Openwrt nand flash生产烧录
编译生产的sysupgrade.bin文件是一个升级文件,无法直接提供给工厂进行nand flash烧录使用。因为flash的每一个page是由data+ecc组成的,烧录的时候需要一起烧录,但是sysupgade.bin是原始data内容,没有ecc。转载 2024-09-09 15:26:20 · 458 阅读 · 0 评论 -
34-Openwrt uhttpd与rpcd
uhttpd作为一个简单的,其代码量并不多,而且组织结构比较清楚。和其它网络服务器差不多,其main函数进行一些初始化(首先parse config-file,然后parse argv),然后进入一个循环,不断地监听,每当有一个客户请求到达时,则对它进行处理。转载 2024-09-09 15:16:24 · 729 阅读 · 0 评论 -
32-Openwrt nand flash坏块管理nmbm功能支持
nand flash很容易有坏块出现,一旦出现坏块数据就会丢失,如果是烧录、写入的时候检测到坏块,驱动可以帮忙跳过不写入之类的,但这不是一个完整的坏块管理,因为我们还是需要写入成功。转载 2024-09-09 15:09:56 · 822 阅读 · 0 评论 -
31-Openwrt 内核版本替换
有些时候因为一些解不了的bug,在新的内核版本里面已经解决了,这时候我们会想着升级下内核版本,而不是把整个升级。转载 2024-09-09 15:00:27 · 1330 阅读 · 0 评论 -
30-Openwrt config save and restore
在使用sysupgrade升级的时候,默认需要把配置文件进行备份,升级完成后进行恢复。如果是-n则把配置文件删除,恢复默认配置。转载 2024-09-09 14:57:12 · 527 阅读 · 0 评论 -
29-Openwrt 防攻击
DOS攻击很常见,路由器可以通过iptables做一些简单的攻击防护,这边主要介绍模拟攻击的工具和防护攻击的手段。转载 2024-09-09 14:39:15 · 966 阅读 · 0 评论 -
28-Openwrt 固件签名与验签
openwrt使用sysupgrade升级的时候,只会对固件的头部image进行校验是否合法,不会校验的完整性,所以当固件只有头部正常其他地方被破坏修改后,这个固件就是危险的,一旦升级就会出现变砖的情况。为了验证固件的完整性和合法性,可以有两种方式进行保护。转载 2024-09-09 14:31:05 · 1002 阅读 · 0 评论 -
27-Openwrt rtc htpdate system
有时候根据需求需要外加时钟芯片,实现掉电保存的功能,linux已经为我们实现了一系列的rtc时钟芯片,所以我们在选择的时候一般就直接选择内核里面已有的芯片。有了rtc后,需要将网络时间同步到rtc里面,目前更多使用htpdate,不适用ntp。转载 2024-09-09 14:27:01 · 493 阅读 · 0 评论 -
26-Openwrt 端口转发 dmz upnp
我们经常会在路由器上面配置的规则,用来访问内网机器的某个端口,openwrt上面有很多中实现端口转发的方式。转载 2024-09-09 14:06:41 · 1393 阅读 · 0 评论 -
25-Openwrt 访客网络添加
很多路由器都会有访客网络的需求,主人网络和访客网络相互隔离,不同,而且也不能访问到主网络的内容。原理就是多了一个vlan,有两个网段,相互之间隔离。转载 2024-09-09 13:58:01 · 564 阅读 · 0 评论 -
24-Openwrt dnsmasq
dnsmasq是一个重要的进程,里面提供了两个重要的功能。一个是dhcpserver,给口使用的,另一个是dns功能,维护路由器的dns信息,而且支持ipv4和ipv6。转载 2024-09-09 13:44:25 · 1467 阅读 · 0 评论 -
23-Openwrt switch vlan配置
路由器上面基本都是用switch芯片来实现/wan的划分,但是有的switch只有一个GMAC,有的有多个GMAC,对于内核驱动设备来说就是有的switch生成的只有eth0,有的switch生成的有eth0和eth1。转载 2024-09-09 09:51:07 · 2801 阅读 · 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 · 553 阅读 · 0 评论 -
21-Openwrt 内核模块改成.ko自动加载
openwrt下有很多开源的内核模块位于package/kernel/下,如gpio-button-hotplug、mwlwifi等。这些模块都是文件系统启动后,通过autoload的方式进行insmod载入的。转载 2024-09-09 09:18:11 · 400 阅读 · 0 评论 -
20-Openwrt crond crontab
crond和corntab都是busybox下的一个工具,crond是一个后台进程,每隔一分钟读取配置文件中的参数,执行对应的动作。是提供的一个命令行,可以对配置文件进行增删改查。这个定时功能对于平常一些功能使用很方便,比如每天晚上12点重启路由器等。转载 2024-09-06 17:20:04 · 385 阅读 · 0 评论 -
19-Openwrt双固件升级
在上一章节《Openwrt sysupgrade系统升级》中,我们描述了sysupgrade升级系统的过程,这种升级过程会直接firmware分区进行写入,无法保证系统的安全性,只要在写入过程突然断电就会出现系统写入失败,升级失败无法启动系统的问题。为了解决该问题一般会使用双固件升级的方式,有一个主分区firmware和一个备份分区firmware_backup,常见的有双固件升级方式有很多种,这边只介绍一种通用方式PART_NAME修改位备份分区写入固件完成重启前,设置备份分区标志位2.2 uboot对转载 2024-09-06 17:13:48 · 865 阅读 · 0 评论 -
18-Openwrt sysupgrade系统升级
openwrt的升级是使用sysupgrade工具来升级的,该工具为sbin下面的一个脚本,可以附带很多参数,但是我们一般就直接sysupgrade openwrt-ramips-mt7621-device-squashfs-sysupgrade.bin升级sysupgrade的升级流程查看/sbin/sysupgrade脚本可以比较直观.转载 2024-09-06 17:05:12 · 1345 阅读 · 0 评论 -
17-Openwrt banner文件生成
这个文件存放在如下位置:./package/base-files/files/etc/banner,所以我们只需要修改这个文字的内容就可以。后台的时候,一按回车键就会出现openwrt的字段,如果想换成自己自定义的内容如何实现。版本Barrier Breaker。转载 2024-09-06 16:54:54 · 225 阅读 · 0 评论 -
16-Openwrt patch生成
在开源模块的基础上修改代码,更多的时候是通过打补丁的方式进行修改。转载 2024-09-06 16:51:52 · 261 阅读 · 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 · 274 阅读 · 0 评论 -
14-Openwrt ubus
ubus是中的进程间通信机制,ubusd实现server,其他进程实现client,例如ubus(cli)、netifd、procd,两个client通信需要通过server转发。ubus提供了创建这边主要对C语言和shell进行说明。转载 2024-09-06 16:38:14 · 378 阅读 · 0 评论
分享