imx6ull - 制作烧录SD卡

news2024/11/22 15:34:39

1、参考NXP官方的手册《i.MX_Linux_Users_Guide.pdf》的这一章节:

1、SD卡分区

提示:我们常用的SD卡一个扇区的大小是512字节。

先说一下i.MX6ULL使用SD卡启动时的分区情况,NXP官方给的镜像布局结构如下所示:

可以看到,上图将一张SD卡分成了三部分:

第一部分:扇区起始地址ox400bytes(2),大小为20478个扇区,分区格式为原始格式,用于存放uboot;(0x400 bytes转为10进制是1024 bytes, 刚好等于2个扇区大小;这两个扇区是为了保存分区表的信息。所以从0x400地址开始存放U-boot,括号中的2可以理解为从第2个扇区的起始地址开始,扇区编号从0开始数起)
第二部分:扇区起始地址oxa0000 bytes(20480个扇区),大小为500M(1024000个扇区),分区格式为FAT,用于存放内核和设备树;
第三部分:扇区起始地址ox25800000(1228800个扇区),大小为SD卡剩余的空间,分区格式为Ext3或Ext4,用于存放rootfs,也就是文件系统。

由于第一部分用于存放UBOOT,无文件系统格式的要求,所以我们对分区的创建从第二部分(第20480扇区所在的地址)开始就可以。

拿到一张SD卡,首先将SD卡在windows下格式化成FAT32格式:

插入ubuntu系统之前,先使用以下命令查看一下所有的磁盘:

fdisk -l

将SD卡插入ubuntu,再次输入以上命令查看一下所有磁盘,会发现多出来一个/dev/sdb和/dev/sdb1:

其中,/dev/sdb代表的就是SD卡本身,/dev/sdb1代表的是SD卡上的分区一,且格式为FAT32。

注意:SD卡插入ubuntu后,会出现/dev/sdX,具体是/dev/sdb还是/dev/sdc又或者是/dev/sdd要视个人插入ubuntu的USB口设备情况而定。

接下来对SD卡重新分区:

fdisk /dev/sdb

d         ---> 删除分区
n         ---> 创建分区 
p         ---> 选择为主分区
1         ---> 分区编号为1
20480     ---> 分区1起始扇区
+500M     ---> 分区大小:500MB
p         ---> 显示当前分区
n         ---> 创建分区
p         ---> 选择为主分区
2         ---> 分区编号为2
1228800   ---> 分区起始地址
<enter>   ---> 敲回车,表示将剩下的所有空间都分给分区2
p         ---> 显示当前分区
w         ---> 保存

设置sdb1分区格式为FAT:

sudo mkfs.vfat /dev/sdb1

设置sdb2分区格式为Ext3或Ext4都可以

sudo mkfs.ext3 /dev/sdb2
或者
sudo mkfs.ext4 /dev/sdb2

此时SD卡的分布如下图所示:

2、拷贝uboot到SD卡

拷贝uboot到SD卡,输入以下命令:

sudo dd if=u-boot.imx of=/dev/sdb bs=1k seek=1 conv=fsync

从上面我们对SD卡分区的时候知道,第一分区的起始地址是从扇区地址2开始的,SD卡的一个扇区是512字节,也就是说第一分区的起始地址是SD卡的1K字节处,上面这条命令中,bs设置dd命令的读写块为1K大小(这个数据可以任意设置,设置大一点读写就快),并且设置seek=1(单位为KB),表示从SD卡/dev/sdb开头偏移1K字节处开始写u-boot.imx,正好就是写到了u-boot在SD卡中分区所在位置处,前面预留1K字节刚好2个扇区大小。

问:为什么从SD卡1K位置处存放uboot而不是从SD卡头部开始?
答:这是NXP官方手册上写前面1K字节是保存分区表的信息。

3、拷贝kernel和dtbs到SD卡
创建挂载点:

mkdir /mountpoint

挂载分区一:

mount /dev/sdb1 /mountpoint  (注意根据上面的分区这是sdb1,存放kernal image和dtbs)

使用cp命令将zImage和*.dtb文件拷贝进/mountpoint目录,然后取消挂载:

umount mountpoint

4、拷贝文件系统到SD卡
挂载分区二:

mount /dev/sdb2 /mountpoint (注意根据上面的分区这是sdb2,存放根文件系统)

解包你的文件系统,假设文件系统包为:rootfs.tar.bz2

tar -jxvf rootfs.tar.bz2

进入文件系统目录:

cd rootfs

