如何在OpenWrt中添加新的profile
答案:2 悬赏:70 手机版
解决时间 2021-03-04 08:07
- 提问者网友:ミ烙印ゝ
- 2021-03-03 14:39
如何在OpenWrt中添加新的profile
最佳答案
- 五星知识达人网友:零点过十分
- 2021-03-03 15:40
一个profile包含了一个或者多个路由器型号,一般来说,同一个厂家的路由器定义,会放在同一个profile中。
下面就以添加百度音乐盒为例:
添加一个baidu.mk文件,路径如下图:
里面的内容如下:
define Profile/M-100
NAME:=Baidu Music Box(M-100)
PACKAGES:=\
kmod-usb-core kmod-usb-dwc2 \
kmod-ledtrig-usbdev \
kmod-sound-core kmod-ac97 kmod-sound-soc-core kmod-sound-mt7620 \
kmod-input-core madplay mdnsresponder libspeex mpd mpc \
alsa-lib alsa-utils alsa-utils-tests libffmpeg-mini minidlna \
luci luci-app-minidlnaendef
endef
define Profile/M-100/Description
Baidu Music Box(M-100) aka HAME-WU01X
endef
$(eval $(call Profile,M-100))
特别提醒:
1.profile文件的格式一定要书写正确。特别是 “\”反斜杠后面,千万不能有空格,否则会导致mt7620a整个subtarget都消失不见。
2.注意package之间的依赖关系,如kmod-ac97 kmod-sound-soc-core kmod-sound-mt7620都依赖于kmod-sound-core,那么就应该按照先后顺序依次写出,同样的道理:kmod-ac97 kmod-sound-soc-core应该出现在kmod-sound-mt7620前面。(有没有更简便的方法自动实现这种依赖关系,还希望知道的童鞋告诉我)
3.必须删除tmp目录,才能让添加的profile生效。
最后,就可以在make menuconfig中看到你想要的东西啦。
当然,别忘记了:
1.建立对应的M-100.dts文件
2.在target/linux/ramips/image的Makefile中添加相应的条目,让系统最终可以生成对应的image文件。
下面就以添加百度音乐盒为例:
添加一个baidu.mk文件,路径如下图:
里面的内容如下:
define Profile/M-100
NAME:=Baidu Music Box(M-100)
PACKAGES:=\
kmod-usb-core kmod-usb-dwc2 \
kmod-ledtrig-usbdev \
kmod-sound-core kmod-ac97 kmod-sound-soc-core kmod-sound-mt7620 \
kmod-input-core madplay mdnsresponder libspeex mpd mpc \
alsa-lib alsa-utils alsa-utils-tests libffmpeg-mini minidlna \
luci luci-app-minidlnaendef
endef
define Profile/M-100/Description
Baidu Music Box(M-100) aka HAME-WU01X
endef
$(eval $(call Profile,M-100))
特别提醒:
1.profile文件的格式一定要书写正确。特别是 “\”反斜杠后面,千万不能有空格,否则会导致mt7620a整个subtarget都消失不见。
2.注意package之间的依赖关系,如kmod-ac97 kmod-sound-soc-core kmod-sound-mt7620都依赖于kmod-sound-core,那么就应该按照先后顺序依次写出,同样的道理:kmod-ac97 kmod-sound-soc-core应该出现在kmod-sound-mt7620前面。(有没有更简便的方法自动实现这种依赖关系,还希望知道的童鞋告诉我)
3.必须删除tmp目录,才能让添加的profile生效。
最后,就可以在make menuconfig中看到你想要的东西啦。
当然,别忘记了:
1.建立对应的M-100.dts文件
2.在target/linux/ramips/image的Makefile中添加相应的条目,让系统最终可以生成对应的image文件。
全部回答
- 1楼网友:上分大魔王
- 2021-03-03 16:53
内核对于mac80211的代码跟进比较谨慎,openwrt一般使用比较新的mac80211源码(即自带的源码)来生成对应的kmod模块,而不使用内核源码包中的mac80211,这就是我在内核源码包中的mac80211中进行修改时没有产生效果的原因。随后,我在内核源码包同级的目录下找到了openwrt自带的mac80211(compat-wireless),在这里进行修改,就可以了。要打印的语句就出现了在kernel log中了。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