树莓派的源码有两种下载方式:压缩包下载和git clone指令下载。
1.压缩包下载
选择对应分支,点击Github界面的 下载按钮即可,如下图:
测试发现,同样的分支,用压缩包方式下载后编译会出错,而用git clone 方式下载编译正常,因此推荐使用git clone方式
2.git clone下载
1)下载master分支
git clone --depth=1 https://github.com/raspberrypi/linux
git clone默认下载master分支,所以上述操作只会下载master分支,如果要下载其他分支,见下文。
2)下载指定分支
git clone https://github.com/raspberrypi/linux.git
该操作会把整个Git 项目仓库克隆到本地,并默认处于master分支下,下载完成后使用ls -al指令查看,可以看到两个文件:
.git git项目仓库
linux 当前项目分支,默认为master分支
cd linux进入linux目录,查看该目录下的Makefile文件中顶端的内核信息:
VERSION = 4 PATCHLEVEL = 4 SUBLEVEL = 21 EXTRAVERSION = NAME = Blurry Fish Butt
内核版本4.4.21,可知是master分支,在该目录下执行git branch -a查看所有分支
git branch -a
结果如下:
其中,remotes下的为远程分支,其余是本地分支,*开始的为当前分支
git branch用法如下
git branch 列出本地已经存在的分支,并且在当前分支的前面加“*”号标记 git branch -r 列出远程分支 git branch -a 列出本地和远程分支 git branch name 创建新的本地分支,但不进行分支切换 git branch -m | -M oldbranch newbranch 重命名分支,如果newbranch名字分支已经存在,则需要使用-M强制重命名,否则,使用-m进行重命名 git branch -d | -D branchname 删除branchname分支 git branch -d -r branchname 删除远程branchname分支
如果要下载rpi-4.1.y分支,执行
git checkout -b rpi-4.1.y origin/rpi-4.1.y
checkout远程的rpi-4.1.y分支,在本地起名为rpi-4.1.y分支,并切换到本地的rpi-4.1.y分支,该操作是从.git目录中提取,而不是通过网络远程下载。
如果要在本地的不同分支见切换,使用
git checkout rpi-4.1.y
如果当前分支有修改,可以使用git reset重置,或者使用git stash保存修改。
git reset --hard