If you are using an enclosure or some kind of adapter cable to connect an SSD to your RoninDojo, then you will probably run into a power issue that causes your SSD to unmount. Most enclosures such as Orico are not recommended.
If your RoninDojo will not start or is throwing errors and the SSD does not appear on the list of mounted drives, then you know that the enclosure or adapter is most likely the problem. Check for main drive, usually called sda1, by entering the following command.
We recommend to buy a usb hub to power the drive instead, or get an external SSD like Samsung T5 or T7. Enclosures have caused our team loads of problems and we encourage that the DIY builders avoid them if possible.
This is a possible fix when a drive is suffering from slow performance or insufficient power. For example, this issue may become apparent when System Install has completed, but the external SSD does not show as mounted.
If findmnt doesn't return any output it means no drive is mounted on that location and you could be experiencing this problem.
dmesg | tail -15
sudo nano /boot/cmdline.txt
Add the following text: usb-storage.quirks=idVendor:idProduct:u
sudo systemctl reboot
Check that the USB SSD is mounted using the methods listed in step 1 above.
Install only RoninDojo via the menus, or run both System Setup & RoninDojo install if you had to reflash your micro SD card.
System Setup & Install →
[*] Install RoninDojo →
System Setup & Install →
[*] Setup System [*] Install RoninDojo →
USB Quirks fix above is just a workaround which is not recommended to keep for very long. It is intended to be a workaround for people who need some time to obtain hardware or implement a fix. My recommendation is to buy a usb hub to power the drive instead.
The USB Quirks workaround falls back to usb storage layer which degrades performance on the drive, so it's not ideal long term.
If your system is acting weird, you notice I/O errors, general commands are failing, and you are having difficulty progressing then it is time to troubleshoot. Try the entering the command
dmesg in the terminal and see if you can find an I/O error or read write error.
Here is an example of an I/O error in your bitcoind logs.
bitcoind | Flushing block file to disk failed. This is likely the result of an I/O error.
If you do see these errors, it is time to diagnose why this is happening. Best case scenario is a simple fix, and worst case you have bad hardware. Below are examples of I/O errors for micro SD card and SSD.
I/O error, dev mmcblk0, sector 7628568
Use the following steps to troubleshoot your micro SD card.
Try reflashing the micro SD card if you cannot get the system to function properly while doing basic tasks, which may be accompanied by the I/O error mentioned above.
If this does not work it may be time to try another micro SD card. Be sure that you are using a high quality micro SD card like the ones we recommended in the hardware section of this wiki.
If all else fails, join the RoninDojo chatroom to submit error logs and ask for more help.
I/O error, dev sda, sector 763672728 op 0x0:(WRITE) flags 0x0 phys_seg 1 prio class 0
Try a few different troubleshooting steps to rule out all possible issues before deciding an SSD needs to be replaced. It is possible that this error indicates hardware failure, but first the following steps to troubleshoot.
If you are using an SSD enclosure, this device could be bad and many are made cheap. Try changing enclosures or using external SSD. We do not recommend using SSD enclosures for many reasons. Another good thing to do for drives in enclosures, is to make sure they are staying mounted by using
df -h command.
Try changing USB or SATA ports, restart, and try again.
Try changing cables or changing the PCIe to Sata Controller Card if you have one.
The drive may be getting old, or actually be defective if brand new. Once you have done you best to rule out all other issues, join the RoninDojo chatroom to submit error logs and ask for more help.
Sometimes you can need to delete or format a hard drive for some operations. The most common use case for completely and irrevocably wiping a device will be when the device is going to be given away or sold as this is really important for data protection. There are some commands which can help you to do these operations in Linux.
dd command can overwrite the whole disk with zeros, and is considerably faster than generating gigabytes of random data.
dd if=/dev/zero of=/dev/sda1 bs=512 count=1
If you prefer to further complicate the recovering process, you can write over the entire drive with random data using the following command. This command will take much longer than the overwrite using zeros above.
dd if=/dev/urandom of=/dev/sda1 bs=4096