Formatting NVMe M.2 Hardrive

Hello, I’ve signed up as I am struggling to get the right installation. How awesome that the new v1.0 UmbrelOS software has been released! I was very excited, however, I am unable to correctly use Umbrel as I don’t have enough storage space!

  1. Raspberry PI5
  2. 64GB SD Card
  3. Using an NVMe base from Pimoroni for M.2 Drive
  4. 2TB Samsung M.2 Drive

First I flash SD Card with Umbrel OS, then I format the M.2 Drive ‘Master Boot Record’ and ‘Ex-Fat’, then with a fresh install of SD Card and M.2 drive I set everything up and turn the PI device on. Everything thing works great, however, upon login I look at the logs and storage space and it decides to format my remaining space on the 64GB SD card and not use the 2TB hard drive!

Other things I have tried. Installing OS to M.2, using PI 5 wants SD Card and won’t continue any further. SSH into Umbrel, using commands such as ‘df’ and ‘fdisk’ which only shows the SD Card and not the M.2 drive.

I know the M.2 works because duration some test installations with Umbrel OS it actually formats my Ex-Fat hard drive and has some ‘PI-RUG’ files placed on the drive and partitions it. It does not use it as storage though! When logging in via host/ip/shh address on the logs and storage I can’t seem to see the drive. Maybe providing logs would help if anyone is interested.

The only thing I have yet to try is format as Ex4, or try installing via RPi OS with SD Card and use curl to get and setup Umbrel Server.

Unless I purchase a SSD and try that way, I’m not sure what to do as of now. I might try and curl using RPI OS see how I get on. I will leave it a few days and see if anyone kindly comments to get us going in the right direction as I read on the community forum that many users are struggling with formatting hard drives.

Oh you know if you plug a usb into usb3.0 blue port then it will format your usb! Shame it’s not the same for M.2 hard drive.

I don’t think this is a power issue either…

Can anyone suggest something?

1 Like

I have the exact same problem. I know my set up works as using CasaOS the drive is picked up by default and works fine. But Umbrel doesn’t work that way for some reason. Would love for it to work.

See this thread for many more examples of the same problem…
https://community.umbrel.com/t/umbrelos-1-0-reads-only-microsd-storage/15596

Hi MadMacks, I have tried all sorts but can’t fully get m.2 working. USB 3.0 formats the hard drive and works in the reader. You can use it like this but it’s not ideal. If I take it out and put in m.2 and then mount sudo mount /dev/nvme0n1p1 /home when ssh Umbrel Dashboard will update and display that I have 2TB hard drive instead of SD-Card storage! But crashes and when restarting fails to work again. Been on GitHub but no solution yet. Best bet is to buy their product or use an external hard drive in the USB 3.0 until a fix comes out whenever that will be!

Might take a look at CasaOS or RaspberryPi for now.

1 Like

I’ve reluctantly ordered a USB3 enclosure for my 2TB drive, and will reluctantly try using that set up. I completely understand that this is community supported software, but they had to know 1.0 wasn’t supporting NVMe from the start so it’s disappointing that there wasn’t more information shared about the (still listed) “Now available for Umbrel Home, Raspberry Pi 4, and Raspberry Pi 5.” capabilities without any caveats on the Pi 5 and NVMe.

A detailed “supports the following tech” list would be a more transparent way to inform users…

1 Like

Yes, It’s not the best way but moving forward at least it is usable for now. My concern is later on from the USB 3.0 to the nvme once there is a supportive update for it will you have to reinstall the system again or be able to read the current data on the device? From a profit’s perspective it’s more attractive and convenient to buy their built in product then use pi devices, you’d think it would help from a cost perspective but with the way the software is you can easily be left with redundant hardware. They have pushed out another update recently 1.0.4 but no mention about nvme support, only pi 4 external hard drive support. I give credit to them, it’s hard work and I appreciate their efforts but I was just disappointed that they don’t support nvme yet, hopefully in time :slight_smile:

Agree completely. They’re working had for the good of all of us, and that’s appreciated. Not supporting NVMe initially would not have been an issue if I’d know about it prior to buying the hardware set up I did in expectation of RPi 5 support. But now I too am thinking the move from USB3 to NVMe at a later date might be a pain… Guess we’ll find out…

