300字范文,内容丰富有趣,生活中的好帮手!
300字范文 > uboot和linux内核移植流程简述

uboot和linux内核移植流程简述

时间:2019-03-07 23:47:05

相关推荐

uboot和linux内核移植流程简述

一、移植uboot流程

1、从半导体芯片厂下载对应的demo,然后编译测试demo版的uboot

开发板基本都是参考半导体厂商的 dmeo 板,而半导体厂商会在他们自己的开发板上移植好 uboot、linux kernel 和 rootfs 等,最终制作好 BSP包提供给用户。我们可以在官方提供的 BSP 包的基础上添加我们的板子,也就是俗称的移植。

一般 uboot 中需要解决串口、NAND、EMMC 或 SD 卡、网络和 LCD 驱动,因为 uboot

的主要目的就是启动 Linux 内核,所以不需要考虑太多的外设驱动。

2、在uboot中添加自己的硬件

(1)添加默认配置文件

在include/configs/ 目录下创建配置文件 (复制mx6ull_14x14_evk_emmc_defconfig,然后重命名) 。

(2)添加开发板对应的头文件

目 录 include/configs 下 添 加开发板对应的头文件( 复 制include/configs/mx6ullevk.h,并重命名)mx6ull_alientek_emmc.h 文件中基本都是“CONFIG_”开头的宏定义,这也说明 mx6ull_alientek_emmc.h 文件的主要功能就是配置或者裁剪 uboot。如果需要某个功能的话就在里面添加这个功能对应的 CONFIG_XXX 宏即可,如果不需要某个功能的话就删除掉对应的宏即可

(3)添加开发板对应的板级文件夹

复制 board/freescale / mx6ullevk,将其重命名 mx6ull_alientek_emmc,将 其 中 的 mx6ullevk.c 文 件 重 命 名 为mx6ull_alientek_emmc.cuboot 中每个板子都有一个对应的文件夹来存放板级文件,比如开发板上外设驱动文件等

(4)修改开发板对应的板级文件夹内容

修改 mx6ull_alientek_emmc 目录下的 Makefile修改 镜像配置文件 mx6ull_alientek_emmc 目录下的 imximage.cfg修改 mx6ull_alientek_emmc 目录下的 Kconfig

(5)修改U-Boot 图形配置文件

(6)修改相关驱动(LCD 网口)

(7)编译验证

(8)设置bootcmd 和 和 bootargs 环境变量

二、linux内核kernel移植流程

1. 在 Linux 内核中查找可以参考的板子,编译出参考板子对应的 zImage 和.dtb 文件

2. 使用参考板子的 zImage 文件和.dtb 文件在我们所使用的板子上启动 Linux 内核

能启动的话就万事大吉不能启动需要调试 Linux 内核,Linux 内核启动用到的外设为,DRAM(Uboot 都初始化好的)和串口

3.添加开发板信息

(1)添加开发板默认配置文件

arch/arm/configs 目录下的 imx_v7_mfg_defconfig重新复制一份 ,命名为 imx_alientek_emmc_defconfig

(2)添加开发板对应的设备树文件

入目录 arch/arm/boot/dts 中,复制一份 imx6ull-14x14-evk.dts,然后将其重命名为 imx6ull-alientek-emmc.dts

(3)修改相应的驱动

NAND Flash、EMMC、SD 卡等驱动官方的 Linux 内核都是已经提供好了,基本不会出问题。重点是网络驱动

(4)内核启动后构建根文件系统

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。