找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
广告投放联系QQ68610888
查看: 20554|回复: 15

openwrt配置文件的疑惑

[复制链接]
发表于 2014-10-18 13:33 | 显示全部楼层 |阅读模式
package/base-files/files/etc/config目录
target/linux/ramips/base-files/etc/config目录
这两个目录下的配置文件是如何整合到最终生成的系统中的?
遇到一个问题,system这个配置文件。
在target/linux/ramips/base-files/etc/config下添加system后,导致package/base-files/files/etc/config中内容
config system
    option hostname    OpenWrt
    option timezone    UTC

config timeserver ntp
    list server    0.openwrt.pool.ntp.org
    list server    1.openwrt.pool.ntp.org
    list server    2.openwrt.pool.ntp.org
    list server    3.openwrt.pool.ntp.org
    option enabled 1
    option enable_server 0
不会出现在最终的系统中,一个后果是在luci配置界面System->System Pro[erties中显示
This section contains no values yet.
从而无法修改主机名和界面语言(中文,英文,等等)。
ssh登录后修改/etc/config/system添加上述内容后,在luci配置界面就出现了相应的选项。
在target/linux/ramips/base-files/etc/config目录下添加其他文件似乎为影响到package/base-files/files/etc/config目录下的同名文件,结果是二者合并的效果,若有相同选项,则target下覆盖package下。为何system不生效?推测可能不生效的部分在生成最终系统是没有其他脚本对他进行操作。


评分

参与人数 1恩山币 +1 收起 理由
sen921 + 1 强大的恩山!(以下重复1万次)

查看全部评分

我的恩山、我的无线 The best wifi forum is right here.
发表于 2014-10-18 13:54 | 显示全部楼层
openwrt大部分基础文件都在软件包base-files里面。这个软件包做3件事:
1 复制package/base-files/files下的所有文件到根目录
2 复制target/linux/对应平台/base-files下的所有文件到根目录
3 复制源码根目录下的files文件夹下的所有文件到根目录(如果需要添加自己的文件那么可以通过这一步,即在源码根目录内新建一个files文件夹)
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2014-10-18 15:44 | 显示全部楼层
本帖最后由 LazyZhu 于 2014-10-18 15:47 编辑

https://dev.openwrt.org/browser/ ... -files/Makefile#L85
注意优先级别,后面的文件会覆盖前面同名文件
你的解决方法是 package/base-files/files/etc/config/system 内容全部移到 target/linux/ramips/base-files/etc/config/system 或者直接在 package/base-files/files/etc/config/system 中修改
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

 楼主| 发表于 2014-10-18 16:01 | 显示全部楼层
感谢楼上两位告诉我理解的思路。从Makefile来看,应该是按优先级顺序覆盖的。但是老是感觉有什么地方是合并,是按选项内容覆盖的,也可能是UCI哪个部分,我再研究一下。
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2014-10-18 16:08 | 显示全部楼层
freeic 发表于 2014-10-18 16:01
感谢楼上两位告诉我理解的思路。从Makefile来看,应该是按优先级顺序覆盖的。但是老是感觉有什么地方是合并 ...

配置文件并不是纯粹由文件组成的。还有uci-defaults会添加别的配置。参见target/linux/对应平台/base-files/etc/uci-defaults
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

 楼主| 发表于 2014-10-18 16:18 | 显示全部楼层
感觉合并的选项应该就是这儿了,谢谢!
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2014-10-18 16:23 | 显示全部楼层
981213 发表于 2014-10-18 16:08
配置文件并不是纯粹由文件组成的。还有uci-defaults会添加别的配置。参见target/linux/对应平台/base-fil ...

恩,这样也可以,在系统首次启动初始化时uci进行设置参数
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

 楼主| 发表于 2014-10-18 16:41 | 显示全部楼层
config按优先级覆盖,然后uci-defaults在系统初始化时设置和调整参数,应该是这样了。谢谢!
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

 楼主| 发表于 2014-10-25 22:48 | 显示全部楼层
本帖最后由 freeic 于 2014-10-25 23:00 编辑

    openwrt使用统一的uci对软件进行配置,目的是消除各个软件的配置文件的差异,简化软件配置。但是我觉得反倒更麻烦,不如直接更改配置文件来的直接,更有利于深入理解和精确配置。不知道大家感觉怎么样?
    顺便说一下,基于类似的原因,我使用freebsd而不是任何一种linux发行版作为开发平台,尽管比如让openwr这样的源码在freebsd平台进行编译需要下很多功夫。
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2014-10-26 10:31 | 显示全部楼层
使用uci更多的是为了luci服务的,不然怎么实施web界面?
BB以后新增改进了很多特性,譬如procd用于进程管理取代原来的init
ubus/rpcd提供进程信息传递以及远程api管理功能
还有ubox/libubox取代了原来的block-mount并新增了信息数据处理验证功能
.....
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

 楼主| 发表于 2014-10-26 19:58 | 显示全部楼层
谢谢楼上解释!
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2014-10-29 13:08 | 显示全部楼层
freeic 发表于 2014-10-25 22:48
openwrt使用统一的uci对软件进行配置,目的是消除各个软件的配置文件的差异,简化软件配置。但是我觉得 ...

你这是典型的电工思维了。

luci是给用户使用的。你把自己当成普通用户,就会需要这些了。普通用户又不会修改配置文件
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2015-3-2 15:33 | 显示全部楼层
哈哈哈哈,,我来看看看,,,
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2015-3-2 20:20 | 显示全部楼层
学习了!谢谢!
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2015-9-18 15:17 | 显示全部楼层
LazyZhu 发表于 2014-10-26 10:31
使用uci更多的是为了luci服务的,不然怎么实施web界面?
BB以后新增改进了很多特性,譬如procd用于进程管 ...

是否有关注过ubus是否具有移植到其他非openwrt平台的操作性,目前发现这个ubus对事件处理还挺方便的,想借来用用
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

有疑问请添加管理员QQ86788181|手机版|小黑屋|Archiver|恩山无线论坛(常州市恩山计算机开发有限公司版权所有) ( 苏ICP备05084872号 )

GMT+8, 2024-4-25 01:38

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

| 江苏省互联网有害信息举报中心 举报信箱:js12377 | @jischina.com.cn 举报电话:025-88802724 本站不良内容举报信箱:68610888@qq.com 举报电话:0519-86695797

快速回复 返回顶部 返回列表