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.…...
OpenClaw+GLM-4.7-Flash:自动化代码审查
OpenClawGLM-4.7-Flash:自动化代码审查 1. 为什么需要自动化代码审查 作为一个独立开发者,我经常面临一个尴尬局面:在深夜写完代码后直接提交,第二天醒来发现代码中存在明显的逻辑漏洞或风格问题。传统解决方案要么依赖昂贵的Sa…...
C#的[StackTraceHidden]:从堆栈跟踪中隐藏方法
在C#开发中,堆栈跟踪是调试和排查问题的关键工具,但有时某些方法会干扰核心逻辑的追踪。为此,C#引入了StackTraceHidden特性,允许开发者从堆栈中隐藏特定方法,使调试信息更清晰。本文将深入探讨这一特性的应用场景、实…...
避坑指南:思科模拟器做链路聚合时,你可能会遇到的5个报错及解决方法
思科模拟器链路聚合实战:5个典型报错分析与精准排错指南 在Packet Tracer中配置链路聚合时,最令人头疼的往往不是基础配置步骤,而是那些突如其来的报错信息。上周有位学员在CCNA备考群里发了一张截图:%EC-5-CANNOT_BUNDLE2: Fa0/2…...
UE5 GAS调试技巧:巧用ASC的‘Attribute Test’面板,5分钟搞定角色属性配置与验证
UE5 GAS高效调试指南:利用Attribute Test面板快速验证角色属性配置 在虚幻引擎5的游戏开发中,Gameplay Ability System (GAS)作为构建复杂角色能力与属性的核心框架,其调试效率直接影响着RPG类项目的开发进度。本文将深入探讨如何利用Ability…...
ncmdumpGUI+解决网易云音乐NCM文件跨设备播放痛点
ncmdumpGUI解决网易云音乐NCM文件跨设备播放痛点 【免费下载链接】ncmdumpGUI C#版本网易云音乐ncm文件格式转换,Windows图形界面版本 项目地址: https://gitcode.com/gh_mirrors/nc/ncmdumpGUI 问题场景:被加密的音乐自由 想象这样的场景&…...
5G NR PUSCH实战:手把手教你理解Type A/B时域映射与SLIV计算(附避坑指南)
5G NR PUSCH实战:Type A/B时域映射与SLIV计算全解析 从理论到实践:PUSCH时域资源分配的核心逻辑 在5G NR系统中,物理上行共享信道(PUSCH)的时域资源分配直接决定了上行数据传输的效率和可靠性。对于物理层开发工程师而…...
TypeScript——声明合并
声明合并1、接口声明合并2、枚举声明合并3、类声明合并4、命名空间声明合并4.1、命名空间与命名空间合并4.2、 命名空间与函数合并4.3、 命名空间与类合并4.4、 命名空间与枚举合并5、扩充模块声明6、扩充全局声明声明是编程语言中的基础结构,它描述了一个标识符…...
「5 个 Markdown 文件 + 1 句提示词」让 AI 精准重构你的 React 组件 | 附完整模板
这个场景你一定经历过: 你给 ChatGPT/Claude 一个又臭又长的 React 组件,说:"帮我重构一下,让它更清晰。" 结果要么: 改错了交互逻辑,导致功能崩溃改变了接口契约,后端完全适配不了代…...
如何用Java处理地震波?信号滤波算法
常用的地震波信号滤波算法包括傅里叶转换(fft)与频域滤波器、fir滤波器、iir滤波器和中值滤波器一起。. 通过将时域信号转换为频域,java可以通过apache实现特定频率组件的操作 commons math库中的fastfouriertransformer类实现;2.…...
构建智能游戏AI的理想训练场:腾讯王者荣耀AI开放环境全解析
构建智能游戏AI的理想训练场:腾讯王者荣耀AI开放环境全解析 【免费下载链接】hok_env Honor of Kings AI Open Environment of Tencent 项目地址: https://gitcode.com/gh_mirrors/ho/hok_env 强化学习研究如何突破理论到实践的鸿沟?如何在真实游…...
