海思开发笔记:(二)海思Hi3519A编译内核

参考海思官方文档:《Hi3519AV100╱Hi3556AV100 开发环境用户指南.pdf》、~/3519A/Hi3519AV100_SDK_V2.0.2.0/osdrv/opensource/kernel/readme_cn.txt

1、下载v4.9.37版本的内核
  • 进入网站:www.kernel.org
  • 选择HTTP协议资源的https://www.kernel.org/pub/选项,进入子页面
  • 选择linux/菜单项,进入子页面
  • 选择kernel/菜单项,进入子页面
  • 选择v4.x/菜单项,进入子页面
  • 下载linux-4.9.37.tar.gz
2、给linux内核打补丁
  • 将下载的 linux-4.9.37.tar.gz 存放到 osdrv的opensource/kernel目录中
  • 在linux服务器中进入 osdrv 的根目录,执行如下命令
cd opensource/kernel
tar -zxf linux-4.9.37.tar.gz
mv linux-4.9.37 linux-4.9.y
cd linux-4.9.y
patch -p1 < ../linux-4.9.37.patch
cd ../
tar -czf linux-4.9.y.tgz linux-4.9.y
3、内核配置
  • 需要先安装make工具:apt install make
  • 需要安装依赖libncurses5-dev:apt install libncurses5-dev
  • 不安装依赖运行make menuconfig会报错:fatal error: curses.h: No such file or directory
  • 官方文档提示对内核不熟悉不要修改默认配置,但可以新增模块
source /etc/profile
cd linux-4.9.y
cp arch/arm/configs/hi3519av100_smp_nand_defconfig .config
make ARCH=arm CROSS_COMPILE=arm-himix200-linux- menuconfig
4、编译内核
  • 编译前需安装镜像生成工具
  • 编译好的镜像文件:arch/arm/boot/uImage
# 避免编译时找不到相应交叉编译工具
source /etc/profile
# 安装镜像制作工具,否则会报错:"mkimage" command not found - U-Boot images will not be built
sudo apt-get install u-boot-tools
# 编译内核
make ARCH=arm CROSS_COMPILE=arm-himix200-linux- uImage -j 20
# 出错后需清理并重新编译
make ARCH=arm CROSS_COMPILE=arm-himix200-linux- clean
make ARCH=arm CROSS_COMPILE=arm-himix200-linux- menuconfig
make ARCH=arm CROSS_COMPILE=arm-himix200-linux- uImage  -j 20
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容