sd卡烧录U-Boot和Linux内核镜像,设备树以及根文件系统

本文详细介绍了如何在Ubuntu环境下制作嵌入式SD/TF启动卡,包括分区设置、格式化、UBOOT烧录、内核烧录以及根文件系统的烧录过程,同时涉及了Bootargs和mmcargs的配置。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目录

1.基于Ubuntu的linux环境制作嵌入式SD/TF启动卡

1.1分区设置

 1.2格式化分区

2.SD卡烧录uboot

3.SD卡烧录内核

 4.sd卡烧录根文件系统


 

1.基于Ubuntu的linux环境制作嵌入式SD/TF启动卡

1.1分区设置

首先查看设备的挂载情况

df -l

 有挂载的设备的话取消挂载

sudo umount /dev/xxx

 再次查看系统设备情况

sudo fdisk -l

执行分区命令:

sudo fdisk /dev/sdb 

p #输入p查看分区

d #输入d删除原有分区

d #输入d确认分区是否删除成功

n #输入n创建新分区

p #输入p选择分区空间

输入分区数字

输入一个地址 16384

+3G

w #输入w保存分区

查看刚才的分区情况

sudo lsblk  

 1.2格式化分区

使用Linux系统自带的格式化工具

sudo mkfs.ext4 /dev/sdb2

sudo mkfs.ext4 /dev/sdb1

2.SD卡烧录uboot

sudo dd if=uboot-imx of=/dev/sdb bs=512 seek=2 conv=sync

3.SD卡烧录内核

mkdir tmpdir                        # 挂载点必须存在
sudo mount /dev/sdb1 tmpdir/        # 将外部设备 /dev/sdb1 挂载到 tmpdir         
 
sudo cp zImage imx6null.dtb tmpdir/        # 将linux内核拷贝到 /dev/sdb1
 
sudo umount tmpdir                # 使用完以后,取消挂载

 sd卡加载内核

bootcmd=run findfdt;run findtee;mmc dev ${mmcdev};if mmc rescan; then if run loadbootscript; then run bootscript; else if run loadimage; then run mmcboot; else run netboot; fi; fi; else run netboot; fi
 

205 "run findfdt;" \
206 "mmc dev ${mmcdev};" \
207 "mmc dev ${mmcdev}; if mmc rescan; then " \
208 "if run loadbootscript; then " \
209 "run bootscript; " \
210 "else " \
211 "if run loadimage; then " \
212 "run mmcboot; " \
213 "else run netboot; " \
214 "fi; " \
215 "fi; " \
216 "else run netboot; fi"

205 行, run findfdt ;使用的是 uboot run 命令来运行 findfdt findfdt NXP 自行添加
的环境变量。 findfdt 是用来查找开发板对应的设备树文件 (.dtb) IMX6ULL EVK 的设备树文件
imx6ull-14x14-evk.dtb
206 行, mmc dev ${mmcdev} 用于切换
参考资源链接:[Petalinux_config详解:U-BootLinux内核配置指南](https://wenku.csdn.net/doc/2kgka7j4tx?utm_source=wenku_answer2doc_content) 在ZYNQ平台的Petalinux开发过程中,自定义配置U-BootLinux内核是确保系统按预期运行的关键步骤。同时,正确设置启动选项是引导整个系统的前提。以下详细步骤将指导你完成这些配置: 首先,启动Petalinux配置工具,通过命令行输入`petalinux-config`进入配置界面。在配置界面中,找到并进入`Linux Components Selection`选项,这里允许你选择或指定自定义的Linux内核U-Boot源码位置。 1. 对于U-Boot的自定义配置,你可以选择克隆Xilinx官方仓库中的u-boot-xlnx源码,并确保其版本与Petalinux版本匹配。在`Linux Components Selection`中,指定到你的本地u-boot源码路径,比如`${TOPDIR}/../components/ext_sources/u-boot-xlnx`。 2. 接下来,为了自定义Linux内核配置,选择`kernel source location`选项,指向你的内核源码目录。通常,Petalinux默认会从官方仓库获取内核源码,但为了定制化,你可以更改这一设置。 3. 在`AutoConfigSettings`中,Petalinux默认使用`Devicetreeautoconfig`功能来自动生成设备树。如果你对设备树进行了修改,确保在修改完成后取消`Devicetreeautoconfig`选项,然后运行`petalinux-config`以确保更改生效。 4. 最后,在`Subsystem AUTO Hardware Settings`中,你可以设置系统的启动方式,选择通过QSPI-FLASH还是SD启动。这一步骤至关重要,因为它决定了你的系统是如何引导的。根据你的硬件设计需求,选择合适的启动设备配置。 完成这些步骤后,保存配置并退出配置工具。然后,使用`petalinux-build`命令来编译整个系统。编译完成后,使用适当的工具(如Xilinx SDK提供的工具)将镜像烧录到QSPI-FLASH或SD中。 通过以上步骤,你将能够完成Petalinux环境中U-BootLinux内核的自定义配置,并设置合适的启动选项。为了进一步深入理解这些配置的细节潜在问题的解决方案,建议阅读《Petalinux_config详解:U-BootLinux内核配置指南》。这份文档不仅详细介绍了上述配置步骤,还提供了针对Xilinx ZYNQ平台开发的深度解析,帮助你更好地掌握Petalinux配置的全过程。 参考资源链接:[Petalinux_config详解:U-BootLinux内核配置指南](https://wenku.csdn.net/doc/2kgka7j4tx?utm_source=wenku_answer2doc_content)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

hqb_newfarmer

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值