Linux内核移植

标签: Linux内核移植


一、linux内核移植步骤

1、添加自己开发板默认配置文件

将 arch/arm/configs 目录下的官方配置文件imx_v7_mfg_defconfig_defconfig改为:my_xxx_defconfig

cd arch/arm/configs
cp imx_v7_mfg_defconfig my_xxx_defconfig

2、添加自己开发板设备树文件,并在Makefile文件添加

(1)将 arch/arm/boot/dts 目录下的 imx6ull-14x14-evk.dts改为:my_xxx.dts
(2)arch/arm/boot/dts/Makefile , 找 到 “ dtb-$(CONFIG_SOC_IMX6ULL)”配置项,在此配置项中加入“my_xxx.dtb”

3、编译测试

创建编译脚本如下:

#!/bin/sh
make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- distclean
make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- my_xxx_defconfig
make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- menuconfig
make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- all -j16

二、总结

①、在 Linux 内核中查找可以参考的板子,一般都是半导体厂商自己做的开发板。
②、编译出参考板子对应的 zImage 和.dtb 文件。
③、使用参考板子的 zImage 文件和.dtb 文件在我们所使用的板子上启动 Linux 内核,看能
否启动。
④、如果能启动的话就万事大吉,如果不能启动那就悲剧了,需要调试 Linux 内核。不过
一般都会参考半导体官方的开发板设计自己的硬件,所以大部分情况下都会启动起来。启动
Linux 内核用到的外设不多,一般就 DRAM(Uboot 都初始化好的)和串口。作为终端使用的串口
一般都会参考半导体厂商的 Demo 板。
⑤、修改相应的驱动,像 NAND Flash、EMMC、SD 卡等驱动官方的 Linux 内核都是已经
提供好了,基本不会出问题。重点是网络驱动,因为 Linux 驱动开发一般都要通过网络调试代
码,所以一定要确保网络驱动工作正常。如果是处理器内部 MAC+外部 PHY 这种网络方案的
话,一般网络驱动都很好处理,因为在 Linux 内核中是有外部 PHY 通用驱动的。只要设置好复
位引脚、PHY 地址信息基本上都可以驱动起来。
⑥、Linux 内核启动以后需要根文件系统,如果没有根文件系统的话肯定会崩溃,所以确定 Linux
内核移植成功以后就要开始根文件系统的构建。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/2080.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

题解 | #二叉树的镜像#(这个还是以根节点一个为参数较好)

题解 | #求int型正整数在内存中存储时1的个数# import java.util.Scanner; import java.util.*;// 注意类名必须为 Main, 不要有任何 package xxx 题解 | #字符串最后一个单词的长度# import java.util.Scanner;// 注意类名必须为 Main, 不要有任何 package xxx 信息public …

【FAQ】API6低代码开发问题汇总

参考文档: 低代码开发参考文档: 文档中心:使用低代码进行开发 基于景区模板开发元服务: 文档中心:模板简介 使用API6低代码开发遇到的问题汇总情况如下: 1、低代码环境下,如何实现box-shadow阴影效果的配置&#…

【深入了解PyTorch】PyTorch的安装

【深入了解PyTorch】PyTorch的安装 PyTorch的安装一、PyTorch简介二、PyTorch的安装1. 安装前准备2. 环境配置3. 安装PyTorch4. 验证安装CUDA的安装指南1. 确认GPU兼容性2. 下载CUDA安装程序3. 运行CUDA安装程序4. 配置环境变量5. 验证CUDA安装6. 更新GPU驱动(可选)总结PyTor…

Angular 调试工具(Augury)

目录 1、简介 2、检验代码 3、Angury 本地构建和安装 3.1 添加到Chrome 浏览器: 3.2 添加到Firefox浏览器 4、项目中对应的Npm脚本 5、Augury 三大主要功能 5.1 组件树(Component Tree) 5.1.1 Component Tree 5.2 路由树&#xff0…

带记忆的Transformer模块

MEMORIZING TRANSFORMERS 返回论文和资料目录 论文地址 1.导读 谷歌去年做的一个工作。内容很简单,在Transformer模块中加入了一层记忆层,结果表明这个方法可以帮助模型提高在NLP任务上的表现:generic webtext (C4), math papers (arXiv),…

SSE 和 Websocket 的比较

108. SSE 和 Websocket 的比较 当涉及到实现实时通信的Web应用程序时,两种常见的技术选择是服务器发送事件(Server-Sent Events,SSE)和WebSocket。虽然它们都可以用于实现实时通信,但它们在工作原理、适用场景和功能上…

Generative Adversarial Network

Goodfellow,2014年 文献阅读笔记--GAN--Generative Adversarial NetworkGAN的原始论文-组会讲解_gan英文论文_Flying Warrior的博客-CSDN博客 启发:如何看两个数据是否来自同一个分布? 在统计中,two sample test。训练一个二分类的分类器,如果能分开这两个数据,说明来自…

