将U-Boot、uImage和rootfs烧入iMX53系统的4GB SD卡

嵌入式开发板完整使用流程:从开箱到Linux系统启动 嵌入式开发板是运行Linux系统的硬件载体,其使用本质是构建软硬协同的可信执行环境。核心原理在于交叉编译工具链(如aarch64-linux-gnu)与目标平台ABI、启动流程(ROM→SPL→U-Boot→Kernel→Rootfs)的严格匹配。技术价值体现在可追溯、可复现、可验证的工程闭环能力,支撑从教学实训、产线固件维护到国产芯片(如RK3588、T113、IMX6ULL)适配等关键场景。本文聚焦真实开发中高频卡点——UART通信验证、dd扇区级写入、sysroot路径配置及Bootloader与内核 阅读详情
转自: http://bbs.eplat.net/home.php?mod=space&uid=7047&do=blog&id=705

将U-Boot、uImage和rootfs烧入iMX53系统的4GB SD卡

相关操作步骤如下:
首先,准备工作

将SD卡插入USB接口的SD卡读卡器,可以将bootloader、内核镜像文件和根文件系统烧写到SD卡上,为了简单化操作,请使用4GB的SD卡。

 

首先通过以下命令来确认SD卡是否已经正常挂载到Linux主机下:

$ cat /proc/partitions

major minor #blocks name

8 0 78125000 sda

8 1 75095811 sda1

8 2 1 sda2

8 5 3028221 sda5

8 32 488386584 sdc

8 33 488386552 sdc1

8 16 3921920 sdb

8 18 3905535 sdb1

上例中,SD卡上挂载在/dev/sdb


第一步,在文件包里用ext2的格式创建rootfs(自己创建的rootfs,则跳过)

通过采用文件包里面的文件(L2.6.35_11.09.01_ER_images_MX5X.tar.gz->rootfs.ext2.gz)解压并创建rootfs,其命令如下

mkdir /mnt/rootfs

进入rootfs.ext2.gz文件所在文件夹,执行

gunzip rootfs.ext2.gz

mount -o loop -t ext2 rootfs.ext2 /mnt/rootfs

cp -r /mnt/rootfs .

export ROOTFS_DIR=/tools/rootfs


第二步,下载U-Boot.bin

进入u-boot.bin文件所在文件夹,通过以下命令来将U-Boot镜像文件烧写到SD卡(此操作将会删除分区表信息):

$ sudo dd if=u-boot.bin of=/dev/sdb bs=512 && sync && sync

 

下面操作为U-Boot镜像文件更新版本(此操作前面的1KB分区表信息将保留):

$ sudo dd if=u-boot.bin of=/dev/sdb bs=512 seek=2 skip=2 && sync && sync


第三步,下载uImage镜像文件

进入uImage文件所在文件夹,通过以下命令来将内核镜像文件烧写到SD卡:

$ sudo dd if=uImage of=/dev/sdb bs=512 seek=2048 && sync && sync

以上操作将uImage烧写如SD卡。


第四步,拷贝文件系统rootfs

首先,必须先创立一个分区,如果已经有一个分区,而且其空间够用的话,那么可以跳过以下步骤。

创建一个分区,其命令如下:

$ sudo fdisk /dev/sdb

其相关参数如下:

#d [repeat this until no partition is reported by the ‘p’ command ]

#n [create a new partition]

#p [create a primary partition]

#1 [the first partition]

#8192 [starting at offset sector #8192, i.e. 4MB, which leaves enough space

for the kernel, the boot loader and its configuration data]

# 回车[using the default value will create a partition that spans to the

last sector of the medium]

w [ this writes the partition table to the medium and fdisk exits]

 

文件系统格式必须为ext3或者ext4,通过以下命令来格式化:
若是已经被挂载,则执行:
sudo umount /dev/sdb1(正常的话,跳过!)

$ sudo mkfs.ext3 /dev/sdb1

或者

$ sudo mkfs.ext4 /dev/sdb1

 

复制文件系统到分区(用户:admin):

$ mkdir /home/admin/mountpoint

$ sudo mount /dev/sdb1 /home/admin/mountpoint

 

复制后通过以下命令来确定里面的内容:

方法一,将编译后的rootfs烧入SD卡,执行以下:

$ cd /home/admin/rootfs(rootfs编译后或许在/home/lucid/ltib/ltib/rootfs)

$ sudo cp –rpa [A-z]* /home/admin/mountpoint


方法二,直接将文件rootfs.ext2.gz烧入SD卡,执行以下:

gunzip rootfs.ext2.gz
mount -o loop -t ext2 rootfs.ext2 /mnt/rootfs

