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磁盘修复工具扩容
但是如果进行过其他操作或者镜像是别人安装完成很多依赖打包发给你的,可能用此软件不是那么容易修复,可能会有下面的错误,如果是下面的错误,依然用上面修复的步骤即可修复成功。