IMX6ULL ARM Linux开发板SD卡启动,SD卡的分区与分区格式化创建

2023-09-20 16:48:39

一、确定TF卡挂载到ubuntu上的设备名称及分区情况

  • 1. 在ubuntu不接入TF卡的情况下, 使用df -lh /dev/sd*命令查看当前"/dev/sd开头"的设备。
##输入df -lh /dev/sd*命令,敲回车键
~$ df -lh /dev/sd*

  • 2.将TF卡接入到ubuntu,再次使用df命令,进行查看,多出来的设备即是TF卡挂载到ubuntu的设备名称

如图所示,多出来的/dev/sdb1 /dev/sdb2即为TF卡的挂载分区,TF设备名称为/dev/sdb

注:因为我之前已经对SD卡进行过分区,分出两个区,sdb1为分区1(存放Linux内核及设备树文件),sdb2为分区2(存放根文件系统) uboot存放在默认sdb。如果你的SD卡未分过区,仅显示/dev/sdb 或者sd* (*为b c d....)

  • 可以使用cat  /proc/partitions命令,查看设备的分区情况

如图所示,SD卡sdb分出sdb1 sdb2两个分区。

二、删除SD卡原分区,对SD卡进行重新分区

1.取消SD卡挂载,准备进行分区操作

~$ sudo umount /dev/sdb

2.使用fdisk对SD卡进行格式化,输入sudo fdisk /dev/sdb命令,按m查看fdisk帮助信息

qhw@qhw:~$ sudo fdisk /dev/sdb

欢迎使用 fdisk (util-linux 2.31.1)。
更改将停留在内存中,直到您决定将更改写入磁盘。
使用写入命令前请三思。


命令(输入 m 获取帮助): m

帮助:

  DOS (MBR)
   a   开关 可启动 标志
   b   编辑嵌套的 BSD 磁盘标签
   c   开关 dos 兼容性标志

  常规
   d   删除分区
   F   列出未分区的空闲区
   l   列出已知分区类型
   n   添加新分区
   p   打印分区表
   t   更改分区类型
   v   检查分区表
   i   打印某个分区的相关信息

  杂项
   m   打印此菜单
   u   更改 显示/记录 单位
   x   更多功能(仅限专业人员)

  脚本
   I   从 sfdisk 脚本文件加载磁盘布局
   O   将磁盘布局转储为 sfdisk 脚本文件

  保存并退出
   w   将分区表写入磁盘并退出
   q   退出而不保存更改

  新建空磁盘标签
   g   新建一份 GPT 分区表
   G   新建一份空 GPT (IRIX) 分区表
   o   新建一份的空 DOS 分区表
   s   新建一份空 Sun 分区表


命令(输入 m 获取帮助): 

3.按照显示信息,一直按d及对应分区序号,删除sdb设备下所有分区,至到提示“还没有定义分区”为止。

4.按n进行重新分区,

分区大小根据个人实际需要进行定义,

