Linux系统移植:uboot 启动 Linux

举报
JeckXu666 发表于 2022/02/21 00:01:20 2022/02/21
【摘要】 文章目录 Linux系统移植:uboot 启动 Linux一、从 EMMC 启动 Linux 系统二、从网络启动 Linux 系统 Linux系统移植:uboot 启动 Linux 本...

Linux系统移植:uboot 启动 Linux

本节从 uboot 启动 Linux,我们用两种方法来启动,一种从 EMMC 读取 Linux 镜像来启动 Linux 内核,另外一种则通过局域网从 ubuntu 下读取镜像来启动

一、从 EMMC 启动 Linux 系统

EMMC 启动就是将编译出来的 Linux 镜像文件 zImage 和设备树文件保存在 EMMC中,uboot 从 EMMC 中读取这两个文件并启动,保存通过软件或者 uboot 来保存,此处开发板已经将 zImage 文件和设备树文件烧写到了 EMMC 中,所以直接读取来测试

先检查一下 EMMC 的分区 1 中有没有 zImage 文件和设备树文件

ls mmc 1:1

  
 
  • 1

可以看到设备树和镜像文件:

20220219172140

然后设置 bootargs 和 bootcmd 两个环境变量来启动 linux 内核

setenv bootargs 'console=ttymxc0,115200 root=/dev/mmcblk1p2 rootwait rw'
setenv bootcmd 'mmc dev 1; fatload mmc 1:1 80800000 zImage; fatload mmc 1:1 83000000 imx6ull-14x14-emmc-4.3-800x480-c.dtb; bootz 80800000 - 83000000;'
saveenv

  
 
  • 1
  • 2
  • 3

保存后重新启动 uboot,可以看到 linux 启动成功

20220219172721

开发板成功启动 linux

20220219172803

二、从网络启动 Linux 系统

设置 linux 从网络启动,就是将 linux 镜像文件和根文件系统都放到 Ubuntu 下某个指定的文件夹中,然后开发板通过 nfs 或者 tftp 从 Ubuntu 中下载 zImage 和设备树文件(根文件系统的话也可以通过 nfs 挂载,学到再说),从网络启动 linux 系统一个特点就是方便调试,修改 linux 后不用下载到 emmc 再调试,直接拷贝到 linux 进行调试

首先将 zImage 和设备树文件放到 Ubuntu 下的 tftp 目录中,然后将文件权限都设置成 777

tftp 操作参考之前写的 uboot 常用指令里面的网络操作指令:Linux系统移植:U-Boot常用指令(上)

20220219180920

然后设置服务器 ip 以及 bootargs 和 bootcmd 这两个环境变量读取对应文件

setenv serverip 192.168.10.66
setenv bootargs 'console=ttymxc0,115200 root=/dev/mmcblk1p2 rootwait rw'
setenv bootcmd 'tftp 80800000 zImage; tftp 83000000 imx6ull-alientek-emmc.dtb; bootz 80800000 - 83000000'
saveenv

  
 
  • 1
  • 2
  • 3
  • 4

重新启动 uboot,可以看到 uboot 加载文件后成功启动 linux:

20220219183927

到此移植 uboot 基本完成,一般 uboot 只要解决串口、NAND、EMMC 或 SD 卡、网络和 LCD 驱动就行了,主要目的是启动 Linux 内核,不需要考虑太多的外设驱动

文章来源: blog.csdn.net,作者:JeckXu666,版权归原作者所有,如需转载,请联系作者。

原文链接:blog.csdn.net/qq_45396672/article/details/123022142

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。