I recently got myself a Rock64 board to replace my hot and noisy Odroid XU4 as a home NAS server.
Rock64 is a relatively new SBC released in late 2017, so all development on this board is basically at its infancy.
Coming to install my favorite SBC OS Dietpi (highly recommended), I encountered this error:
Insufficient free space on rootfs.
0 MB available, 500 MB required.
It basically means that the partition sizes originally flashed with Etcher are incorrect (too small). I could confirm that by running df -h
, where the root /
device showed 100% used.
I knew from previous experience that partitions are being resized on first boot. Or at least they’re supposed to be.
I was not sure which partitions I was supposed to resize in order to fix this, so I looked online, only to find out that this error is not very well documented.
Eventually I found a nice and straightforward solution on Dietpi’s Github issues page here. Here’s what I ended up doing:
- Found out root partition
/
from previous commanddf -h
. It turned out to be the 7th partition, or/dev/mmcblk1p7
(Mind the7
from now on). gdisk /dev/mmcblk1
→w
→y
→y
fdisk /dev/mmcblk1
d
→ Delete a partition7
→ Partition numbern
→ Create a new partition7
→ Partition numberEnter
→ First sector (default value)Enter
→ Last sector (default value - use all available space)y
→ In case the following error message shows up:Partition 7 contains a ext4 signature. Do you want to remove the signature?
- At the end, the following error message may pop up and can be ignored:
Re-reading the partition table failed. Device or resource busy.
partprobe
resize2fs /dev/mmcblk1p7
reboot
I’m sure this bug will eventually be fixed and there won’t be any need to manually resizing partitions, but for the time being I think it’s the easiest solution that can be executed from inside the system itself while it’s running.