cd /mnt/rootfs

sudo cp –rpa [A-z]* /home/user/mountpoint


$ sudo umount /home/admin/mountpoint

 

到此,文件系统已经顺利的烧写入SD卡。


最后,从SD卡运行系统

若是想从SD卡上启动,请按照下面的操作步骤来执行(注意蓝色字体部分,其正确内容必须以主机的实际情况来配置):

1.按下“POWER”键,使控制板上电;

2.确定内核镜像文件是从地址0x100000字节空间开始,且内核文件容量小于0x300000字节,而rootfs位于分区/dev/mmcblk0p1,确定之后,请执行以下命令:

setenv loadaddr 0x10800000
setenv bootargs 'console=ttymxc0,115200'
setenv bootargs_base 'setenv bootargs console=ttymxc0,115200'
setenv bootargs_mmc 'setenv bootargs ${bootargs} root=/dev/mmcblk0p1 rootwait rw ip=dhcp'
setenv bootcmd_mmc 'run bootargs_base bootargs_mmc; mmc read 0 ${loadaddr} 0x800 0x1900;bootm'
setenv bootcmd 'run bootcmd_mmc'
saveenv
run bootcmd 

如果使用飞思卡尔自带的 Mfgtools 下载 可以自己通过如下:
cd rootfs
tar -jcf rootfs.tar.bz2 bin boot dev etc home lib mnt opt proc root sbin share sys tmp unit_tests usr var
打包文件系统
qt_uImage_root_GUI.zip 参考 《百问网精智JZ2440开发板4.3寸LCD版使用手册.pdf2015/12/29》 修改环境变量: sudo vi /etc/environment 修改:PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/arm/4.3.2/bin" 改为:PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/work/tools/gcc-3.4.5-glibc-2.3.6/bin/" 编译依赖库/work/GUI/qtopia/deps/jpegsrc.v6b.tar.gz 立即下载

相关推荐

Doris存储层设计介绍2——数据写入及删除流程

Doris存储层设计介绍2——数据写入及删除流程

爱吃辣条的博客 4583

bootcmd和bootargs参数

u-boot的环境参数中有两个和内核启动相关的,它们是bootcmd和bootargs 1.u-boot中和环境参数有关的命令        printenv:打印当前环境参数        setenv param_name "value":设置环境参数

奋斗 1万+

手把手实战:RK3588上YOLOv8模型从训练到部署全流程解析

本文详细解析了在RK3588开发板上部署YOLOv8目标检测模型的全流程。从模型训练、正确导出适配的ONNX格式,到使用RKNN-Toolkit2进行模型转换与量化,最后在板卡上完成部署与性能测试。文章提供了完整的代码示例和关键避坑指南,帮助开发者高效实现嵌入式AI应用落地。

weixin_28224217的博客 402

从0到1烧写u-boot详细教程

拿到一块崭新的ARM开发板基本是一脸懵逼,想着怎么用串口与之通信,怎么把u-boot.bin文件烧写进入。很多人在这里就止步了其实这里很简单,接下来就给大家讲解一下。 一.开发环境:         主机:Ubuntu12.04         开发板:Exynos4412         U-boot:2010.03 二.制作SD卡启动盘  2.1 格式化SD卡 把准备好的SD卡插入w...

weixin_42490904的博客 4965

Google 人机验证(reCaptcha)无法显示解决方案

Google 人机验证无法显示解决方案第一步 安装插件Chrome/Edge 电脑版Firefox 电脑版第二步 配置插件原理参考文章 前言:为了防止机器人攻击,国外很多网站都使用了 Google reCaptcha 验证码。reCaptcha 对于国外用户非常的友好,但是… 对于国内用户就不怎么友好了。究其原因,则是国内网络全线屏蔽 Google 服务,导致 reCaptcha 完全加载不出来。这样,国内玩家就无法在对应的网站进行下一步操作了。本方案可以解决 reCaptcha 无法加载的问题。 适用

qq_40713201的博客 8万+

VisionMaster图像源配置全攻略:从本地图片到相机SDK的保姆级教程

本文详细解析了VisionMaster图像源配置的三种主流方式:本地图片、相机直连和SDK集成。从像素格式选择到工业相机触发控制,再到SDK开发实战,提供全面的技术指导和避坑建议,帮助开发者高效实现图像处理应用的部署与优化。

yhn45678901的博客 778

二、先在SD卡上启动U-boot,再烧写新的U-boot进Nandflash

