![df6c16a33c18f94726c307f53d612556.png](https://i-blog.csdnimg.cn/blog_migrate/056839720432964224ab100c0d1c65bb.jpeg)
序言
本文是笔者自己的一个笔记,当时在前面《OpenWRT实践3:Click Modular Router》这个做的时候,是将整个Click包都放到了feeds对应的目录下,最后编译也是整个编译过去的,但是实际情况下,这样操作比较复杂,因为整个过程相当于首先先把所有的包全部下载好,然后把自定义的部分也都添加进去,最后再整理编译。能不能直接利用feeds的功能直接安装自定义的本地包呢。本文仅仅针对于这个功能做一个笔记。
Feeds安装本地包
一个默认的 feed.conf 如下:
src-git packages https://github.com/openwrt/packages.git;for-14.07
src-git luci https://github.com/openwrt/luci.git;luci-0.12
src-git routing https://github.com/openwrt-routing/packages.git;for-14.07
src-git telephony https://github.com/openwrt/telephony.git;for-14.07
src-git management https://github.com/openwrt-management/packages.git;for-14.07
src-git oldpackages http://git.openwrt.org/14.07/packages.git
#src-svn xwrt http://x-wrt.googlecode.com/svn/trunk/package
#src-svn phone svn://svn.openwrt.org/openwrt/feeds/phone
#src-svn efl svn://svn.openwrt.org/openwrt/feeds/efl
#src-svn xorg svn://svn.openwrt.org/openwrt/feeds/xorg
#src-svn desktop svn://svn.openwrt.org/openwrt/feeds/desktop
#src-svn xfce svn://svn.openwrt.org/openwrt/feeds/xfce
#src-svn lxde svn://svn.openwrt.org/openwrt/feeds/lxde
#src-link custom /usr/src/openwrt/custom-feed
我们可以看到,里面添加的源可以是以src-git添加的github上面的源,也可以是src-svn形式添加的svn源。
其实还有一种就是可以添加本地源,如这种写法:
src-link custom /home/openwrt/Desktop/odin/custom
这是以src-link来写的,这样写的好处是可以将自定义的一些源文件直接以feed的形式添加进来,比如说之前我们两篇文章说过的click和openvswitch。
笔者对应的custom内容如下:
![124ad0751ee043d6d3c33b33a987af37.png](https://i-blog.csdnimg.cn/blog_migrate/d46effa7d75f4a896e456c8a6fc1581d.png)
实际上就是修改过的click和openvswith两个组件,修改的内容和前面两篇文章相同。
然后就可以直接以feed的形式更新了。
第一步:把本地源添加上去,可以直接代码添加
echo "src-link custom `pwd`/custom" >> openwrt/feeds.conf
第二步:用feed直接安装上去
./scripts/feeds update custom
./scripts/feeds install -p custom click
./scripts/feeds install -p custom openvswitch-common
这样子修改过的Click和openvswitch就直接可以添加上去了。
最后编辑镜像的时候,在make menuconfig里面选上click和openvswitch就可以了,这个部分也可以用代码直接写,如下:
sed -i.orig
-e 's/# (CONFIG_PACKAGE_click) is not set/1=y/'
-e 's/# (CONFIG_PACKAGE_openvswitch-common) is not set/1=y/'
-e 's/# (CONFIG_PACKAGE_openvswitch-ipsec) is not set/1=y/'
-e 's/# (CONFIG_PACKAGE_openvswitch-switch) is not set/1=y/'
.config
以上就是利用feeds机制安装本地源的过程,笔者这里主要做一个笔记给自己用的,有问题的地方还请见谅。
本文为原创文章,如需转载须注明出处和原文链接。
![6b210bd225809d3edfc0fd728318777b.png](https://i-blog.csdnimg.cn/blog_migrate/7d5d518aec4d98728cc88c5055c75e7a.png)
欢迎大家关注我们的微信公众号:无线技术大讲堂,请搜索公众号(must_wireless)。