Jetson Nano往SD卡刷入系统相对其他Jetson 系列的产品来说较为简单,不过在往SD卡中刷系统的时候也是有点坑的,今天操作时在使用的SD卡为64G,安装了一个约30g的.img镜像,这个镜像是之前就打包好的镜像,之后插入nano,系统正常启动,但是用户可用空间只有29G,使用df命令输出如下:

robot@robot:~$ df -hT
Filesystem     Type      Size  Used Avail Use% Mounted on
/dev/mmcblk0p1 ext4       30G   28G  400M  99% /
none           devtmpfs  1.8G     0  1.8G   0% /dev
tmpfs          tmpfs     2.0G  4.0K  2.0G   1% /dev/shm
tmpfs          tmpfs     2.0G   29M  2.0G   2% /run
tmpfs          tmpfs     5.0M  4.0K  5.0M   1% /run/lock
tmpfs          tmpfs     2.0G     0  2.0G   0% /sys/fs/cgroup
tmpfs          tmpfs     397M   20K  397M   1% /run/user/120
tmpfs          tmpfs     397M  108K  397M   1% /run/user/1000

猜测可能是分区表的问题:
但是使用下面修复分区的命令的时候并无异常

sudo parted -l

使用fdisk 的命令时发现下面错误

robot@robot:~$ sudo fdisk /dev/mmcblk0
[sudo] password for robot:

Welcome to fdisk (util-linux 2.31.1).
Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.

GPT PMBR size mismatch (25165823 != 124735487) will be corrected by w(rite).
GPT PMBR size mismatch (25165823 != 124735487) will be corrected by w(rite).

Command (m for help): ^C
Do you really want to quit? q

使用fdisk工具修复:
修复步骤如下

robot@robot:~$ sudo fdisk /dev/mmcblk0
[sudo] password for robot:

Welcome to fdisk (util-linux 2.31.1).
Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.

GPT PMBR size mismatch (25165823 != 124735487) will be corrected by w(rite).
GPT PMBR size mismatch (25165823 != 124735487) will be corrected by w(rite).

Command (m for help): p

Disk /dev/mmcblk0: 59.5 GiB, 63864569856 bytes, 124735488 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: gpt
Disk identifier: 43CAB209-E630-440C-8D77-5A7C6BD76C49

Device          Start      End  Sectors  Size Type
/dev/mmcblk0p1  28672 62332927 62304256 29.7G Linux filesystem
/dev/mmcblk0p2   2048     2303      256  128K Linux filesystem
/dev/mmcblk0p3   4096     4991      896  448K Linux filesystem
/dev/mmcblk0p4   6144     7295     1152  576K Linux filesystem
/dev/mmcblk0p5   8192     8319      128   64K Linux filesystem
/dev/mmcblk0p6  10240    10623      384  192K Linux filesystem
/dev/mmcblk0p7  12288    13055      768  384K Linux filesystem
/dev/mmcblk0p8  14336    14463      128   64K Linux filesystem
/dev/mmcblk0p9  16384    17279      896  448K Linux filesystem
/dev/mmcblk0p10 18432    19327      896  448K Linux filesystem
/dev/mmcblk0p11 20480    22015     1536  768K Linux filesystem
/dev/mmcblk0p12 22528    22655      128   64K Linux filesystem
/dev/mmcblk0p13 24576    24735      160   80K Linux filesystem
/dev/mmcblk0p14 26624    26879      256  128K Linux filesystem

Partition table entries are not in disk order.

Command (m for help): d
Partition number (1-14, default 14): 1

Partition 1 has been deleted.
Command (m for help): n
Partition number (1,15-128, default 1): 1
First sector (34-124735454, default 28672):
Last sector, +sectors or +size{K,M,G,T,P} (28672-124735454, default 124735454):

Created a new partition 1 of type 'Linux filesystem' and of size 59.5 GiB.
Partition #1 contains a ext4 signature.

Do you want to remove the signature? [Y]es/[N]o: y

