在嵌入式平台上做Linux开发的时候,我们用的kernel都是芯片厂家移植到自家平台上的,但是最初的原生Linux内核的源码是从哪里来的呢?下面我们介绍一下怎么获取原生的Linux源码。
从Linux社区获取内核kernel源码
Linux社区的官方网站是 https://kernel.org/ ,页面如下:
可以看到当前Linux内核的主线的版本是6.3-rc3,社区会长期维护的longterm版本有6.12.0、 5.15.103等等。其中longterm版本就是社区长期维护的版本,后期发现的内核的漏洞,社区也会在longterm版本的内核里做修复。点击页面中的git仓库的那个链接,进到仓库主页,如下:
这个git 仓库主页有很多仓库,我们这里可以找到稳定stable版本内核的仓库,如下:
点进链接就可以进到稳定版本的内核仓库的网页了,在网页的最下面有该仓库的url地址,如下:
我们拷贝这个git 仓库的地址,就能把代码下载到本地了。对应的命令如下:
git clone git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/
如果没有梯子的话,从Linux社区仓库下载代码会比较慢,所以要耐心等待。
从清华大学的仓库获取内核kernel源码
由于社区的仓库比较慢,国内的可以选择从清华大学的git仓库里下载内核源码。清华的仓库里包括内核的主分支、稳定版分支和开发分支。网页地址为 https://mirrors.tuna.tsinghua.edu.cn/help/linux.git/ ,如下:
下载清华仓库的稳定版本内核源码的命令如下:
git clone https://mirrors.tuna.tsinghua.edu.cn/git/linux-stable.git
下载清华仓库的主线版本的内核源码的命令如下:
git clone https://mirrors.tuna.tsinghua.edu.cn/git/linux.git
从github仓库获取内核kernel源码
Linux内核源码在github上的网址为:https://github.com/torvalds/linux ,页面如下:
从github仓库下载内核主线的代码命令如下:
git clone https://github.com/torvalds/linux.git
从gitlab仓库获取内核kernel源码
Linux内核源码在gitlab的仓库网址是https://gitlab.com/linux-kernel/stable ,如下:
从gitlab仓库下载内核主线的代码命令如下:
git clone git@gitlab.com:linux-kernel/stable.git
以上就是常见的获取原生内核源码的方式,但是如果想编译内核镜像并在指定平台上跑起来,就需要找对应芯片平台的sdk,他们sdk里的内核是在自家芯片平台上做过移植适配,这样编译的内核才能跑起来。