海思3559kernel移植(一):一路next的默认模式

简介: 安装环境篇过后的sdk包里实际上并没有kernel的源码

前言

 安装环境篇过后的sdk包里实际上并没有kernel的源码,这点和开发说明文档里是有出入的,不过没关系,sdk包里的readme还是给了我们方向

 主要参考两个文档

XXX/Hi3559AV100R001C02SPC020/01.software/board/Hi3559AV100_SDK_V2.0.2.0/osdrv/readme_cn.txt;
 XXX/Hi3559AV100R001C02SPC020/01.software/board/Hi3559AV100_SDK_V2.0.2.0/osdrv/opensource/kernel/readme_cn.txt。

一.源码下载

 1)进入网站:www.kernel.org

 2)选择HTTP协议资源的https://www.kernel.org/pub/选项,进入子页面

 3)选择linux/菜单项,进入子页面

 4)选择kernel/菜单项,进入子页面

 5)选择v4.x/菜单项,进入子页面

 6)下载linux-4.9.37.tar.gz

二.patch补丁

 1)将下载的 linux-4.9.37.tar.gz 存放到 osdrv的opensource/kernel目录中

 2)在linux服务器中进入 osdrv 的根目录,执行如下命令:

make atf

三.配置内核

 步骤 1 手动拷贝.config 文件:

cp arch/arm64/configs/hi3559av100_arm64_xxx_defconfig .config

 (注:当启动介质是eMMC、 UFS、 SPI-Nor Flash或SPI-NAND Flash时, 使用hi3559av100_arm64_big_little_defconfig;当启动介质是NAND Flash时, 使用hi3559av100_arm64_big_little_nand_defconfig)

 步骤 2 用户通过“make menuconfig” 进行内核配置:

make ARCH=arm64 CROSS_COMPILE=aarch64-himix100-linux- menuconfig

 步骤 3 选择需要的模块。

 步骤 4 选择完毕后,保存并退出。

四.编译内核

make ARCH=arm64 CROSS_COMPILE=aarch64-himix100-linux- clean
make ARCH=arm64 CROSS_COMPILE=aarch64-himix100-linux- menuconfig
make ARCH=arm64 CROSS_COMPILE=aarch64-himix100-linux- uImage

五.生成镜像

 进入 osdrv/opensource/arm-trusted-firmware/ arm-trusted-firmware 目录,执行 mk.sh 脚本

cd …/…/arm-trusted-firmware/arm-trusted-firmware
./mk.sh

 当 linux 目录有变更时,需要修改 mk.sh 中内核路径, 使其指向正确的 linux 目录。

 在 osdrv/opensource/ arm-trusted-firmware/arm-trusted-firmware/build/hi3559av100/debug

目录下,生成的 fip.bin 文件就是 ATF+kernel 的镜像 uImage。


相关文章
|
Web App开发 存储 Linux
Linux(33)Rockchip RK3568 Ubuntu22.04上通过SSH运行Qt程序和关闭Chrome的密钥提示
Linux(33)Rockchip RK3568 Ubuntu22.04上通过SSH运行Qt程序和关闭Chrome的密钥提示
1382 0
|
网络协议 Linux
音视频学习之rtsp推拉流学习2(流媒体服务器ZLMediaKit)
音视频学习之rtsp推拉流学习2(流媒体服务器ZLMediaKit)
2089 0
|
虚拟化
【错误记录】VMware 虚拟机报错 ( 虚拟化性能计数器需要至少一个可正常使用的计数器, 模块 “VPMC“ 启动失败 , 未能启动虚拟机 )
【错误记录】VMware 虚拟机报错 ( 虚拟化性能计数器需要至少一个可正常使用的计数器, 模块 “VPMC“ 启动失败 , 未能启动虚拟机 )
8472 0
【错误记录】VMware 虚拟机报错 ( 虚拟化性能计数器需要至少一个可正常使用的计数器, 模块 “VPMC“ 启动失败 , 未能启动虚拟机 )
|
存储 人工智能 编译器
【AI系统】昇腾数据布局转换
华为昇腾NPU采用独特的NC1HWC0五维数据格式,旨在优化AI处理器的矩阵乘法运算和访存效率。此格式通过将C维度分割为C1份C0,适应达芬奇架构的高效计算需求,支持FP16和INT8数据类型。此外,昇腾还引入了NZ分形格式,进一步提升数据搬运和矩阵计算效率。AI编译器通过智能布局转换,确保在不同硬件上达到最优性能。
738 3
qml import 自定义模块 cmake
qml import 自定义模块 cmake
835 1
|
Linux Perl
在Linux中,如何停止正在运行的进程?
在Linux中,如何停止正在运行的进程?
|
中间件 Linux 开发工具
海思3559U-Boot移植(一):一路next的默认模式
Hi3559AV100 单板的 Bootloader 采用 U-boot。当选用的外围芯片的型号与单板上外围芯片的型号不同时,需要修改 U-boot 配置文件,主要包括存储器配置、 管脚复用。sdk包里有uboot的源码,可以进行修改后编译
1044 0
海思3559U-Boot移植(一):一路next的默认模式
|
存储 缓存 Unix
Cmake 链接外部库:如何在项目中使用外部库和头文件
Cmake 链接外部库:如何在项目中使用外部库和头文件
1495 0
|
程序员 开发工具 Windows
编程必备,程序员应该都知道的7款文本编辑器
正如一个作家需要一个文字处理器来写故事,一个艺术家需要画布来创作,同样的,如果想编程,你会需要一个地方来写代码。程序员在哪里编写代码?最常见的就是使用文本编辑器了吧。下文列出了 7 个主流的文本编辑器,不出意外的话,开发人员应该都有所了解,至少听说过。7款文本编辑器,总有一款会适合你。
9808 0
|
Linux 网络安全 内存技术
海思3559平台搭建:简单烧写说明
在板子上存在uboot的前提下进行如下操作,如果板子上从未烧写过uboot,就需要使用 HiTool 工具进行烧写。HiTool 工具位置放在 Hi3559A***/01.software/pc/HiTool,使用说明请参见该目录下的《HiBurn工具使用指南》
755 0
海思3559平台搭建:简单烧写说明