The signature will be removed by a write command.

Command (m for help): w
GPT PMBR size mismatch (25165823 != 124735487) will be corrected by w(rite).

The partition table has been altered.
Syncing disks.
##重启nano
robot@robot:~$ sudo reboot
Connection to 192.168.1.16 closed by remote host.
Connection to 192.168.1.16 closed.
PS C:\Users\LENG> ssh robot@192.168.1.16
robot@192.168.1.16's password:
Welcome to Ubuntu 18.04.5 LTS (GNU/Linux 4.9.140-tegra aarch64)

 * Documentation:  https://help.ubuntu.com
 * Management:     https://landscape.canonical.com
 * Support:        https://ubuntu.com/advantage
This system has been minimized by removing packages and content that are
not required on a system that users do not log into.

To restore this content, you can run the 'unminimize' command.

5 updates can be applied immediately.
3 of these updates are standard security updates.
To see these additional updates run: apt list --upgradable

Last login: Wed Jun 23 17:20:41 2021 from 192.168.1.5

Can't open display
robot@robot:~$
robot@robot:~$ sudo resize2fs /dev/mmcblk0p1
[sudo] password for robot:
resize2fs 1.44.1 (24-Mar-2018)
Filesystem at /dev/mmcblk0p1 is mounted on /; on-line resizing required
old_desc_blocks = 4, new_desc_blocks = 8

The filesystem on /dev/mmcblk0p1 is now 15588347 (4k) blocks long.

robot@robot:~$
robot@robot:~$ df -hT
Filesystem     Type      Size  Used Avail Use% Mounted on
/dev/mmcblk0p1 ext4       59G   28G   29G  50% /
none           devtmpfs  1.7G     0  1.7G   0% /dev
tmpfs          tmpfs     2.0G  4.0K  2.0G   1% /dev/shm
tmpfs          tmpfs     2.0G   29M  2.0G   2% /run
tmpfs          tmpfs     5.0M  4.0K  5.0M   1% /run/lock
tmpfs          tmpfs     2.0G     0  2.0G   0% /sys/fs/cgroup
tmpfs          tmpfs     396M   12K  396M   1% /run/user/120
tmpfs          tmpfs     396M  108K  396M   1% /run/user/1000
robot@robot:~$

大致原因是输入d删除一个分区表,要找到最后一个,即末尾地址最大的那个,因为没有加入分区表的空间一般都在最后,我的编号为1,所以交互输入如上述,最后重启nano后使用resize2fs /dev/mmcblk0p1,然后再次查看nano中的SD卡其他容量将扩进来。
拓展:

sudo fdisk /dev/mmcblk0
进入交互模式,交互指令有
命令(输入 m 获取帮助): m
 
帮助:
 
  常规
   d   删除分区
   F   列出未分区的空闲区
   l   列出已知分区类型
   n   添加新分区
   p   打印分区表
   t   更改分区类型
   v   检查分区表
   i   打印某个分区的相关信息
 
  杂项
   m   打印此菜单
   x   更多功能(仅限专业人员)
 
  脚本
   I   从 sfdisk 脚本文件加载磁盘布局
   O   将磁盘布局转储为 sfdisk 脚本文件
 
  保存并退出
   w   将分区表写入磁盘并退出
   q   退出而不保存更改
 
  新建空磁盘标签
   g   新建一份 GPT 分区表
   G   新建一份空 GPT (IRIX) 分区表
   o   新建一份的空 DOS 分区表

附录:
如果是从官网上第一次直接下的镜像刷入系统后是会有大部分空间是空闲的,可以选用上述方法加入,也可以使用DG磁盘修复工具扩容
在这里插入图片描述
但是如果进行过其他操作或者镜像是别人安装完成很多依赖打包发给你的,可能用此软件不是那么容易修复,可能会有下面的错误,如果是下面的错误,依然用上面修复的步骤即可修复成功。
在这里插入图片描述

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