一、移植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.c
  • uboot 中每个板子都有一个对应的文件夹来存放板级文件,比如开发板上外设驱动文件等

(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)内核启动后构建根文件系统

uboot和linux内核移植流程简述相关推荐

  1. uboot和Linux内核移植

    这篇文章是一个读者昨晚发给我的,文章很长,里面的细节也比较多,但是微信公众号只能发 50000 字的文章,如果想阅读全文. 请发送「 uboot和Linux内核移植 」到公众号后台获取下载链接. 这篇 ...

  2. NXP(Freescale) QorIQ T2080 u-boot与linux内核移植

    作者 QQ群:852283276 微信:arm80x86 微信公众号:青儿创客基地 B站:主页 https://space.bilibili.com/208826118 参考 T2080RDB-PC ...

  3. 如何将u-boot和Linux内核移植到ADSP-SC589上

    注意:在一切工作开始之前,一定要保证PC端使用的是Ubuntu x86 32-bit,14.04版本的操作系统,否则可能会出现各种莫名其妙的问题. 1 开发环境设置 1.1 配置Linux主机 sud ...

  4. uboot和linux内核移植,Uboot与kernel移植总结

    设置uimage入口:由于一个可执行的Image必须有一个入口点,并且只能有一个全局入口,通常这个入口放在ROM(Flash)的0x0地址,因此,必须通知编译器以使其知道这个入口,该工作可通过修改连接 ...

  5. Linux内核移植流程 应该怎么开始着手

    1.首先要找到该处理器核的芯片手册,不像SOC芯片手册会介绍SOC的外设资源,处理器核芯片手册介绍的是处理器内部逻辑以及特性,手册需要重点关注的几点有: (1)地址空间管理,包括上电取指地址(一般存储 ...

  6. T2080 U-BOOT与OS内核移植 准备篇(二)——开发调试环境入门(Trace32、QorIQ Linux SDK和QCVS)

    T2080 U-BOOT与OS内核移植 准备篇(二)--开发调试环境入门(Trace32.QorIQ Linux SDK和QCVS) 一.Trace32 1. 工具配置和软件安装 2. 使用PRACT ...

  7. uboot启动linux内核流程分析(三)

    uboot bootz命令流程图 Uboot启动linux内核是使用bootz命令,bootz是如何启动linux内核?uboot的生命周期是怎么终止的?linux是如何启动? 启动linux内核的时 ...

  8. 【正点原子Linux连载】第三十七章 Linux内核移植 -摘自【正点原子】I.MX6U嵌入式Linux驱动开发指南V1.0

    1)实验平台:正点原子阿尔法Linux开发板 2)平台购买地址:https://item.taobao.com/item.htm?id=603672744434 2)全套实验源码+手册+视频下载地址: ...

  9. 6410 linux内核移植

    linux内核移植(6410) linux内核移植一,硬件环境:友善之臂 tiny6410 开发板开发主机Linux系统:fedora 10 编译器:arm-linux-gcc-4.5.1 二,内核实 ...

最新文章

  1. 如何在机器学习的框架里实现隐私保护?
  2. c语言删除偶数号节点,第十二周作业
  3. Apache2.2中文手册
  4. 2018-03-03-解决win下凭据删除不干净而无法登录共项目录的问题
  5. 私人仓库免费后本地git和远程github首次连接
  6. select 1 from table
  7. muduo网络库学习(八)事件驱动循环线程池EventLoopThreadPool
  8. 服务器的类型及作用是什么,按用途分类,服务器有哪些? - 问答库
  9. springboot的aop里的 @Pointcut()里的配置
  10. 在内核中如何获得系统的日期和时间
  11. 浏览其中的【navigator】对象的【userAgent】判断浏览器。
  12. c语言第三章作业3.13,2012年计算机等级二级C语言章节习题及答案(13)
  13. mysql 自动加上编号
  14. 网易整合邮箱和博客 可通过邮件更新博客日志
  15. 设计模式(Design Patterns)
  16. ubuntu 使用gspca安装摄像头
  17. 有必要考国二mysql_国二证有用吗
  18. 【数据库--db4o 介绍】
  19. 英伟达发布3款RTX 20系列游戏显卡,性能提升6倍让游戏更像电影
  20. 2020年如何运营抖音、快手、视频号3个短视频平台

热门文章

  1. php fpm 日志级别,php-fpm的pool、php-fpm慢执行日志、 php-fpm定义open_basedir、php-fpm进程管理...
  2. CSS-微信小程序-部分ios机型按钮border丢失
  3. 解决电脑浏览器如何全屏截图(谷歌、Edge)
  4. BMA250E 加速度传感器和插接板,用于移动消费类电子产品
  5. 多线程——python
  6. 微机原理跟计算机三级哪个科目相关,2015全国计算机三级考试各科目了解
  7. 国际象棋的规则(转)
  8. UVCCamera OpenGL 添加时间戳水印
  9. EDF and LLF
  10. zookeeper digest授权方式