getumbrel / umbrel

A beautiful home server OS for self-hosting with an app store. Buy a pre-built Umbrel Home with umbrelOS, or install on a Raspberry Pi or any x86 system.
https://umbrel.com
Other
7.45k stars 533 forks source link

UmbrelOS 1.0 Does NOT recognize NVMe M.2 SSD drive at all... #1753

Open madmacks59 opened 7 months ago

madmacks59 commented 7 months ago

I have a brand new Pi 5 with 8GB ram, a 64 GB Micro SSD, and a 2TB Crucial P3 Plus PCIe Gen4 3D NAND NVMe M.2 SSD drive. Umbrel.local only sees and shows the 64 GB Micro SSD card.

Also, I am unable to SSH to the Pi 5 when running UmbrelOS 1.0.

When I try accessing via SSH the server reports “Permission denied, please try again.”. I see no way to configure the 1.0 OS to allow SSH access, so I can’t use normal Linux commands to see if the 2 TB drive is even recognized by the OS.

In the set up instructions it doesn’t say anything about “pre formatting” the drive. So I re-flashed the Micro SSD with RPi Bookworm, installed GPARTED, and formated the 2TB drive, which shows up fine when running Bookworm. I then re-flashed UmbrelOS 1.0 back on the Micro SSD and rebooted. Still no 2TB drive.

So, does UmbrelOS 1.0 support only USB based drives? Or is there some other issues going on here?

madmacks59 commented 7 months ago

I was finally able to ssh and when i run lsblk I get the following.... umbrel@umbrel:~$ lsblk 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 /mnt/root/var/lib/docker /var/lib/docker /home /data /run/rugpi/state /run/rugpi/mounts/data nvme0n1 259:0 0 1.8T 0 disk -nvme0n1p1 259:1 0 1.8T 0 part ` So, it looks like the OS "sees" the device, but I don't see a mount point.

derogab commented 7 months ago

Exactly the same problem here.

I've read on the website @lukechilds say there is still no NVMe support on Pi 5 right now but it’s high on their list of priorities.

There is already an open PR #1719 and @smolgrrr say that they plan to add support for NVMe drives in UmbrelOS 1.1.

I hope it can be available very soon!

derogab commented 7 months ago

I have a little TEMPORARY WORKAROUND for this, using symbolic links.

For standard users

Probably the best solution is to wait for Umbrel 1.1.

For users who know what they are doing

Disclaimer: this is an quick unofficial workaround. If you use this an SD card for your system and an external drive, there is no reason why the data should not be safe.... but I don't know how the connection to NVMe M.2 SSDs will be handled with the 1.1 update. So this could lead to malfunctions, unwanted deletions, or may need further manual changes to be made later.

Update: umbrel will use the external drive as data storage but the number of apps that can be installed is still limited to the size of the SD card (docker images are downloaded here). It remains a quick fix for those who use very few apps and don't use the server professionally. Maybe a solution by modifying the mount-points could have been better.

First of all run lsblk command to view all connected devices. You should be able to see your NVMe M.2 SSD drive in a way like this:

nvme0n1 259:0 0 1.8T 0 disk
-nvme0n1p1 259:1 0 1.8T 0 part
Auto-mount your external drive at boot

Then install cron.

sudo apt install cron

And setup a script to auto-mount your drive on boot. It must be run as root so you may need to run sudo su before edit the cron config file. Open it with crontab -e command and add the follow line at the end:

@reboot mount /dev/nvme0n1p1 /media/storage >> /tmp/mount-storage.log

Now your drive will be mounted automatically at system boot.

Move all to your external drive

Before moving the data, it is advisable to turn off your umbrel.

sudo systemctl stop umbrel

Move your umbrel folder to your external drive.

sudo mv /home/umbrel/umbrel /media/storage/

Add a symbolic link from external drive folder to default place folder.

sudo ln -s /media/storage/umbrel /home/umbrel/umbrel 

You can now easily restart your umbrel.

sudo systemctl restart umbrel

Everything should be okay now.

devlsh commented 6 months ago

1.1.1 is out now - will try this out tomorrow to see if this is still an issue

EDIT: nevermind, dug deeper and this is planned for 1.2 now - https://twitter.com/mayankdotch/status/1780628827737309359