获取Linux内核源码

news/2025/2/22 15:50:12/

在嵌入式平台上做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里的内核是在自家芯片平台上做过移植适配,这样编译的内核才能跑起来。


http://www.ppmy.cn/news/1083181.html

相关文章

[PyTorch][chapter 53][Auto Encoder 实战]

前言: 结合手写数字识别的例子,实现以下AutoEncoder ae.py: 实现autoEncoder 网络 main.py: 加载手写数字数据集,以及训练,验证,测试网络。 左图:原图像 右图:重构图像 ----main----- 每轮训…

CSS使两个不同的div居中对齐的三种解决方案

在CSS中,有多种方法可以让两个不同的div居中对齐,包括相对定位和绝对定位。以下是两种常见的方法: 方法一:使用Flexbox Flexbox是一个用于创建灵活布局的CSS3模块。使用Flexbox,可以很容易地对元素进行居中对齐。 H…

Ae 效果:CC Light Rays

生成/CC Light Rays Generate/CC Light Rays CC Light Rays(CC 光线)可以创建从光源发出并能穿过图层内容的光线效果。常用于制作光线透过门窗或云层的场景,或者用于创建神奇或梦幻的氛围感。 本效果会被限制在源图层的大小范围之内。 ◆ ◆…

第2章 Linux多进程开发 2.19-2.23 与信号相关的函数

软件中断&#xff1a; 信号名称&#xff08;宏不会变&#xff09;&#xff0c;编号在不同的版本可能会变&#xff1a; core保存进程异常退出的信息&#xff1a; core.c: #include <stdio.h> #include <string.h>int main() {char * buf; // 指针 没有指…

vue3 ref reactive响应式数据 赋值的问题

文章目录 vue3 ref reactive响应式数据 赋值的问题场景1:将响应式数据赋值请求后的数据错误示范&#xff1a;直接赋值正确写法 场景2&#xff1a;响应式数据解构之后失去响应式原因分析解决办法 toRefs/toRef方法创建ref引用对象 vue3 ref reactive响应式数据 赋值的问题 doing…

简易虚拟培训系统-UI控件的应用4

目录 Slider组件的常用参数 示例-使用Slider控制主轴 示例-Slider控制溜板箱的移动 本文以操作面板为例&#xff0c;介绍使用Slider控件控制开关和速度。 Slider组件的常用参数 Slider组件下面包含了3个子节点&#xff0c;都是Image组件&#xff0c;负责Slider的背景、填充区…

Java 实现RSA 加解密算法 公钥加密传参

文章目录 常规加密&#xff1a;分段加密 常规加密&#xff1a; package com.xiaolu;import javax.crypto.Cipher; import java.io.ByteArrayOutputStream; import java.nio.charset.Charset; import java.security.*; import java.security.spec.PKCS8EncodedKeySpec; import …

Vue基础2:传值方法

Description 传值就是为了联动&#xff0c;能够及时准确传值获取值才是王道。 Valuation Methods props和$emit props是父传子&#xff0c;$emit是子传父。 props的使用 父组件传出值 <tableList ref"table" :options"options" :header-data"C…