Linux第49步_移植ST公司的linux内核第1步_获取linux源码
已知ST公司的linux源码路径:
/home/zgq/linux/atk-mp1/stm32mp1-openstlinux-5.4-dunfell-mp1-20-06-24/sources/arm-ostl-linux-gnueabi/linux-stm32mp-5.4.31-r0
1、创建“my_linux”目录
打开第1个终端
输入“ls回车”
输入“cd linux/回车”,切换到“linux”目录
输入“ls回车”,列出“linux”目录下的文件和文件夹
输入“cd atk-mp1/回车”,切换到“atk-mp1”目录
输入“ls回车”,列出“atk-mp1”目录下的文件和文件夹
输入“cd linux/回车”,切换到“linux”目录
输入“ls回车”,列出“linux”目录下的文件和文件夹
输入“mkdir my_linux/回车”,创建“my_linux”目录
输入“ls回车”,列出“linux”目录下的文件和文件夹

2、获取到“linux”源码
1)、打开第2个终端
输入“ls回车”
输入“cd linux/回车”,切换到“linux”目录
输入“ls回车”,列出“linux”目录下的文件和文件夹
输入“cd atk-mp1/回车”,切换到“atk-mp1”目录
输入“ls回车”,列出“atk-mp1”目录下的文件和文件夹
输入“cd stm32mp1-openstlinux-5.4-dunfell-mp1-20-06-24/回车”,切换到“stm32mp1-openstlinux-5.4-dunfell-mp1-20-06-24”目录
输入“ls回车”,列出“stm32mp1-openstlinux-5.4-dunfell-mp1-20-06-24”目录下的文件和文件夹
输入“cd sources/回车”,切换到“sources”目录
输入“ls回车”,列出“sources”目录下的文件和文件夹
输入“cd arm-ostl-linux-gnueabi/回车”,切换到“arm-ostl-linux-gnueabi”目录
输入“ls回车”,列出“arm-ostl-linux-gnueabi”目录下的文件和文件夹
输入“cd linux-stm32mp-5.4.31-r0/回车”,切换到“linux-stm32mp-5.4.31-r0”目录
输入“ls回车”,列出“linux-stm32mp-5.4.31-r0”目录下的文件和文件夹

2)、输入“tar -vxf linux-5.4.31.tar.xz回车”,解压

解压后得到“linux-5.4.31”源码文件,见下图:

3)、输入“cd linux-5.4.31/回车”
输入“ls回车”,列出“linux-5.4.31”目录下的文件和文件夹

4)、输入“for p in `ls -1 ../*.patch`; do patch -p1 < $p; done回车”,打补丁

5)、输入“ls回车”,列出“linux-5.4.31”目录下的文件和文件夹
输入“make ARCH=arm multi_v7_defconfig "fragment*.config"回车”,生成默认配置文件

6)、输入“ls回车”,列出“linux-5.4.31”目录下的文件和文件夹
输入“ls -a回车”,列出“linux-5.4.31”目录下的文件和文件夹

发现生成了“.config”文件。
7)、在.confg文件里面,最终编译Linux内核的时候需要读取.confg里面的配置项。此时,我们只是生成了.config,还并没有将fagment config补丁文件打进去。因此,执行下面两条命令打补丁,如下:
输入“for f in `ls -1 ../fragment*.config`; do scripts/kconfig/merge_config.sh -m -r .config $f; done回车”

8)、输入“yes '' | make ARCH=arm oldconfig回车”

9)、输入“ls回车”,列出“linux-5.4.31”目录下的文件和文件夹
输入“ls -a回车”,列出“linux-5.4.31”目录下的文件和文件夹

至此,Linux源码根目录下的.confg 文件就已经保存了所有的配置项。
10)、输入“cp .config ./arch/arm/configs/stm32mp1_atk_defconfig回车”,将“.config”文件保存到“./arch/arm/configs/stm32mp1_atk_defconfig”
输入“cd ./arch/arm/configs/回车”,进入“./arch/arm/configs/”目录
输入“ls stm32*回车”,列出“linux-5.4.31”目录下的“stm32开头的文件和文件夹”