拷贝所有文件到/mountpoint目录:

cp -a * /mountpoint

然后取消挂载:

umount mountpoint
sync

到此,SD启动卡就已经制作完成!

1. 官方资料和工具获取

1.1 官方源码资料

Embedded Linux for i.MX Applications Processors是NXP专门针对i.MX系列维护的uboot和linux等源码,有不同的版本和分支。截至文章发布官方最新版本Linux 5.15.52_2.1.0,为了和之前的iMX6ULL维护一份代码我这里选择Linux 5.15.32_2.0.0​这个版本。下载文档资料和官方demo板的镜像包,可以参考使用。

更加详细资料获取方法请参考:iMX8MM uboot2021.04 linux5.15.32移植_arm_Sonboy(^_^)-华为云开发者联盟

参考:i.MXU6LL - 制作烧录SD卡详细步骤_imx6ullsd卡烧录程序-CSDN博客

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1718815.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

simulink基础学习笔记

写在前面 这个笔记是看B站UP 快乐的宇航boy 所出的simulink基础教程系列视频过程中记下来的&#xff0c;写的很粗糙不完整&#xff0c;也不会补。视频教程很细跟着做就行。 lesson1-7节的笔记up有&#xff0c;可以加up的群&#xff0c;里面大佬挺活跃的。 lesson8 for循环 For …

【项目管理知识】项目质量管理措施

1、持续改进&#xff08;PDCA&#xff09; 戴明循环或称PDCA循环、PDSA循环。戴明循环的研究起源于20世纪20年代&#xff0c;先是有着“统计质量控制之父”之称的著名的统计学家沃特阿曼德休哈特&#xff08;Walter A. Shewhart&#xff09;在当时引入了“计划-执行-检查&…

统计各个商品今年销售额与去年销售额的增长率及排名变化

