首页
Web开发
Windows程序
编程语言
数据库
移动开发
系统相关
微信
其他好文
会员
首页
>
其他好文
> 详细
搭建内部openwrt Git仓库
时间:
2015-04-29 11:43:01
阅读:
343
评论:
0
收藏:
0
[点我收藏+]
标签:
一、下载官网源码
win@server:~/project/pmt7620$mkdir openwrt-1407
win@server:~/project/pmt7620/openwrt-1407$git clone git://git.openwrt.org/14.07/openwrt.git .
win@server:~/project/pmt7620/openwrt-1407$ls
BSDmakefile config/ Config.in docs/ feeds.conf.default include/ LICENSE Makefile package/ README rules.mk scripts/ target/ toolchain/ tools/
win@server:~/project/pmt7620/openwrt-1407$ ls .
./ ../ .git/ .gitattributes .gitignore
二、初始化为自己本地仓库
win@server:~/project/pmt7620/openwrt-1407$rm -rf .git
win@server:~/project/pmt7620/openwrt-1407$git init
win@server:~/project/pmt7620/openwrt-1407$git add .
win@server:~/project/pmt7620/openwrt-1407$git cm -m "Init Openwrt-1407"
三、添加MT7620N M201产品
1、添加M201 板型
target/linux/ramips/base-files/lib/ramips.sh
ramips_board_detect() {
*"WRTNODE")
name="wrtnode"
;;
+ *"M201")
+ name="m201"
+ ;;
2、target/linux/ramips/base-files/lib/upgrade/platform.sh
wrtnode |\
+ m201 |\
3、添加M201.dts
cp WRTNODE.dts M201.dts
compatible = "m201", "ralink,mt7620n-soc";
model = "M201";
4、编译后只生成M201 的bin文件
target/linux/ramips/image/Makefile
+#Image/Build/Profile/MLW221=$(call BuildFirmware/Default16M/$(1),$(1),mlw221,MLW221)
+#Image/Build/Profile/MLWG2=$(call BuildFirmware/Default16M/$(1),$(1),mlwg2,MLWG2)
+#Image/Build/Profile/WMR300=$(call BuildFirmware/Default8M/$(1),$(1),wmr-300,WMR300)
+#Image/Build/Profile/RT-N14U=$(call BuildFirmware/Default8M/$(1),$(1),rt-n14u,RT-N14U)
+#Image/Build/Profile/WR8305RT=$(call BuildFirmware/Default8M/$(1),$(1),wr8305rt,WR8305RT)
+#Image/Build/Profile/WRTNODE=$(call BuildFirmware/Default16M/$(1),$(1),wrtnode,WRTNODE)
+Image/Build/Profile/M201=$(call BuildFirmware/Default16M/$(1),$(1),m201,M201)
+#Image/Build/Profile/ZBT-WA05=$(call BuildFirmware/Default8M/$(1),$(1),zbt-wa05,ZBT-WA05)
+#$(call Image/Build/Profile/MLW221,$(1))
+# $(call Image/Build/Profile/MLWG2,$(1))
+# $(call Image/Build/Profile/WMR300,$(1))
+# $(call Image/Build/Profile/RT-N14U,$(1))
+# $(call Image/Build/Profile/WR8305RT,$(1))
+# $(call Image/Build/Profile/WRTNODE,$(1))
+ $(call Image/Build/Profile/M201,$(1))
+#
5、添加Target profile 中单独编译选项
target/linux/ramips/mt7620n/profiles/
cp 00-default.mk m201.mk
define Profile/M201
NAME:=M201 mt7620n board Profile
PACKAGES:=\
kmod-usb-core kmod-usb2 kmod-usb-ohci \
kmod-ledtrig-usbdev
endef
define Profile/M201/Description
package set for M201 mt7620n Iot board
64MB DDR2 + 8MB Flash.
endef
$(eval $(call Profile,M201))
6、添加网络配置
vim target/linux/ramips/base-files/etc/uci-defaults/02_network
wrtnode | \
m201)
ucidef_set_interfaces_lan_wan "eth0.1" "eth0.2"
;;
四、配置编译 M201 项目
1、下载安装feeds(Feeds是OpenWrt环境所需要的软件包套件packages/LuCI等)
win@server:~/project/pmt7620/openwrt-1407$./scripts/feeds update -a
生成feeds/ tmp/ .config .config.old
win@server:~/project/pmt7620/openwrt-1407$./scripts/feeds install -a
Installing all packages from feed packages.
生成package/feeds/ staging_dir/ 只有安装之后,在后面的make menuconfig时,才可以对相关配置进行选择。
2、做最简配置:make menuconfig
Target System (Ralink RT288x/RT3xxx) --->
Subtarget (MT7620n based boards) --->
Target Profile (M201 mt7620n board Profile) --->
3、编译
make V=99 编译时间会很久,由于在线下载很多东西
编译后新增 bin/ build_dir/ dl/
注:bin目录下面生成产品固件包,build_dir目录下是解压后的包,内核就在里面,dl目录会根据你配置的内容会实时下载一些相应的包。
4、添加dl 到git仓库管理,可以跟踪下载了哪些软件包 git add dl/ 注释.gitignore #/dl
五、添加到服务器进行管理
* 创建裸版本库(不包含工作区)
git clone --bare openwrt-1407/ openwrt-1407.git
* 上传到服务器供gitosis管理
1、scp -r openwrt-1407.git win@192.168.100.101:/home/win
2、sudo mv /home/win/openwrt-1407.git /home/git/repositories/
3、sudo chown -R git:git /home/git/repositories/openwrt-1407.git
4、/home/server/git/git-manager/gitosis-admin/:修改并push gitosis.conf
+[group openwrt-1407]
+members = Lin Zhou Win
+writable = openwrt-1407
六、同事下载
1、先执行$ssh-keygen 一路回车结束。成功后会在~/.ssh/目录下生产id_rsa.pub和id_rsa两个文件。
将id_rsa.pub公钥文件发给服务器管理人员,授权后便可以进行相关下载。
2、Win同事下载 git clone git@192.168.100.101:openwrt-1407.git
七、创建产品开发分支
1、虽然以项目M201 为master,但是后期会陆续添加其它同类产品,所以还是以分支进行管理较好
2、Win创建本地m201 开发分支
git checkout -b M201-mt7620n
3、提交到远程仓库
git push origin M201-mt7620n:M201-mt7620n
git branch -r即可查看到远程分支
4、Zhou同事下载M201-mt7620n 分支
git clone git@192.168.100.101:openwrt-1407.git -b M201-mt7620n
八、编译配置
1、下载安装feeds(Feeds是OpenWrt环境所需要的软件包套件packages/LuCI等)
./scripts/feeds update -a //注意failed,需要重新执行
./scripts/feeds install -a
只有安装之后,在后面的make menuconfig时,才可以对相关配置进行选择。
2、配置
make menuconfig
make kernel_config
应项目需要进行一些常规配置和一些特殊配置。
3、编译
make V=99 //编译过程会在线下载一些东西,固编译很长时间,甚至可能中断
当配置少量,生成的固件在bin/xxx/目录下,我没有配置太多生成只有2.8M,随着配置多固件就大了。
make V=s 2>&1 | tee build.log | grep -i error
搭建内部openwrt Git仓库
标签:
原文地址:http://blog.csdn.net/yicao821/article/details/45363439
踩
(
0
)
赞
(
0
)
举报
评论
一句话评论(
0
)
登录后才能评论!
分享档案
更多>
2021年07月29日 (22)
2021年07月28日 (40)
2021年07月27日 (32)
2021年07月26日 (79)
2021年07月23日 (29)
2021年07月22日 (30)
2021年07月21日 (42)
2021年07月20日 (16)
2021年07月19日 (90)
2021年07月16日 (35)
周排行
更多
分布式事务
2021-07-29
OpenStack云平台命令行登录账户
2021-07-29
getLastRowNum()与getLastCellNum()/getPhysicalNumberOfRows()与getPhysicalNumberOfCells()
2021-07-29
【K8s概念】CSI 卷克隆
2021-07-29
vue3.0使用ant-design-vue进行按需加载原来这么简单
2021-07-29
stack栈
2021-07-29
抽奖动画 - 大转盘抽奖
2021-07-29
PPT写作技巧
2021-07-29
003-核心技术-IO模型-NIO-基于NIO群聊示例
2021-07-29
Bootstrap组件2
2021-07-29
友情链接
兰亭集智
国之画
百度统计
站长统计
阿里云
chrome插件
新版天听网
关于我们
-
联系我们
-
留言反馈
© 2014
mamicode.com
版权所有 联系我们:gaon5@hotmail.com
迷上了代码!