11)、12、输入“cd ..回车”,退回到“arm”目录
输入“cd ..回车”,退回到“arch”目录
输入“cd ..回车”,退回到“linux-5.4.31”目录
输入“cd ..回车”,退回到“linux-stm32mp-5.4.31-r0”目录
输入“ls回车”,列出“linux-stm32mp-5.4.31-r0”目录下的文件和文件夹

12)、输入“cp linux-5.4.31 /home/zgq/linux/atk-mp1/linux/my_linux/ -rf回车”,将“linux-5.4.31”目录下的所有文件和文件夹拷贝到“/home/zgq/linux/atk-mp1/linux/my_linux/”中

13)、进入第1次打开的终端
输入“cd my_linux/回车”,切换到“my_linux”目录
输入“ls回车”,列出“my_linux”目录下的文件和文件夹
输入“cd linux-5.4.31/回车”,切换到“linux-5.4.31”目录
输入“ls回车”,列出“linux-5.4.31”目录下的文件和文件夹

至此,我们获取到“linux-5.4.31”源码
3、使用VSCode创建工程
1)、打开VSCode,点击“文件”,点击“打开文件夹(F)”,见下图:

2)、点击“linux”,点击“my_linux”,点击“linux-5.4.31”,见下图:

3)、点击“确定”,点击“文件”,点击“将工作区另存为...”

4)、在“名称”右边的文本框中输入“linux-5.4.31”,点击“保存”,得到“linux-5.4.31.code-workspace”