文章目录 测试数据需求说明需求实现分步解析 测试数据 -- 创建商品表 DROP TABLE IF EXISTS products; CREATE TABLE products (product_id INT,product_name STRING );INSERT INTO products VALUES (1, Product A), (2, Product B), (3, Product C), (4, Product D), (5, Pro…

服装连锁店收银系统需要具备的五大功能

当今服装连锁店在市场竞争中需要拥有高效的收银系统来提升业务效率和顾客满意度。以下是服装连锁店收银系统需要具备的五大功能&#xff1a; 首先&#xff0c;完善的商品管理功能是至关重要的。这包括商品信息的录入、管理、更新和查询。收银系统应该能够快速而准确地识别商品&…

深入理解linux文件系统与日志分析

深入理解linux文件系统与日志分析 linux文件系统: 文件是存储在硬盘上的&#xff0c;硬盘上的最小存储单位是扇区&#xff0c;每个扇区的大小是512字节。 inode&#xff1a;元信息&#xff08;文件的属性 权限&#xff0c;创建者&#xff0c;创建日期等等&#xff09; block…

【产品经理】电商支付模块

在电商类的产品中&#xff0c;支付功能是非常重要的模块。那么&#xff0c;这个模块包含哪些功能呢&#xff1f; 电商平台上的支付模块作为整个购物流程中至关重要的一环&#xff0c;远哥聊聊如何解决用户在购物过程中面临的种种挑战&#xff0c;包括支付方式的选择&#xff0c…

Java实现数据结构---数组

文章目录 概念存储原理数组的操作完整代码 概念 数组是&#xff08;Array&#xff09;是有限个相同类型的变量所组成的有序集合&#xff0c;数组中的每一个变量为称为元素。数组是最简单、最常用的数据结构。 数组下标从零开始。 存储原理 数组用一组连续的内存空间来存储一…

HTTP --tcp

TCP TCP连接 tcp/ip是全球计算机以及网络设备都在使用的一种常见的分组交换网络分层协议集&#xff0c;客户端可以打开一条tcp/ip连接&#xff0c;连接到可能运行在世界各地的服务器应用程序&#xff0c;一旦连接建立起来了&#xff0c;在客户端和服务器的计算机之间交换的报…

Token的使用(JWT)

客户端用户登录生成token&#xff0c;然后返回给客户端后被存储&#xff0c;然后需要使用时客户端会发送到服务器进行验证。 package com.example.springblog;import io.jsonwebtoken.Claims; import io.jsonwebtoken.JwtParser; import io.jsonwebtoken.Jwts; import io.jsonw…

软件测试可发现所有bug吗?有什么样的原则和目的?

在今天的高度数字化时代&#xff0c;软件测试的重要性不可忽视。这是一种系统性的过程&#xff0c;通过对软件系统进行评估和验证&#xff0c;以确定其是否满足预期要求。在软件开发的各个阶段&#xff0c;软件测试都扮演着至关重要的角色。它涉及到软件功能、性能、安全性等多…

HackTheBox-Machines--Cronos

文章目录 0x01 信息收集0x02 命令注入漏洞0x03 权限提升 Cronos 测试过程 0x01 信息收集 1.端口扫描 发现 SSH&#xff08;22&#xff09;、DNS&#xff08;53&#xff09;、HTTP&#xff08;80&#xff09;端口 nmap -sC -sV 10.129.227.2112.53端口开启&#xff0c;进行DNS…

Mysql基础教程(12):JOIN

MySQL JOIN 在 MySQL 中&#xff0c;JOIN 语句用于将数据库中的两个表或者多个表组合起来。 比如在一个学校系统中&#xff0c;有一个学生信息表和一个学生成绩表。这两个表通过学生 ID 字段关联起来。当我们要查询学生的成绩的时候&#xff0c;就需要连接两个表以查询学生信…

姚班带队OpenCSG,超越Devin,创造大模型编程领域新纪录

摘要 来自中国大模型初创公司OpenCSG推出的StarShip CodeGen Agent&#xff0c;以23.67%的成绩刷新了普林斯顿SWEBench(大模型真实独立编程评测)排行榜&#xff0c;取得了全球第二名的成绩&#xff0c;同时创造了非GPT-4o基模的最高纪录&#xff08;SOTA&#xff09;。 SWEBen…

案例|开发一个美业小程序,都有什么功能

随着移动互联网的迅猛发展&#xff0c;美业连锁机构纷纷寻求数字化转型&#xff0c;以小程序为载体&#xff0c;提升服务效率&#xff0c;增强客户体验。 线下店现在面临的困境&#xff1a; 客户到店排队时间过长&#xff0c;体验感受差 新客引流难&#xff0c;老用户回头客…

2024ciscn初赛——easycms

什么是CMS&#xff1f; CMS是“Content Management System”的缩写&#xff0c;意为“内容管理系统”。网站的开发者为了方便&#xff0c;制作了不同种类的CMS&#xff0c;可以加快网站开发的速度和减少开发的成本。 常见的CMS&#xff1a; php类cms系统&#xff1a;dedecms、…

【计算Nei遗传距离】

报错 Warning message: In adegenet::df2genind(t(x), sep sep, ...) : Markers with no scored alleles have been removed 原因&#xff1a; 直接用plink转换为VCF&#xff0c;丢失了等位基因分型&#xff08;REF ALT&#xff09; &#xff08;plink编码的规则&…

【Pytorch 】Dataset 和Dataloader制作数据集

文章目录 Dataset 和 Dataloader定义Dataset定义Dataloader综合案例1 导入两个列表到Dataset综合案例2 导入 excel 到Dataset综合案例3 导入图片到Dataset导入官方数据集Dataset 和 Dataloader Dataset指定了数据集包含了什么,可以是自定义数据集,也可以是以及官方数据集Data…

R语言绘图 --- 饼状图(Biorplot 开发日志 --- 2)

「写在前面」 在科研数据分析中我们会重复地绘制一些图形&#xff0c;如果代码管理不当经常就会忘记之前绘图的代码。于是我计划开发一个 R 包&#xff08;Biorplot&#xff09;&#xff0c;用来管理自己 R 语言绘图的代码。本系列文章用于记录 Biorplot 包开发日志。 相关链接…

基于深度学习的模糊认知图方法

1 文章信息 文章题目为“Deep Fuzzy Cognitive Maps for Interpretable Multivariate Time Series Prediction”&#xff0c;该文于2019年发表于“IEEE TRANSACTIONS ON FUZZY SYSTEMS”。文章提出了深度模糊认知图&#xff08;FCM&#xff09;用于多变量时间序列预测&#xff…

视频汇聚EasyCVR视频监控云平台对接GA/T 1400视图库对象和对象集合XMLSchema描述

GA/T 1400协议主要应用于公安系统的视频图像信息应用系统&#xff0c;如警务综合平台、治安防控系统、交通管理系统等。在城市的治安监控、交通管理、案件侦查等方面&#xff0c;GA/T 1400协议都发挥着重要作用。 以视频汇聚EasyCVR视频监控资源管理平台为例&#xff0c;该平台…