HTML <object> 标签

实例 向 HTML 代码添加一个对象&#xff1a; <object classid"clsid:F08DF954-8592-11D1-B16A-00C0F0283628" id"Slider1" width"100" height"50"><param name"BorderStyle" value"1" /><param…

数据库复习

select 查询 字段别名用 as (可以为中文) 例如 select distinct 关键字 去重复值 例如select distinct deptno from test where 条件过滤 and or 和 not运算符 and同时成立 or有一个成立就可以了 优先级and>or>not不符合&#xff08;!&#xff09; in 匹配多个值 selec…

Windows上查看服务器上tensorboad内容

文章目录 前言一、SSH的设置二、tensorboard命令 前言 本篇文章是针对于局域网内的服务器的tensorboard可视化&#xff0c;由于设置方式稍微有点复杂&#xff0c;导致我每次隔了一段时间之后&#xff0c;就不知道该怎么查看tensorboard了&#xff0c;每次都要百度搜一大堆资料…

SpringCloud系列(十六)[分布式搜索引擎篇] - DSL 查询及相关性算分的学习 (部分)

在SpringCloud系列&#xff08;十五&#xff09;[分布式搜索引擎篇] - 结合实际应用场景学习并使用 RestClient 客户端 API这篇文章中我们已经对 RestClient 有了初步的了解, 并且已经将一些数据进行了存储, 但是这并不是我们学习 ElasticSearch 的目的, ElasticSearch 最擅长的…

SQL中的where语句的使用

WHERE语句用于在SQL查询中过滤行&#xff0c;只返回满足特定条件的行。下面是一些常用的WHERE语句的例子&#xff0c;假设有三个表&#xff1a;users&#xff0c;products和orders。 1. 简单的WHERE子句 SELECT * FROM users WHERE age > 18; 这条语句将从users表中选择所…

物业管理微信小程序的设计与开发

1.物业管理微信小程序实现的功能 该微信小程序包含小程序端&#xff0c;后台管理端以及后端。 小程序端提供给业主使用&#xff0c;实现的功能模块有公告通知、访客预约、车位申请、装修申请、一键报修、报修单、意见反馈、缴费通知、一键求助、个人信息管理&#xff1b; 后台…

arcgis建筑物平均高度

主要用到相交和属性表的汇总功能。 路网 建筑物栋 相交结果 右键&#xff0c;bh列汇总 原始块有392&#xff0c;这里只有389&#xff0c;说明有的地块没有建筑&#xff0c;所以应该将表连接到原始街区上检查是否合理&#xff0c;以及随机验证一个结果是否正确。 连接结果&…

使用matlab里的集成树进行数据回归预测

当使用MATLAB时&#xff0c;您可以使用集成学习方法中的决策树来进行数据回归预测。决策树回归是一种基于树状结构的机器学习算法&#xff0c;它通过对训练数据进行分层次的决策来进行预测连续值的输出。 MATLAB提供了一个称为RegressionTree的集成树回归器。以下是一个使用MA…

无涯教程-Javascript - 变量声明

编程语言的最基本特征之一是它支持的数据类型&#xff0c;这些是可以用编程语言表示和操作的值的类型。 JavaScript允许您使用三种原始数据类型- 数字(Numbers)类型 - 如123、120.50等 字符串(Strings)类型 - 如"hello would"等 布尔值(Boolean)类…

中高级前端必须掌握的package.json最新最全指南

前言 package.json 是一个用于描述和配置项目的重要文件&#xff0c;其中包含了许多字段和选项&#xff0c;可以影响项目的构建、依赖管理、脚本执行等方面。了解这些字段可以帮助开发者更好地理解和控制项目的行为。 package.json对于大部分前端开发者来说&#xff0c;知道d…

spring boot maven 手动打入外部jar包依赖

有时候拿到第三方sdk是&#xff0c;以前都放在项目的某个目录下&#xff0c;然后通过项目路径去引入非常麻烦&#xff0c;最近找到了一个方法&#xff0c;可以手动将外部的jar包导入到本地的maven仓库中&#xff0c;这样你就可以像其他依赖一样正常使用了。 命令如下 mvn inst…

Spring6.0 源码部署

环境依赖 Git JDK17 Gradle&#xff08;版本号需要和Spring源码中的版本一致&#xff09; 源码下载 官网地址 源码配置修改 maven { url "https://maven.aliyun.com/repository/central" }gradle-wrapper.properties #distributionUrlhttps\://services.gradle…

无虚拟 DOM 版 Vue 进行到哪一步了?

前言 就在一年前的 Vue Conf 2022&#xff0c;尤雨溪向大家分享了一个非常令人期待的新模式&#xff1a;无虚拟 DOM 模式&#xff01; 我看了回放之后非常兴奋&#xff0c;感觉这是个非常牛逼的新 feature&#xff0c;鉴于可能会有部分人还不知道或者还没听过什么是 Vue 无虚…