搭建内部openwrt Git仓库

一、下载官网源码

[email protected]:~/project/pmt7620$mkdir openwrt-1407

[email protected]:~/project/pmt7620/openwrt-1407$git clone git://git.openwrt.org/14.07/openwrt.git .

[email protected]:~/project/pmt7620/openwrt-1407$ls

BSDmakefile config/ Config.in docs/ feeds.conf.default include/ LICENSE Makefile package/ README rules.mk scripts/ target/ toolchain/ tools/

[email protected]:~/project/pmt7620/openwrt-1407$ ls .

./              ../             .git/           .gitattributes  .gitignore

二、初始化为自己本地仓库

[email protected]:~/project/pmt7620/openwrt-1407$rm -rf .git

[email protected]:~/project/pmt7620/openwrt-1407$git init

[email protected]:~/project/pmt7620/openwrt-1407$git add .

[email protected]:~/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等)

[email protected]:~/project/pmt7620/openwrt-1407$./scripts/feeds update -a

生成feeds/ tmp/  .config  .config.old

[email protected]:~/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 [email protected]:/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 [email protected]: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 [email protected]: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

时间: 2024-10-24 21:02:47

搭建内部openwrt Git仓库的相关文章

在Dropbox上搭建私有的Git仓库的教程

导读 Git版本控制系统需要一个服务器端,而GitHub上要想创建私有的Git服务器端仓库则触及到收费项目,于是这里我们利用Dropbox的免费空间,来看一下在Dropbox上搭建私有的Git仓库的教程. 一.在Dropbox的文件夹下创建远程repository文件夹(.git后缀) cd ~/Dropbox/project mkdir demo.git 二.进入demo.git文件夹并初始化repository cd demo.git git init --bare 三.创建完毕,现在创建一

git知识总结-4.git服务器搭建及迁移git仓库

1. 前言 因为手里有一份代码之前是直接从其它git服务器上克隆下来的,现在想自己搭建一个git服务器把这份代码管起来. 2. 搭建git服务器 1.安装git: $ sudo apt-get install git 2. 创建一个git用户,用来运行git服务: $ sudo adduser book 3. 创建证书登录 收集所有需要登录的用户的公钥,就是他们自己的id_rsa.pub文件,把所有公钥导入到/home/book/.ssh/authorized_keys文件里,一行一个. 此处可

基于OS X Server 搭建 Git 仓库

任务: # 配置可读取Git仓库 # 配置可写入Git仓库 # 配置 Gitweb 系统环境: # OS X 10.9.2,系统自带 Apache httpd , 版本 2.2.26 (Unix) # OS X Server 3.1.1,为了避免Server这个词跟其他语境产生混淆,要是提到了OS X Server就用Server( app)替代 # Xcode 5.1,有了Xcode就有了Git,版本 1.8.5.2 描(tu)述(cao): 为什么要本地搭建Git服务器呢?代码的版本管理.集

ubuntu14.04 搭建git仓库记录

1.安装git -----------------------------开始安装------------------------------------- 1.1更新系统 # apt-get update 1.2 安装git # apt-get install git(中间会询问y/n选择y) 1.3配置git唯一标识(用户名和邮箱) # git config --global user.name "YourName" # git config --global user.name

centos/debian配置gitlab 7.1x来搭建自建的git仓库.

centos/debian配置gitlab 7.1x来搭建自建的git仓库. 前言:因为公司的某些历史原因, 有大量的代码还在csv/svn上. 新来的项目不得不走这个,同时,github的enterprise 2500$/y/10p的价格对于多变的项目和人员也不合适. 也为了让某些不习惯使用linux的开发使用上git, 就放弃了之前的gitolite server, 进而采用gitlab来搭建. www.gitlab.com 是gitlab的仓库, 以前的历史版本, 需要先配置gitolit

git - 搭建git仓库

1. 更新git版本: http://codelife.me/blog/2013/06/25/upgrade-git-on-centos-6-4/ 2. 建立git仓库: git init --bare myrepo.git    # 建立代码仓库 chgrp  -R git /opt/myrepo.git     # 更改属组 chmod g+rsw -R /opt/myrepo.git    # 给组 读写权限 #每次有人push后,设置 新文件的属组是 新属组git, echo “#!/b

搭建远程Git仓库

初始化本地git仓库 git init 配置忽略文件 vi .gitignore 添加本地文件 git add . 提交仓库初始化版本 git commit –m "initialcommit" 导出为裸仓库 git clone –bare my_projectmy_project.git 拷贝裸仓库到远程服务器 scp –r my_project.git [email protected]:/opt/git/my_project.git 修改远程仓库用户权限可写 ssh [email

转载: 搭建基础git仓库

GitHub就是一个免费托管开源代码的远程仓库.但是对于某些视源代码如生命的商业公司来说,既不想公开源代码,又舍不得给GitHub交保护费,那就只能自己搭建一台Git服务器作为私有仓库使用. 搭建Git服务器需要准备一台运行Linux的机器,强烈推荐用Ubuntu或Debian,这样,通过几条简单的apt命令就可以完成安装. 假设你已经有sudo权限的用户账号,下面,正式开始安装. 第一步,安装git: $ sudo apt-get install git 第二步,创建一个git用户,用来运行g

搭建内部yum仓库(centos6+centos7+epel源)

搭建自己的yum仓库,将自己制作好的rpm包,添加到自己的yum源中. yum仓库服务端配置如下 : 1. 创建yum仓库目录 mkdir -p /data/yum_data/cd /data/yum_data/#可以上传rpm包到此目录,此目录下面还可以包括文件夹 2. 安装createrepo软件[[email protected] yum_data]# yum -y install createrepo 3. 初始化repodata索引文件createrepo -pdo /data/yum