本文分区如下:

  • 前面10MB空间留给uboot (SD卡一个扇区为512字节,2048个扇区容量为1MB
  • uboot空间之后建立分区1给内核和设备树,给100MB
  • 分区1之后建立分区2给根文件系统,剩余全部空间
命令(输入 m 获取帮助): n
分区类型
   p   主分区 (0个主分区,0个扩展分区,4空闲)
   e   扩展分区 (逻辑分区容器)
选择 (默认 p): p
分区号 (1-4, 默认  1): 1
第一个扇区 (2048-122152959, 默认 2048): 20480    #SD卡一个扇区512字节,2048个扇区为1MB;
上个扇区,+sectors 或 +size{K,M,G,T,P} (20480-122152959, 默认 122152959): +204800  #加100M空间

创建了一个新分区 1,类型为“Linux”,大小为 100 MiB。

命令(输入 m 获取帮助): n 
分区类型
   p   主分区 (1个主分区,0个扩展分区,3空闲)
   e   扩展分区 (逻辑分区容器)
选择 (默认 p): p
分区号 (2-4, 默认  2): 2
第一个扇区 (2048-122152959, 默认 2048): 225281         
上个扇区,+sectors 或 +size{K,M,G,T,P} (225281-122152959, 默认 122152959): 

创建了一个新分区 2,类型为“Linux”,大小为 58.1 GiB。

分区完成后,按p打印分区表,查看是否修改成功。

命令(输入 m 获取帮助): p
Disk /dev/sdb:58.3 GiB,62542315520 字节,122152960 个扇区
单元:扇区 / 1 * 512 = 512 字节
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x2d530f15

设备       启动   起点      末尾      扇区  大小 Id 类型
/dev/sdb1        20480    225280    204801  100M 83 Linux
/dev/sdb2       225281 122152959 121927679 58.1G 83 Linux

确认修改成功后,按w进行保存 

命令(输入 m 获取帮助): w
分区表已调整。
正在同步磁盘。
三、格式化/dev/sdb1分区为vfat格式,用来存放内核与设备树文件

使用mkfs.vfat命令,格式化/dev/sdb1分区为vfat格式

  • 1.取消SD卡分区1挂载,准备进行格式化操作
~$ sudo umount /dev/sdb1
  • 2.格式化/dev/sdb1分区
qhw@qhw:~$ sudo mkfs.vfat /dev/sdb1
mkfs.fat 4.1 (2017-01-24)

四、格式化/dev/sdb2分区为ext4格式,用来存放根文件系统

  • 1.取消SD卡分区2挂载,准备进行格式化操作
~$ sudo umount /dev/sdb2
  • 2.格式化/dev/sdb2分区
qhw@qhw:~$ sudo mkfs.ext4 /dev/sdb2
mke2fs 1.44.1 (24-Mar-2018)
创建含有 15240959 个块(每块 4k)和 3817472 个inode的文件系统
文件系统UUID:55a36819-e9fd-45d5-9bd4-22dad621be41
超级块的备份存储于下列块: 
	32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208, 
	4096000, 7962624, 11239424

正在分配组表: 完成                            
正在写入inode表: 完成                            
创建日志(65536 个块) 完成
写入超级块和文件系统账户统计信息: 已完成 

至此,SD卡分区及分区格式化操作完成。

更多推荐

二,手机硬件参数介绍和校验算法

系列文章目录第一章安卓aosp源码编译环境搭建第二章手机硬件参数介绍和校验算法第三章修改安卓aosp代码更改硬件参数第四章编译定制rom并刷机实现硬改(一)第五章编译定制rom并刷机实现硬改(二)第六章不root不magisk不xposedlsposedfrida原生修改定位第七章安卓手机环境检测软件分享第八章硬改之设

【C语言】指针的进阶(一)

目录前言1.字符指针2.指针数组3.数组指针3.1数组指针的定义3.2&数组名VS数组名3.3数组指针的使用4.数组参数、指针参数4.1一维数组传参4.2二维数组传参4.3一级指针传参4.4二级指针传参5.函数指针前言指针在C语言中可谓是有着举足轻重的存在,初学C语言的我们在《指针》章节已经接触过了一些指针的知识,知道

【网络豆送书第四期】《用户画像:平台构建与业务实践》

作者简介:一名云计算网络运维人员、每天分享网络与运维的技术与干货。公众号:网络豆座右铭:低头赶路,敬事如仪个人主页:网络豆的主页​​​​​本期好书推荐:《用户画像:平台构建与业务实践》粉丝福利:书籍赠送:共计送出4本参与方式:关注公众号:网络豆云计算学堂回复关键词:第四期送书截止时间:2023年9月24日中午12:00

嵌入式C语言知识复习和提高

文章目录前言基础知识main函数防BUG注释(重要)关键字标识符命名(驼峰命名)常量类型变量printf1.输出不同类型数据2.输出不同宽度数据3.不同类型数据长度归类scanf函数运算符sizeof(运算符,优先级2)逗号运算符关系运算符逻辑运算符三目运算符强制类型转换流程控制if语句switchcase循环结构fo

Python基于Flask的高校舆情分析,舆情监控可视化系统

目录一、数据采集二、数据预处理三、舆情分析四、数据可视化五、系统集成六、用户交互功能实现:七、系统优化总结随着互联网的普及和信息量的爆炸式增长,网络舆情数据变得越来越庞大和复杂。高校作为社会的重要组成部分,其舆情数据同样具有重要意义。因此,为了更好地监控和了解高校舆情数据的动态和发展趋势,我们需要构建一个基于Flask

Linux 终端命令总结

一、常用的七条命令命令对应英文作用lslist查看当前文件夹下的内容pwdprintworkdirectory查看当前所在文件夹cd[目录名]changedirectory切换文件夹touch[文件名]touch如果文件不存在新建文件mkdir[目录名]makedirectory创建目录rm[文件名]remove删除指

Appium元素定位

1.目的当今社会,人们的生活几乎已经无法离开形形色色的APP了,它提供给我们的便利与服务意义远远超出了其本身的软件价值。作为测试来说移动应用也早已是各大互联网公司的拳头产品,其本身的开发周期短,附属产品价值高等特性决定了今后的主导地位。那么在日常的测试活动中,移动应用的质量保障就成为了各个测试团队的主要课题,面对高速迭

软件定制app开发方式与优势|小程序搭建

软件定制app开发方式与优势|小程序搭建目前软件定制app开发方式主要两种1、利用模板开发很多软件开发公司会以模板的方式出售,即现有的app功能和设计样式都是现成的,无需从零开始定制开发。优点:费用低,一般价格在几千到上万。快速上线,方便实惠;缺点:功能固定,难以修改。在此之前需要确定自己需要哪些功能,现有app模板是

小乌龟(TortoiseGit)连接GitLab

目录🍟写在前面🍟实验目标🍟安装gitlab🍿1、安装依赖🍿2、下载清华gitlab包🍿3、安装gitlab🍿4、修改配置文件🍿5、管理命令🍟访问gitlab🍟界面设置🍿修改语言🍿修改密码🍿创建项目🍟下载小乌龟安装包🍟配置ssh秘钥🍟Git目录设置🍟推送/拉取操作🦐博客主页:大虾好吃吗

【hive】行转列—explode()/posexplode()/lateral view 函数使用场景

文章目录一、lateralview函数二、explode()函数三、posexplode()函数四、行转列使用单列转多行多列转多行一、lateralview函数功能:用于和UDTF函数(explode,split)结合使用,把某一行数据拆分成多行数据,再将多行结果组合成一个支持别名的虚拟表。主要解决select使用UD

华为云云耀云服务器L实例评测|使用华为云云耀云服务器L实例部署 GitLab Runner实现GitLab CI/CD,项目的DevOps

应用场景GitLabRunner介绍GitLabRunner是一个用于执行GitLabCI/CD任务的工具,它可以在Linux、macOS和Windows上使用,并且可以通过包管理器、二进制文件或Docker镜像进行安装。它与GitLabCI结合使用,能够在最少的手动干预下帮助团队实现CI/CD流程的自动化。GitLa

热文推荐