Buying their equipment, is an option, but in my situation it’s not that palatable…I live completely off grid on a solar/battery based system, and I generally do not use an inverter most of the time (RV 12v/24v DC based appliances). I build or buy custom buck/boost DC to DC converters to power things like my StarLink set up, TVs, routers, radios, etc. I monitor my power usage very carefully so turning on an inverter to power an Intel power hog is something I avoid as I’d lose around 15% of my supplied power just in the inversion process, not counting the inefficiencies of Intel based systems…but I’m the odd man out the way I live.

@mayank are you planning to support nvme anytime soon?

I’m really getting sick of this. Just how flaky is this OS and environment?

After not being able to boot and use a NVMe based drive I bought a USB 3 enclosure, to move my 2 TB SSD to USB 3 on the Pi 5 (while waiting for 1.1). I then checked that it was readable by connecting it to my MacBook Pro, and Disk Utility sees the device (unformatted).

I then downloaded the 1.0.4 image for RPi 5, flashed it to the 64 gb micro card, plugged in the USB3 SSD drive and booted per the install process instructions.

Nothing. Wait 5 minutes, nothing. Wait 10 minutes, nothing. So I ssh to the IP assigned and I can log in, but an lsblk shows the following…

NAME        MAJ:MIN RM  SIZE RO TYPE MOUNTPOINTS
mmcblk0     179:0    0 59.5G  0 disk 
|-mmcblk0p1 179:1    0  256M  0 part /run/rugpi/mounts/config
|-mmcblk0p2 179:2    0  128M  0 part /boot
|-mmcblk0p3 179:3    0  128M  0 part 
|-mmcblk0p4 179:4    0    1K  0 part 
|-mmcblk0p5 179:5    0    5G  0 part /run/rugpi/mounts/system
|-mmcblk0p6 179:6    0    5G  0 part 
`-mmcblk0p7 179:7    0   49G  0 part /mnt/root/var/log
                                     /var/log
                                     /home
                                     /data
                                     /run/rugpi/state
                                     /run/rugpi/mounts/data

So clearly the 2 TB drive isn’t seen by the OS. Which should mean it just boots to the Micro card, right?

So, maybe a reboot. Wait, 5 minutes. No response from umbrella.local or the IP address. No response from SSH. So wait 5 more minutes. Nothing.

So, reboot again.

OK. Better. Umbrel.local now responds and shows the set up process, which I do. When I go to Settings I see the 2 TB drive. That’s good. But when I try to view the system details I get a “something went wrong” error.

So, maybe, another reboot. So I click the Reboot icon, and wait, and wait, and wait. Nothing.

So, why not, hard power the RPi 5 (again). I unplug the power cord and wait a few, the plug back in…

Now I can SSH but no 2 TB drive in the lsblk list, again. And no response on port 80 for umbrellas.local or the IP address.

So thinking its a boot sequence thing, and hard powering the device might not give the system the time to see the USB drive, I run a reboot using “sudo reboot”, hoping the USB being powered at reboot will allow UmbrelOS to see the damn thing at start up.

Nope. No http response, but SSH works. A quick lsblk still doesn’t see the 2 TB drive.

I know for a fact that the power supply is fine as I’ve tested it and it puts out up to 6 amps at 5.2 volts. So it’s not a low power issue. I know the SSD is available as I can see it on my MacBook and “sometimes” on the RPi 5 running UmbrelOS 1.0.4.

Anybody out there from Umbrel that has any clue on what’s going on will hopefully chime in ASAP before I blow off the entire effort. I’ve wasted way to many hours for what was supposed to be a real sweet release of the amazing and powerful UmbrelOS 1.0! Good grief…

1 Like

Even stranger, I just ran a “df” and I get the following…

umbrel@umbrel:~$ df
Filesystem      1K-blocks    Used  Available Use% Mounted on
overlay          50219552  113188   47522916   1% /
tmp               4122880    5312    4117568   1% /run
/dev/mmcblk0p7   50219552  113188   47522916   1% /run/rugpi/mounts/data
/dev/root         3334328 2946436     198200  94% /run/rugpi/mounts/system
/dev/mmcblk0p1     261864    1148     260716   1% /run/rugpi/mounts/config
/dev/mmcblk0p2     130796   61380      69416  47% /boot
devtmpfs             4096       0       4096   0% /dev
tmpfs             4122880       0    4122880   0% /dev/shm
tmpfs                5120       0       5120   0% /run/lock
/dev/sda1      1921680472 5011960 1818978764   1% /mnt/data
tmpfs              824576       0     824576   0% /run/user/1000

So df says the SSD is mounted at /mnt/data. But lsblk shows nothing! And still nothing from port 80 on umbrel.local or the IP. And a reboot doesn’t help.

Here’s a top output…not sure what http daemon is being used, but I don’t see httpd at all…

top - 01:32:56 up 10 min,  1 user,  load average: 1.53, 1.48, 0.94
Tasks: 158 total,   2 running, 156 sleeping,   0 stopped,   0 zombie
%Cpu(s): 29.7 us,  2.0 sy,  0.0 ni, 68.3 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st 
MiB Mem :   8052.5 total,   7309.1 free,    324.8 used,    507.7 buff/cache     
MiB Swap:   4096.0 total,   4096.0 free,      0.0 used.   7727.7 avail Mem 

    PID USER      PR  NI    VIRT    RES    SHR S  %CPU  %MEM     TIME+ COMMAND                     
  10983 root      20   0  628320  73728  39424 R  27.6   0.9   0:00.83 npm                         
     17 root      20   0       0      0      0 I   0.3   0.0   0:00.57 rcu_preempt                 
     32 root      20   0       0      0      0 S   0.3   0.0   0:00.06 ksoftirqd/3                 
    258 message+  20   0    9968   3584   3072 S   0.3   0.0   0:00.47 dbus-daemon                 
    286 root      20   0  260736  17920  14336 S   0.3   0.2   0:01.27 NetworkManager              
    319 ntpsec    rt   0   85040  18128   7680 S   0.3   0.2   0:00.18 ntpd                        
      1 root      20   0  169024  11152   7680 S   0.0   0.1   0:03.31 systemd                     
      2 root      20   0       0      0      0 S   0.0   0.0   0:00.00 kthreadd                    
      3 root      20   0       0      0      0 S   0.0   0.0   0:00.00 pool_workqueue_release      
      4 root       0 -20       0      0      0 I   0.0   0.0   0:00.00 kworker/R-rcu_g             
      5 root       0 -20       0      0      0 I   0.0   0.0   0:00.00 kworker/R-rcu_p             
      6 root       0 -20       0      0      0 I   0.0   0.0   0:00.00 kworker/R-slub_             
      7 root       0 -20       0      0      0 I   0.0   0.0   0:00.00 kworker/R-netns             
      8 root      20   0       0      0      0 I   0.0   0.0   0:00.09 kworker/0:0-cgroup_destroy  
     11 root      20   0       0      0      0 I   0.0   0.0   0:00.36 kworker/u8:0-scsi_tmf_0     
     12 root       0 -20       0      0      0 I   0.0   0.0   0:00.00 kworker/R-mm_pe             
     13 root      20   0       0      0      0 I   0.0   0.0   0:00.00 rcu_tasks_kthread           
     14 root      20   0       0      0      0 I   0.0   0.0   0:00.00 rcu_tasks_rude_kthread      
     15 root      20   0       0      0      0 I   0.0   0.0   0:00.00 rcu_tasks_trace_kthread     
     16 root      20   0       0      0      0 S   0.0   0.0   0:00.07 ksoftirqd/0                 
     18 root      rt   0       0      0      0 S   0.0   0.0   0:00.00 migration/0                 
     19 root      20   0       0      0      0 S   0.0   0.0   0:00.00 cpuhp/0                     
     20 root      20   0       0      0      0 S   0.0   0.0   0:00.00 cpuhp/1                     
     21 root      rt   0       0      0      0 S   0.0   0.0   0:00.00 migration/1                 
     22 root      20   0       0      0      0 S   0.0   0.0   0:00.06 ksoftirqd/1                 

My thoughts exactly.