Successfully Upgraded Neo5 from 2TB to 4TB SSD

Picked up a Corsair P3 Plus 4TB NVMe SSD during prime days with the intention of cloning my current Lexar NM710 2TB onto it. This new 4TB drive is still only single sided so not as thick as some other drives, which might be important for fitting it in the Neo5. This upgrade process also required an NVMe enclosure to setup the new drive with and also to use as a caddy for the old drive once it’s swapped out so I picked up this Sabrent one which uses the Realtek RTL9210B and is FW upgradeable.

First step is to get the new drive flashed with the latest rpios 64 bit release. Booted the Pi5 from the uSD card and used the imager app to load the new SSD drive which I installed in the Neo 5 case. At this point the Pi5 could boot from the new drive but saw it as a 2TB device, not the full 4TB. To fix that I used this gptconverter tool to change the drive to GPT from MBR which would allow me to resize the partition to its full size. The only thing I did differently from the instructions for the tool was that instead of removing/inserting the uSD card for various steps (which is non-trivial on the Argon Neo5) I simply used raspi-config to change the boot order to either use the uSD card first or not.

After that I had my Pi5 booting the full 4TB with the latest 64 bit pi OS release. Now I needed to find a way to bring the Pi5 up to speed with all of the tweaks I had made on the original 2TB setup. To do this I used Jeff Geerling’s forked rpi-clone script. First I made copies of the following working files from the new 4TB setup (onto the uSD card):

  • /boot/firmware/cmdline.txt
  • /etc/fstab

I had to do this because I couldn’t figure out how to stop rpi-clone from messing with the PARTUUID’s in these files. Then I put the old 2TB SSD back in the Neo5 case and the new 4TB drive in the new enclosure and ran the script with:

sudo rpi-clone sda -l --exclude=/home/me/Videos

This syncs all the files off the booting 2TB drive onto the new 4TB drive in the enclosure which is on /dev/sda. Before exiting the script but after all the files are sync’d over to the new drive you can restore the saved files from above back to their original contents. The key here is that you want the PARTUUID’s from “sudo blkid” to match the contents of the above files. The “–exclude” flag just meant that rpi-clone wouldn’t sync these files.

After all that I put the new 4TB drive back in the Neo5 and rebooted and I now have all my old setup from the 2TB drive along with an extra 2TB of space all working great at PCIe speeds in the Neo5. As a bonus I also have a nice lightweight portable 2TB drive working in the 10Gbps enclosure for a total of 6TB. Interestingly my Pi5 in the Neo5 case has no problem powering these 4+2TB of NVMe SSD drives using the 27W GaN power supply from argon40.

Hopefully that might help some one else looking to do something similar.

2 Likes