海思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。


相关文章
|
6月前
|
Linux 异构计算
HMI-66-【MeterDisplay for Arm Linux】液晶仪表Arm Linxu迁移
先说结论,虽然移植成功,但是显示效果不理想,可以直接看和面的视频。先说说做了什么吧。
HMI-66-【MeterDisplay for Arm Linux】液晶仪表Arm Linxu迁移
|
4月前
|
存储 Ubuntu Linux
ARM-Linux开发与MCU开发的不同之处分析
ARM-Linux开发与MCU开发的不同之处分析
22 0
|
6月前
|
编解码 Linux 编译器
HMI-65-【MeterDisplay for Arm Linux】液晶仪表Arm Linxu迁移环境配置
额,要开新坑了,最近这几篇都将记录下将虚拟仪表迁移到Arm Linux 开发板上面。硬件基本信息如下:
|
10月前
|
缓存 Linux 芯片
Linux移植:正点原子阿尔法IMX6ULL开发板Linux内核源码移植详细步骤(4.1.15版本内核)(中)
Linux移植:正点原子阿尔法IMX6ULL开发板Linux内核源码移植详细步骤(4.1.15版本内核)(中)
552 0
Linux移植:正点原子阿尔法IMX6ULL开发板Linux内核源码移植详细步骤(4.1.15版本内核)(中)
|
10月前
|
Ubuntu Linux Shell
Linux移植:正点原子阿尔法IMX6ULL开发板Linux内核源码移植详细步骤(4.1.15版本内核)(上)
Linux移植:正点原子阿尔法IMX6ULL开发板Linux内核源码移植详细步骤(4.1.15版本内核)
354 0
|
10月前
|
Ubuntu Linux 网络架构
Linux移植:正点原子阿尔法IMX6ULL开发板Linux内核源码移植详细步骤(4.1.15版本内核)(下)
Linux移植:正点原子阿尔法IMX6ULL开发板Linux内核源码移植详细步骤(4.1.15版本内核)(下)
338 0
|
12月前
|
Windows
nxp官方uboot移植到野火开发板PRO(无任何代码逻辑的修改)
nxp官方uboot移植到野火开发板PRO(无任何代码逻辑的修改)
109 0
|
中间件 Linux 开发工具
海思3559U-Boot移植(一):一路next的默认模式
Hi3559AV100 单板的 Bootloader 采用 U-boot。当选用的外围芯片的型号与单板上外围芯片的型号不同时,需要修改 U-boot 配置文件,主要包括存储器配置、 管脚复用。sdk包里有uboot的源码,可以进行修改后编译
502 0
海思3559U-Boot移植(一):一路next的默认模式
|
Ubuntu 编译器 Linux
嵌入式linux/鸿蒙开发板(IMX6ULL)开发(九)第一个程序背后的C语言知识
嵌入式linux/鸿蒙开发板(IMX6ULL)开发(九)第一个程序背后的C语言知识
139 0
嵌入式linux/鸿蒙开发板(IMX6ULL)开发(九)第一个程序背后的C语言知识
|
存储 Ubuntu 网络协议
嵌入式linux/鸿蒙开发板(IMX6ULL)开发(三)配置网络环境
嵌入式linux/鸿蒙开发板(IMX6ULL)开发(三)配置网络环境
826 0
嵌入式linux/鸿蒙开发板(IMX6ULL)开发(三)配置网络环境