- 博客(546)
- 资源 (1)
- 收藏
- 关注
转载 uclibc、eglibc、glibc、Musl-libc之间的区别和联系
所以有人就又(没有参考glibc,而是从头开始,)重新实现了一个用于嵌入式系统中的,代码量不是很大的,资源占用相对较少的,C语言函数库,叫做uClibc,并且uClibc不支持MMU(内存管理单元)。相应最大的改动就在于,把更多的库函数,改为可配置的,这样,如果你的嵌入式系统中不需要某些函数,就可以裁剪掉,不把该函数编译到你的eglibc库中,使得最终生成的eglibc库的大小变小,最终符合你的嵌入式系统的要求(不能超过一定的大小),这样就实现了把glibc引用于嵌入式系统中的目的了。
2024-09-19 15:01:09 101
转载 OpenWrt--高通QCA9563添加多wan口方法
方案简介高通QCA9563就一MAC接口,所以在软件适配的过程中,一般都是通过SGMII外接一个以太网芯片,在外接转发芯片上进行Vlan隔离,手动配置出一个WAN口出来。
2024-09-19 14:58:22 83
转载 高通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 320
转载 OpenWRT配置 -- 修改用户名、密码以及网页用户名的修改
这样,在编译完成之后烧写到开发板上,还是修改后的名称,在网页端显示的也是。的状态,所以在考虑到安全性以及自己的个性,所以需要自己制定自己喜欢的用户名和密码。至此,简单的用户名修改已经完成修改。2、修改源码实现实现密码的永久指定。openwrt系统默认的用户名是。,直接输入密码即可完成密码重置。修改成自己想要的名称(此处以。页登录页面也默认是填充用户名。文件里面的内容拷贝到源码文件。开发板上修改用户名,将。现在开发板上使用指令。修改方式与上面相同。修改方式与上述相同。
2024-09-19 12:25:27 137
原创 盈鹏飞嵌入式T113-S4主板_Tina5.0通过Luci配置系统
uhttpd是一个功能全面、轻量级的Web服务器,是Web管理界面LuCI的默认服务器,支持SSL、CGI、Lua。uhttpd是单线程,但支持多个实例。
2024-09-10 09:06:27 773
原创 盈鹏飞嵌入式T113-S4主板_Tina5.0(openwrt)启动信息
【代码】盈鹏飞嵌入式T113-S4主板_Tina5.0(openwrt)启动信息。
2024-09-09 16:58:22 1271
转载 Openwrt其他注意事项
Makefile 可知SDK可以支持最大32M的flash,默认选择的是8M的,由于添加了很多软件包导致image的大小超过8M,所以不能生成sysupgrade.bin。将默认的Default8M改成Default16M就可以了。
2024-09-09 16:45:23 174
转载 Openwrt-USB网络共享
运行openwrt的智能路由器大多会带有至少一个usb口,通过usb口可以拓展很多应用,可以外接存储设备(u盘,移动硬盘)作为存储服务器,流媒体服务器,外接打印机,外接usb camera可以实现远程监控,由于usb强大的通用功能,可拓展的功能很多。基于buildroot构建的文件系统使其拥有海量的可用软件包,具有超强的拓展能力,移植,添加,裁剪十分灵活,相信在未来的智能家庭,物联网领域将有匡阔前景。通过usb口外接3g,4G(lte)dongle,并将其作为wan口,就能实现mifi的功能。
2024-09-09 16:27:13 185
转载 在线视频监控mjpg-streamer
Mjpg-Streamer是一个开源项目,其基本功能是从一个uvc内核摄像头读取内容,然后将它推送到本地的8080端口上面。就是一个本地的视频服务器。它的项目网站在这里。的软件源中也已经对它有了移植,所以我们只需要从OpenWRT的官方网站上找到对应15.05版本OpenWRT系统的Mjpg-Streamer,然后下载安装即可。
2024-09-09 16:21:10 89
转载 MT7688/MT7628-GPIO使用
7688/7628GPIO一共有47个,GPIO0-GPIO46,这些GPIO有复用的功能,按功能模块进行配置,比如I2C有两根线,将其设置为GPIO模式,则两根就都是GPIO模式了,不可为别的功能。一般有两种方法配置。
2024-09-09 15:49:15 229
转载 35-Openwrt rpcd
rpcd package里面包含了多个模块,session,ubus插件等,是opewnrt的基础组件,只是很少关注到。
2024-09-09 15:33:02 45
转载 33-Openwrt nand flash生产烧录
编译生产的sysupgrade.bin文件是一个升级文件,无法直接提供给工厂进行nand flash烧录使用。因为flash的每一个page是由data+ecc组成的,烧录的时候需要一起烧录,但是sysupgade.bin是原始data内容,没有ecc。
2024-09-09 15:26:20 70
转载 34-Openwrt uhttpd与rpcd
uhttpd作为一个简单的,其代码量并不多,而且组织结构比较清楚。和其它网络服务器差不多,其main函数进行一些初始化(首先parse config-file,然后parse argv),然后进入一个循环,不断地监听,每当有一个客户请求到达时,则对它进行处理。
2024-09-09 15:16:24 136
转载 32-Openwrt nand flash坏块管理nmbm功能支持
nand flash很容易有坏块出现,一旦出现坏块数据就会丢失,如果是烧录、写入的时候检测到坏块,驱动可以帮忙跳过不写入之类的,但这不是一个完整的坏块管理,因为我们还是需要写入成功。
2024-09-09 15:09:56 135
转载 31-Openwrt 内核版本替换
有些时候因为一些解不了的bug,在新的内核版本里面已经解决了,这时候我们会想着升级下内核版本,而不是把整个升级。
2024-09-09 15:00:27 52
转载 30-Openwrt config save and restore
在使用sysupgrade升级的时候,默认需要把配置文件进行备份,升级完成后进行恢复。如果是-n则把配置文件删除,恢复默认配置。
2024-09-09 14:57:12 119
转载 28-Openwrt 固件签名与验签
openwrt使用sysupgrade升级的时候,只会对固件的头部image进行校验是否合法,不会校验的完整性,所以当固件只有头部正常其他地方被破坏修改后,这个固件就是危险的,一旦升级就会出现变砖的情况。为了验证固件的完整性和合法性,可以有两种方式进行保护。
2024-09-09 14:31:05 75
转载 27-Openwrt rtc htpdate system
有时候根据需求需要外加时钟芯片,实现掉电保存的功能,linux已经为我们实现了一系列的rtc时钟芯片,所以我们在选择的时候一般就直接选择内核里面已有的芯片。有了rtc后,需要将网络时间同步到rtc里面,目前更多使用htpdate,不适用ntp。
2024-09-09 14:27:01 259
转载 26-Openwrt 端口转发 dmz upnp
我们经常会在路由器上面配置的规则,用来访问内网机器的某个端口,openwrt上面有很多中实现端口转发的方式。
2024-09-09 14:06:41 94
转载 25-Openwrt 访客网络添加
很多路由器都会有访客网络的需求,主人网络和访客网络相互隔离,不同,而且也不能访问到主网络的内容。原理就是多了一个vlan,有两个网段,相互之间隔离。
2024-09-09 13:58:01 91
转载 24-Openwrt dnsmasq
dnsmasq是一个重要的进程,里面提供了两个重要的功能。一个是dhcpserver,给口使用的,另一个是dns功能,维护路由器的dns信息,而且支持ipv4和ipv6。
2024-09-09 13:44:25 198
转载 23-Openwrt switch vlan配置
路由器上面基本都是用switch芯片来实现/wan的划分,但是有的switch只有一个GMAC,有的有多个GMAC,对于内核驱动设备来说就是有的switch生成的只有eth0,有的switch生成的有eth0和eth1。
2024-09-09 09:51:07 474
转载 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 22
转载 21-Openwrt 内核模块改成.ko自动加载
openwrt下有很多开源的内核模块位于package/kernel/下,如gpio-button-hotplug、mwlwifi等。这些模块都是文件系统启动后,通过autoload的方式进行insmod载入的。
2024-09-09 09:18:11 14
转载 20-Openwrt crond crontab
crond和corntab都是busybox下的一个工具,crond是一个后台进程,每隔一分钟读取配置文件中的参数,执行对应的动作。是提供的一个命令行,可以对配置文件进行增删改查。这个定时功能对于平常一些功能使用很方便,比如每天晚上12点重启路由器等。
2024-09-06 17:20:04 67
转载 19-Openwrt双固件升级
在上一章节《Openwrt sysupgrade系统升级》中,我们描述了sysupgrade升级系统的过程,这种升级过程会直接firmware分区进行写入,无法保证系统的安全性,只要在写入过程突然断电就会出现系统写入失败,升级失败无法启动系统的问题。为了解决该问题一般会使用双固件升级的方式,有一个主分区firmware和一个备份分区firmware_backup,常见的有双固件升级方式有很多种,这边只介绍一种通用方式PART_NAME修改位备份分区写入固件完成重启前,设置备份分区标志位2.2 uboot对
2024-09-06 17:13:48 83
转载 18-Openwrt sysupgrade系统升级
openwrt的升级是使用sysupgrade工具来升级的,该工具为sbin下面的一个脚本,可以附带很多参数,但是我们一般就直接sysupgrade openwrt-ramips-mt7621-device-squashfs-sysupgrade.bin升级sysupgrade的升级流程查看/sbin/sysupgrade脚本可以比较直观.
2024-09-06 17:05:12 94
转载 17-Openwrt banner文件生成
这个文件存放在如下位置:./package/base-files/files/etc/banner,所以我们只需要修改这个文字的内容就可以。后台的时候,一按回车键就会出现openwrt的字段,如果想换成自己自定义的内容如何实现。版本Barrier Breaker。
2024-09-06 16:54:54 37
转载 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 67
转载 14-Openwrt ubus
ubus是中的进程间通信机制,ubusd实现server,其他进程实现client,例如ubus(cli)、netifd、procd,两个client通信需要通过server转发。ubus提供了创建这边主要对C语言和shell进行说明。
2024-09-06 16:38:14 63
转载 13-Openwrt libubox uloop
上一章节将libubox的一些简单组件介绍了一下,其实里面还有很多东西,只能等用到的时候再去学习,这边再介绍一个libubox里面比较经常用到的组件,就是uloop,uloop下面有太多东西了。uloop是libubox下的一个模块,有三个功能:文件描述符触发事件的监控,timeout定时器处理, 当前进程的子进程的维护。
2024-09-06 16:32:34 73
转载 12-Openwrt libubox ulog md5 list
openwrt下面的libubox库可谓是非常的强大,很多库都会调用到其中的接口,如ubus,uhttpd综上所述,libubox是您玩新版openwrt必修的一个东东,相信它也值得大家去研究学习。libubox源代码如下,我们所有调用的接口都可以在里面找到,查看其原理。
2024-09-06 16:18:22 99
转载 11-Openwrt hotplug system
hotplug为linux的一个热拔插系统,在很多应用都有用到,如网口的拔插,USB的拔插,按键的触发…非常广泛的应用,下面举几个例子来进行理解这个过程。
2024-09-06 16:11:34 168
转载 10-Openwrt procd守护进程
通常的系统均有一个守护进程,该守护进程监控系统进程的状态,如果某些系统进程异常退出,将再次启动这些进程。procd 就是这样一个进程,它是使用C语言编写的,一个新的 OpenWrt 进程管理服务。它通过init脚本来将进程信息加入到 procd 的数据库中来管理进程启动,这是通过ubus总线调用来实现,可以防止进程的重复启动调用。procd 的进程管理功能主要包含 3 个部分。如果在自己的启动脚本中定义了 USE_PROCD 那就调用这些函数。在 rc.common 中重。
2024-09-06 15:39:24 118
转载 9-Openwrt config network
Network configuration [Old OpenWrt Wiki]在openwrt中network的默认值一般在里面设置,如下:2、Network拨号有两种拨号方式,一种是使用pppd拨号,使用开源包如ppp-2.4.7。2.1、pppd手动拨号这时候就是使用pppd调用的配置文件来生效的,如pppd call sim0_pppdial,sim0_pppdial位于/etc/ppp/peers/下面。1.sim0_pppdial2.sim0_pppup拨号后会将拨号的lo
2024-09-06 15:27:57 107
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人