Cannot use on 8TB NVME drive

I have an 8TB NVME drive attached to the pi 5 via the Pimoroni hat.
The 4i won’t allow me to use it as the temporary storage device:

sudo bash mk_encr_sd_rfs.sh -x /dev/nvme0n1
Hit:1 http://deb.debian.org/debian bookworm InRelease
Hit:2 http://archive.raspberrypi.com/debian bookworm InRelease                                                                          
Hit:3 http://deb.debian.org/debian-security bookworm-security InRelease                                                                 
Hit:4 http://deb.debian.org/debian bookworm-updates InRelease                                                                           
Get:5 https://pkgs.tailscale.com/stable/debian bookworm InRelease                                                                      
Hit:6 https://zk-sw-repo.s3.amazonaws.com/apt-repo-bookworm-aarch64 bookworm InRelease
Fetched 6,581 B in 1s (6,395 B/s)
Reading package lists... Done
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
zksaapps is already the newest version (1.0-16).
rsync is already the newest version (3.2.7-1).
The following packages were automatically installed and are no longer required:
  cloud-guest-utils eatmydata libeatmydata1 python3-blinker python3-configobj python3-json-pointer python3-jsonpatch python3-jsonschema python3-jwt python3-netifaces
  python3-oauthlib python3-pyrsistent python3-rfc3987 python3-uritemplate python3-webcolors
Use 'sudo apt autoremove' to remove them.
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
Stopping zkifc...done.
mount: /mnt/tmproot: special device /dev/nvme0n11 does not exist.
       dmesg(1) may have more information after failed mount system call.
Mounting failed. Installing crypto installer on /dev/nvme0n1.
Installing necessary packages...
umount: /dev/nvme0n11: no mount point specified.
done.
Formatting USB mass media on /dev/nvme0n1...1+0 records in
1+0 records out
512 bytes copied, 0.0528332 s, 9.7 kB/s
The device contains 'ext4' signature and it may remain on the device. It is recommended to wipe the device with wipefs(8) or fdisk --wipe, in order to avoid possible collisions.
The size of this disk is 7.3 TiB (8001563222016 bytes). DOS partition table format cannot be used on drives for volumes larger than 2199023255040 bytes for 512-byte sectors. Use GUID partition table format (GPT).
mke2fs 1.47.0 (5-Feb-2023)
The file /dev/nvme0n11 does not exist and no size was specified.

Does anyone know of a way to force it to use a different format?
Thanks,
Crab

Hi @crab and welcome!

So the short answer is that the script expects all external storage devices to be of the form /dev/sdX so it defaults to /dev/sda but allows you to specify /dev/sdb, /dev/sdc. etc. It does not at this point know how to handle /dev/nvme0n1 names.

It’s not a hard fix on our end, and I’ve put it on the radar of the engineering team.

That being said, if you’re anxious to get this going now instead of waiting, you can edit the script yourself to be able to handle the /dev/nvme0n11 naming. I’m not going to necessarily recommend doing this, but if you want to …

Download the script but instead of piping it to bash save it to a file and edit it. The change you will want to make is around line 105:

Change:
EXT_TMP_PART="${EXT_DEV}1"
To:
EXT_TMP_PART="${EXT_DEV}p1"

That should work as long as you still pass -x /dev/nvme0n1 to the script on the command line.

Let me know how you get on with this!

Best Regards,
dg

1 Like

Thanks for getting back to me davidgs_zymbit1.
I think there’s an issue with it being over the 2TB limit for a MBR partition too, you might have to ask them to change it to GPT instead.
Many thanks, and glad to hear it’s being worked on.
Crab

@crab - Yes MBR is limited to 2TB partitions. Are you just using the 8TB nVME as temporary space for the encryption process? What are the sizes of your /boot and /root (and other?) partitions in your running configuration? Where do your /boot and /root partitions reside?

Hi Bob, thanks for getting back to me.
The 8TB is for data storage on the embedded device in addition to being the temporary space for the encryption, as a result we don’t want to have to use additional removable media which will have to be formatted each time.
The rest of the setup is a very standard Raspberry Pi, with the root partition at 28.4G and the boot at 512M mounted on an SD card, 32GB in size, so mmcblk0
Thanks,
Stan