至此,linux源码保存到“my_linux/linux-5.4.31”目录下,获取linux源码的任务完成了。
相关文章:
Linux第49步_移植ST公司的linux内核第1步_获取linux源码
已知ST公司的linux源码路径: /home/zgq/linux/atk-mp1/stm32mp1-openstlinux-5.4-dunfell-mp1-20-06-24/sources/arm-ostl-linux-gnueabi/linux-stm32mp-5.4.31-r0 1、创建“my_linux”目录 打开第1个终端 输入“ls回车” 输入“cd linux/回车”,切换…...
怎样学习Windows下命令行编写
第一:Windows下命令行指的是cmd和powershell命令行编写 第二:必须要用好help或/?命令,这个命令是最基本的也是最常用的命令列表和语法查看命令 第三:cmd命令使用help查看命令列表或“一串带参数的命令 /?"(不…...
数据结构第十六天(二叉树层序遍历/广度优先搜索(BFS)/队列使用)
目录 前言 概述 接口 源码 测试函数 运行结果 往期精彩内容 前言 从前的日色变得慢,车,马,邮件都慢,一生,只够爱一个人。 概述 二叉树的层序遍历可以使用广度优先搜索(BFS)来实现。具体步骤如下&…...
6.s081 学习实验记录(八)Networking
文章目录 network driver network driver //TODO...
图解贝塞尔曲线生成原理
贝塞尔曲线是一种在计算机图形学中广泛使用的参数曲线,主要用于二维图形应用程序中。它是由法国工程师皮埃尔贝塞尔在1962年提出的,主要用于汽车车身设计。贝塞尔曲线的主要特点是,只要确定了控制点,就可以生成一条平滑的曲线。 …...
租房招聘|在线租房和招聘平台|基于Springboot的在线租房和招聘平台设计与实现(源码+数据库+文档)
在线租房和招聘平台目录 目录 基于Springboot的在线租房和招聘平台设计与实现 一、前言 二、系统功能设计 三、系统实现 1、房屋管理 2、招聘管理 3、平台资讯管理 4、平台资讯类型管理 四、数据库设计 1、实体ER图 六、论文参考 七、最新计算机毕设选题推荐 八、源…...
简单试验:用Excel进行爬虫
文章目录 Excel的版本具体操作实例从网站上爬取工商银行的汇率Excel的版本 office 2016,2019,365这几个版本都可以 具体操作 #mermaid-svg-NlIVMivGoJbdyWW0 {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-NlIVMi…...
SQL 精讲-MySql 常用函数,MySQL语句精讲和举例
FORMAT(数值,保留位数) 四舍五入 SELECT *,FORMAT(score/3,2) from studentROUND(数值,保留位数) 四舍五入 SELECT ROUND(score/3,2) from studentCONCAT(字符串 1,字符串 2) 字符串拼接 SELECT CONCAT(customer_name, (,address,)) from mt_customerLEFT(字符串,长度) 截取…...
nlp中如何数据增强
在自然语言处理(NLP)中,数据增强是一种常用的技术,旨在通过对原始文本进行一系列变换和扩充,生成更多多样化的训练数据。这有助于提高模型的泛化能力和鲁棒性。下面是一些常见的数据增强方法在NLP中的应用:…...
python:xml.etree,用 xmltodict 转换为json数据,生成jstree所需的文件
请参阅:java : pdfbox 读取 PDF文件内书签 或者 python:从PDF中提取目录 请注意:书的目录.txt 编码:UTF-8,推荐用 Notepad 转换编码。 xml 是 python 标准库,在 D:\Python39\Lib\xml\etree pip install …...
C#log4net日志保存到Sqlserver数据库表(16)
要将log4net的日志保存到SQL Server数据库表中,你需要配置log4net使用一个数据库追加器(appender),通常是AdoNetAppender。以下是一个示例配置,展示如何将log4net的日志输出配置为写入SQL Server数据库表。 首先&…...
SpringCloud-Nacos集群搭建
本文详细介绍了如何在SpringCloud环境中搭建Nacos集群,为读者提供了一份清晰而详尽的指南。通过逐步演示每个关键步骤,包括安装、配置以及Nginx的负载均衡设置,读者能够轻松理解并操作整个搭建过程。 一、Nacos集群示意图 Nacos࿰…...
第十五届蓝桥杯全国软件和信息技术专业人才大赛个人赛(软件赛)软件测试组竞赛规则及说明
第十五届蓝桥杯全国软件和信息技术专业人才大赛个人赛 (软件赛)软件测试组竞赛规则及说明 目录...
【算法与数据结构】496、503、LeetCode下一个更大元素I II
文章目录 一、496、下一个更大元素 I二、503、下一个更大元素II三、完整代码 所有的LeetCode题解索引,可以看这篇文章——【算法和数据结构】LeetCode题解。 一、496、下一个更大元素 I 思路分析:本题思路和【算法与数据结构】739、LeetCode每日温度类似…...
当AGI遇到人形机器人
为什么人类对人形机器人抱有执念 人形机器人是一种模仿人类外形和行为的机器人,它的研究和开发有着多方面的目的和意义。 人形机器人可以更好地适应人类的环境和工具。人类的生活和工作空间都是根据人的尺寸和动作来设计的,例如门、楼梯、桌椅、开关等…...
Pytorch卷积层原理和示例 nn.Conv1d卷积 nn.Conv2d卷积
内容列表 一,前提 二,卷积层原理 1.概念 2.作用 3. 卷积过程 三,nn.conv1d 1,函数定义: 2, 参数说明: 3,代码: 4, 分析计算过程 四,nn.conv2d 1, 函数定义 2, 参数: 3, 代码 4, 分析计算过程 …...
Qt 实现无边框窗口1.0
目录 项目需求: 1、没有边框; 2、点击windows系统的状态栏的程序运行图标可实现最大最小化; 3、可以移动窗口; 项目实现: 1、实现 无边框 2、实现 点击windows系统的状态栏的程序运行图标可实现最大最小化 3、实现 窗…...
Flume(二)【Flume 进阶使用】
前言 学数仓的时候发现 flume 落了一点,赶紧补齐。 1、Flume 事务 Source 在往 Channel 发送数据之前会开启一个 Put 事务: doPut:将批量数据写入临时缓冲区 putList(当 source 中的数据达到 batchsize 或者 超过特定的时间就会…...
静态时序分析:SDC约束命令set_clock_transition详解
相关阅读 静态时序分析https://blog.csdn.net/weixin_45791458/category_12567571.html?spm1001.2014.3001.5482 在静态时序分析:SDC约束命令create_clock详解一文的最后,我们谈到了针对理想(ideal)时钟,可以使用set_clock_transition命令直…...
web 发展阶段 -- 详解
1. web 发展阶段 当前处于 移动 web 应用阶段。也是个风口(当然是针对有能力创业的人来说的),如 抖音、快手就是这个时代的产物。 2. web 发展阶段引出前后端分离的过程 2.1 传统开发方式 2.2 前后端分离模式 衍生自移动 web 应用阶段。 3.…...
ABAP设计模式之---“简单设计原则(Simple Design)”
“Simple Design”(简单设计)是软件开发中的一个重要理念,倡导以最简单的方式实现软件功能,以确保代码清晰易懂、易维护,并在项目需求变化时能够快速适应。 其核心目标是避免复杂和过度设计,遵循“让事情保…...
windows系统MySQL安装文档
概览:本文讨论了MySQL的安装、使用过程中涉及的解压、配置、初始化、注册服务、启动、修改密码、登录、退出以及卸载等相关内容,为学习者提供全面的操作指导。关键要点包括: 解压 :下载完成后解压压缩包,得到MySQL 8.…...
深入浅出Diffusion模型:从原理到实践的全方位教程
I. 引言:生成式AI的黎明 – Diffusion模型是什么? 近年来,生成式人工智能(Generative AI)领域取得了爆炸性的进展,模型能够根据简单的文本提示创作出逼真的图像、连贯的文本,乃至更多令人惊叹的…...
嵌入式学习之系统编程(九)OSI模型、TCP/IP模型、UDP协议网络相关编程(6.3)
目录 一、网络编程--OSI模型 二、网络编程--TCP/IP模型 三、网络接口 四、UDP网络相关编程及主要函数 编辑编辑 UDP的特征 socke函数 bind函数 recvfrom函数(接收函数) sendto函数(发送函数) 五、网络编程之 UDP 用…...
书籍“之“字形打印矩阵(8)0609
题目 给定一个矩阵matrix,按照"之"字形的方式打印这个矩阵,例如: 1 2 3 4 5 6 7 8 9 10 11 12 ”之“字形打印的结果为:1,…...
2025 后端自学UNIAPP【项目实战:旅游项目】7、景点详情页面【完结】
1、获取景点详情的请求【my_api.js】 // 引入公共的请求封装 import http from ./my_http.js// 登录接口(适配服务端返回 Token) export const login async (code, avatar) > {const res await http(/login/getWXSessionKey, {code,avatar}); };//…...
Java多线程从入门到精通
一、基础概念 1.1 进程与线程 进程是指运行中的程序。 比如我们使用浏览器,需要启动这个程序,操作系统会给这个程序分配一定的资源(占用内存资源)。 线程是CPU调度的基本单位,每个线程执行的都是某一个进程的代码的某…...
Linux 中替换文件中的某个字符串
如果你想在 Linux 中替换文件中的某个字符串,可以使用以下命令: 1. 基本替换(sed 命令) sed -i s/原字符串/新字符串/g 文件名示例:将 file.txt 中所有的 old_text 替换成 new_text sed -i s/old_text/new_text/g fi…...
动态生成element-plus的scss变量;SCSS中实现动态颜色变体生成
文章目录 一、动态css变量1.生成内容2.动态生成css变量2.1新增_color-utils.scss(不推荐)2.2新增_color-utils.scss(推荐)2.3theme.scss引入使用 一、动态css变量 1.生成内容 在我们修改element-plus主题色时候,会自…...
稻米分类和病害检测数据集(猫脸码客第237期)
稻米分类图像数据集:驱动农业智能化发展的核心资源 引言 在全球农业体系中,稻米作为最关键的粮食作物之一,其品种多样性为人类饮食提供了丰富选择。然而,传统稻米分类方法高度依赖人工经验,存在效率低、主观性强等缺…...
