10-23-2025, 09:40 PM
(This post was last modified: 10-23-2025, 09:42 PM by Dendrocalamus64.)
I just did this going from 128G to 256G. My process was,
- Create & edit the partition table on the new emmc with gparted. Leave 32M at the beginning for the bootloader, create a 500MB FAT16-formatted boot partition, make the rest one lvm2 physical volume.
- dd the bootloader files that the u-boot package leaves in /boot to the new boot partition.
- Decide on the partition layout, sizes and filesystems I want to start with this time. This is an opportunity to change anything. For ext4, also check the inode usage with df -i and adjust the inode ratio for the new partitions so usage will be about 25%, not 3% or less. The default bytes per inode ratio has not been changed in decades and is too low for most systems due to average file sizes having increased.
- Create the lvm2 volume group. The default physical extent size of 4k is rather small, I prefer more like 256m. Create the logical volumes, format them and mount them.
- Edit /etc/mkinitcpio.conf to add lvm2 hooks, since the prior system wasn't using it. Rebuild initramfs.
- rsync everything over. Make sure to get the new initramfs in the new /boot.
- Edit the new /boot/extlinux/extlinux.conf. At least you need to change the root device.
- Edit the new /etc/fstab so it will find and mount the new partitions / logical volumes.
I think that was everything.
- Create & edit the partition table on the new emmc with gparted. Leave 32M at the beginning for the bootloader, create a 500MB FAT16-formatted boot partition, make the rest one lvm2 physical volume.
- dd the bootloader files that the u-boot package leaves in /boot to the new boot partition.
- Decide on the partition layout, sizes and filesystems I want to start with this time. This is an opportunity to change anything. For ext4, also check the inode usage with df -i and adjust the inode ratio for the new partitions so usage will be about 25%, not 3% or less. The default bytes per inode ratio has not been changed in decades and is too low for most systems due to average file sizes having increased.
- Create the lvm2 volume group. The default physical extent size of 4k is rather small, I prefer more like 256m. Create the logical volumes, format them and mount them.
- Edit /etc/mkinitcpio.conf to add lvm2 hooks, since the prior system wasn't using it. Rebuild initramfs.
- rsync everything over. Make sure to get the new initramfs in the new /boot.
- Edit the new /boot/extlinux/extlinux.conf. At least you need to change the root device.
- Edit the new /etc/fstab so it will find and mount the new partitions / logical volumes.
I think that was everything.