1. 制作SD卡   先准备一张2G的SD卡(不能用8G的,2G的卡和8G的卡协议不一样),和烧写SD卡的工具write_sd以及需要烧写到SD卡中的u-boot-movi.bin。将SD卡格式化后连接到Ubuntu虚拟机中,注意在SD卡需要插入到读卡器中,不能用电脑自带的SD卡槽,否则在Ubuntu下认不到。先执行ls /dev/sdb*,能够看见有一个/dev/sdb文件,说明Ub...

Kevin1230的博客 628

阿里云天池大数据长期赛:金融风控-贷款违约预测(含代码)

本次比赛让自己在大数据的处理流程上有了更明确的认知,从数据清洗、特征工程、数据建模,每一个过程都能学到很多经验和知识,值得去历练。

weixin_46685991的博客 1万+

烧写u-boot到开发板emmc或SD卡中的多种方式

开发板的系统启动引导程序u-boot是一切的开始。 1. windows系统下写入u-boot到SD卡 前提: 需要软件 Win32DiskImager.exe 需要SD卡, 以及SD卡读卡器。 打开软件选择要烧写的uboot软件, 点击写入即可 注意: windows下烧写是从块设备的0号设备开始写的, 会将SD卡的分区表覆盖掉。 测试: 让开发板从SD卡启动, 然后观察到可以进入uboot交互界面就代表成功 2. ubuntu系统下写入u-boot到SD卡 前提: 需要软件dd执行写入 需要SD卡,以及

万波的技术博客 6934

239号资源-simulink仿真:MATLAB/Simulink教程(PDF文档)-----已提供下载资源

电网论文源程序擅长文章解读,论文与完整源程序,等方面的知识,电网论文源程序关注python,机器学习,计算机视觉,深度学习,神经网络,数据挖掘领域.电网论文源程序擅长文章解读,论文与完整源程序,等方面的知识,电网论文源程序关注python,机器学习,计算机视觉,深度学习,神经网络,数据挖掘领域.《《《《《《《《更多资源还请持续关注本专栏》》》》》》》《《《《《《《《更多资源还请持续关注本专栏》》》》》》》论文与完整源程序_电网论文源程序的博客-CSDN博客。电网论文源程序-CSDN博客。

LIANG674027206的博客 1074

水气泵控制原理,三角波发生电路,LM331M/TR芯片,高速运放芯片

气泵的控制采用闭环控制,根据气泵的FG反馈信号进行反馈调节,由于气泵的反馈信号是脉冲反馈,即频率改变,占空比不变,即需要通过F/V转换芯片转换成电压信号,变为电压与转速成正比,其电压进入比较器与基准电压进行比较,将比较结果进行运算并进行PWM控制信号。水泵的控制采用闭环控制,根据水泵的pwm信号进行反馈调节,水泵的反馈信号是脉冲反馈,即频率改变,占空比不变,即需要通过F/V转换芯片转换成电压信号,变为电压与转速成反比,其电压进入比较器与基准电压进行比较,将比较结果进行运算并对PWM控制信号。

m0_51010122的博客 2856

uImage的制作过程详解

3、uImage和zImage的比较

weixin_42031299的博客 2973

Python 实战:爬取高德地图交通数据(路况拥堵指数分析)

高德地图是由高德软件有限公司开发的一款地图导航产品,提供详细的地图浏览、路线规划、实时路况、公共交通查询等功能。高德地图拥有庞大的用户群体和海量的交通数据,这些数据对于交通管理、城市规划、出行服务等领域具有重要的价值。通过对高德地图交通数据的分析,我们可以了解城市交通的运行状况,识别拥堵路段,预测交通流量,为交通管理部门和出行者提供决策支持。

yansideyucsdn的博客 2684

RDKX5开发板实战指南:aarch64交叉编译、内核定制与Ubuntu rootfs部署

嵌入式Linux开发中,ARM64架构平台正成为边缘AI与工业网关的主流选择。理解交叉编译原理、掌握aarch64-linux-gnu工具链选型与配置,是构建可靠嵌入式系统的前提;而设备树(DTS)定制、内核裁剪及最小化Ubuntu rootfs构建,则直接决定硬件资源利用率与产品启动稳定性。本文围绕RDKX5这一典型国产arm64开发板,深入解析从工具链搭建、内核与设备树编译,到真实环境部署的全链路工程实践,覆盖QEMU仿真边界、U-Boot启动流程、Framebuffer中文显示、VSCode真机调试等

weixin_34174422的博客 389

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

RDKX5开发板深度实践:arm64交叉编译与aarch64-linux-gnu工具链实战

