介绍
Linux系统镜像文件(.img文件或.fw文件)大约有3.0GB大小。当把系统镜像文件烧写到MicroSD卡或eMMC NAND Flash后,你会发现“/”目录所在的系统分区只有3G大小的可用空间。由于这些存储空间会很快被用完,这可能会引起麻烦。例如安装一个emacs软件就要占用200M的存储空间。
因此我们需要扩展根目录系统分区。例如,有一个8GB大小MicroSD卡或8GB大小的eMMC Flash,我们想要把剩余的存在空间扩展到根目录所在的分区。
parted:是一个硬盘分区和分区扩展工具,它允许你创建、撤销、扩展、移动和复制ext2、linux-swap、FAT、FAT32和reiserfs分区。它能够创建、扩展和移动Macintosh HFS分区,也能够检测jfs、ntfs、ufs和xfs分区。它对于新系统创建存储空间,重新组织硬盘空间使用和复制数据到新硬盘非常有用。
resize2fs:能扩展ext2、ext3或ext4文件系统。他能够扩大或缩小设备上未挂载的文件系统。 如果文件系统已经挂载,也能够扩展已挂载的文件系统,只要内核支持在线扩展分区。
- sudo parted /dev/mmcblk0 #mmcblk0表示MicroSD卡或eMMC NAND Flash
- GNU Parted 3.2
- Using /dev/mmcblk0
- Welcome to GNU Parted! Type 'help' to view a list of commands.
- (parted) print #查看分区
- Model: SD SL08G (sd/mmc)
- Disk /dev/mmcblk0: 7948MB
- Sector size (logical/physical): 512B/512B
- Partition Table: gpt
- Disk Flags:
- Number Start End Size File system Name Flags
- 1 8389kB 58.7MB 50.3MB fat16 primary msftdata
- 2 58.7MB 3670MB 3611MB ext4 primary msftdata
- (parted) resizepart #扩展分区
- Partition number? 2 #选择分区2
- End? [3670MB]? -1 #扩展到最末
- (parted) print #查看分区
- Model: SD SL08G (sd/mmc)
- Disk /dev/mmcblk0: 7948MB
- Sector size (logical/physical): 512B/512B
- Partition Table: gpt
- Disk Flags:
- Number Start End Size File system Name Flags
- 1 8389kB 58.7MB 50.3MB fat16 primary msftdata
- 2 58.7MB 7947MB 7888MB ext4 primary msftdata
- (parted) q
- Information: You may need to update /etc/fstab.
- sudo reboot
- sudo resize2fs /dev/mmcblk0p2
复制代码
(注意:/dev/mmcblk0表示MicroSD卡, /dev/mmcblk1表示eMMC NAND Flash。 parted 2.3及以下版本不支持动态分区。)
另请参阅
http://wiki.lemaker.org/LeMaker_Guitar:How_to_resize_system_partition/zh-hanshttp://www.thegeekstuff.com/2011/09/parted-command-examples/
http://www.gnu.org/software/parted/manual/parted.html
http://man.he.net/man8/resize2fs
http://man.he.net/?topic=parted§ion=all