ubuntu制作SD启动卡

发布于:2023-01-03 ⋅ 阅读:(315) ⋅ 点赞:(0)

ubuntu制作SD启动卡

嵌入式开发过程中,尤其是调试过程中,经常需要制作SD卡,作为启动卡。不同的开发板,制作过程大同小异。这就涉及到ubuntu系统对SD卡的分区、格式化等等操作,本文就详细说明一下实现步骤,提供参考。

当我们使用 SD 卡引导 linux 系统启动时, 一般需要在 SD 卡上有 2 个分区。一个分区使用FAT32 文件系统, 用于放置启动烧录文件(如 BOOT.BIN, linux,bit流文件等),  另一分区使用EXT4 文件系统, 用于存放根文件系统。

这里介绍一下基本步骤

第一步:解挂

将U盘插入ubuntu系统,单击如下图所示

我的SD卡已经做过分区,会主动挂载到ubuntu系统,查看挂载情况

可以输入如下指令

mount

如下图所示,mount信息出来的太多了,这里只是截取一少部分,可以看到U盘已经分两个区了,并且都挂载到/media/ltt/路径下

 

输入指令解挂

sudo umount /dev/sdb*

再次查看挂载情况

mount

如下图所示发现,U盘节点/dev/sdb已经没有任何挂载了

第二步:分区

输入命令

sudo fdisk /dev/sdb

输入

m

可以看到fdisk所有的操作指令提示,如下图所示

 

输入p

查看当前U盘的分区情况,如下图所示

输入d删除分区

这里的U盘有两个分区,第一次键入d,会提示删除哪一个分区,第二次键入d,直接删除最后一个分区,如下图所示,这里提醒键入d前需要,将SD卡有用数据保存

再次输入p查询分区情况,如下图所示,两个分区都被删除了

新建分区1,如下图所示依次输入

n

p

1

2048

409600

p

可以清晰的查看到分区1的大小为199M

设置分区类型,输入“ t”,输入l 查看所有分区类型,然后输入“ c”,设置为“ W95 FAT32 (LBA)” ,如下图所示

输入“ a” , 设为引导分区,如下图所示:

新建分区2,如下图所示,基本上都是默认输入了

如果现在键入p查看刚才新建分区是否正确

键入w保存(write table to disk and exit),提醒一下,这里必须要解挂,不然写不进去。

 

保存完毕后,格式化分区,输入如下指令

sudo mkfs.vfat -F 32 -n BOOT /dev/sdb1

sudo mkfs.ext4 -L rootfs /dev/sdb2

格式化完毕后,两个分区主动挂载进来了,如果没有主动挂载,可以拔掉SD卡再次插入试试,如果还是没有主动挂载就手动命令挂载吧

可以使用mount命令查看是否挂载,挂载的节点位置。

第三步:拷贝启动文件到分区1

这里使用的zynq开发的启动文件,根据不同的开发板使用不同的启动文件,一般都是boot,kernel,设备树的烧录文件

第四步:解压跟文件系统到分区2

找到使用根文件系统,输入如下命令,解压到SD卡分区2

sudo tar -xzf rootfs.tar.gz -C /media/ltt/rootfs

sync

完成以上四部就制作完成了,弹出SD卡,插入开发板,就可以使用了。

问题:

针对制作SD启动卡,上述文档清楚的阐述了各个步骤,但是如果量产产品有1000或者10000个SD卡需要制作,你每个SD卡要重复上述文档过程,那不是要累死人,还容易出错,这种情况该怎么办呢?

 

 

 

 

 

 

 

 

 

 

 

 

 

本文含有隐藏内容,请 开通VIP 后查看

网站公告

今日签到

点亮在社区的每一天
去签到