arm64架构是现代嵌入式边缘计算的核心基础,其与amd64在内存模型、指令集和ABI层面存在本质差异;aarch64-linux-gnu工具链并非简单命令前缀,而是涵盖binutils、gcc前端、glibc/musl运行时及sysroot的完整交叉编译体系。理解该工具链的构成逻辑与版本兼容性,是实现稳定H.265硬解、PCIe NVMe接入与GPU Vulkan渲染等工业级功能的前提。它支撑从裸机启动、设备树校准到容器化部署的全栈验证流程,广泛应用于智能终端、车载多媒体及AIoT边缘网关等场景。本文聚焦

weixin_34212762的博客 220

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

[ZT]烧写内核uImage和根文件系统rootfs到NAND FLASH

/*2011.1.8*/ /*uboot  1.1.4*/ /*内核:  linux-2.6.22.6*/ /*NAND FLASH为:k9f2g08u0a*/ 因为之前没连续写过一块以上的数据,今天写uImage才发现之前修改的uboot1.1.4里的NAND驱动有问题. 继续修改如下: 1.vi uboot1.1.4/include/configs/fl2440.h 添加

ruan200885的专栏 1046

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

系统启动挂载根文件系统时Kernel panic

这类问题很常见,先总体介绍一下解决思路。能出现让人激动的的控制台,那么系统移植已经接近完成;但是不少人在最后一步出现问题。要点如下:1. 在正确的位置烧写正确格式的文件系统映象:2. 内核支持这种文件系统格式3. 文件系统的内容要完备上面说得简单,一个个介绍。1. 在正确的位置烧写正确的文件系统映象:(a). 正确的位置嵌入式开发中,常通过bootloader烧写文件系统映象,假设写在flash的

dongliqiang2006的专栏 2548

Hi3520d uboot uImage rootfs 移植与升级

安装、升级hi3520DDEMO板开发开发环境     # 如果您使用的hi3520D的DEMO板,可以按照以下步骤烧写u-boot,内核以及文件系统,以下步骤均使用网络来更新。     # 通常,您拿到的单板中已经有u-boot,如果没有的话,就需要使用仿真器进行烧写。     # 更详细的操作步骤及说明,请参见01.software\board\documents目录下的《Linux开发

小米拍客光 1643

嵌入式Linux 根文件系统rootfs的构建

嵌入式Linux 根文件系统rootfs的构建

坚韧与专注 1782

uImage的制作工具mkimage详解(源码编译、使用方法、添加的头解析、uImage的制作)

mkimage工具详解

weixin_42031299的博客 5972

怎么设置uboot从u盘启动linux,RT5350使用uboot从U盘启动linux顺利

RT5350使用uboot从U盘启动linux成功1、在uboot需要做的是:①usb reset②fatload usb 0:1 0x80c00000 root_uImage③bootm 0x80c00000启动内核参数CONFIG_CMDLINE="console=ttyS1,57600n8 mem=32m ip=off noinitrd root=8:2 rw rootfstype=ext2...

weixin_29920047的博客 2124

如何将 zImage 转换为 uImage 以使用 u-boot 启动 Linux 内核

本文将介绍如何将zImage转换为uImage

ys_kiyano的博客 1431

IMX6ULL uboot+zimage+rootfs的构建(二)

MMC: FSL_SDHC: 0, FSL_SDHC: 1 有两个MMC控制器,其中FSL_SDHC(0)接的 SD卡, FSL_SDHC(1)接的 EMMC。U-Boot 2016.03 (Apr 08 2024 - 15:53:08 +0800) uboot版本和编译时间。uboot编译主要需要三种命令。4、uboot的常用命令。

wuzhidexiaoxiaoxia的专栏 1605

uboot启动阶段修改启动参数方法及分析

详细分析了从不同位置启动arm的三个系统文件uboot/kernel/rootfs的方法,并说明uboot常用命令及对应参数的含义。供读者对应修改相关内容,以便系统从目标位置拷贝文件。

噌胥苑——行思驿站 1万+

【linux内核学习笔记1】

1.交叉开发模式 ubantu(开发环境) <—交叉编译—> 开发板(运行环境) arm-linux-gcc:交叉工具链 2.操作系统启动流程 1.上点 2.bootloder(u-boot.bin),加载内核 3.rootfs:根文件系统,文件夹的集合(bin、sbin、etc、lib) 4. 3.linux驱动开发环境 1.ubantu中配...

qq_41922511的博客 234

XiaomiRouter自学之路(05-U-boot配置编译烧录)

XiaomiRouter自学之路(05-U-boot配置编译烧录)

Creator_Ly的博客 2615
上一篇: 开启Hadoop2.6.0出现ssh无法解析主机名等错误提示的解决办法!
下一篇: 基于nat123 提供的Nat服务,实现内网IP的对外映射(实测Centos 7 自启动)。
kernel_32
博客等级 码龄22年 23粉丝 25原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值