Moving space from swap to /
I have a 4GB sd card but what i’d like to be able to do is have more free space on the / partition I don’t actually need a swap partition either so how would i resize/move partitions for example using fdisk?
Disk /dev/mmcblk0: 3.7 GiB
Device Boot Start End Sectors Size Id Type
/dev/mmcblk0p1 * 2048 3844095 3842048 1.9G 83 Linux
/dev/mmcblk0p2 3846142 7772159 3926018 1.9G 5 Extended
/dev/mmcblk0p5 3846144 7772159 3926016 1.9G 82 Linux swap / Solaris
Filesystem Size Used Avail Use% Mounted on
udev 920M 0 920M 0% /dev
tmpfs 187M 20M 168M 11% /run
/dev/mmcblk0p1 1.8G 1.3G 417M 76% /
tmpfs 935M 0 935M 0% /dev/shm
tmpfs 5.0M 0 5.0M 0% /run/lock
tmpfs 935M 0 935M 0% /sys/fs/cgroup
tmpfs 187M 0 187M 0% /run/user/1001
- Stop the swap using
swapoff -a
- Remove the swap (
/dev/mmcblk0p5
) and the extended (/dev/mmcblk0p2
) partitions. To remove a partition with fdisk just runfdisk /dev/mmcblk0
and used
to delete a partition (it will ask which one). - Don’t forget to remove swap entry from
/etc/fstab
and GRUB config. - Resize the
/
partition. Resizing a partition with fdisk means deleting it and then creating a new one with same start sector and different end sector. You can follow for example this answer. - Don’t forget to resize the filesystem on
/dev/mmcblk0p1
after you resize it. Use tool for your filesystemresize2fs /dev/mmcblk0p1
for Ext4 orxfs_growfs /dev/mmcblk0p1
for XFS.
As always with storage, make sure to make a backup first.