-
Notifications
You must be signed in to change notification settings - Fork 44
Hardware
The creation of the PiNode-XMR self install script has now allowed the project to break free of the limitations of the Raspberry Pi platform.
As of April 2020 PiNode-XMR can be built on top of any ARM based single board computer running Ubuntu Server LTS OS (link to Armbian official download site) or for Raspberry Pi via the official disk imager available from RaspberryPi.com Disk Imager . Where possible, as the project runs 'headless' the minimal/lite/server versions were used.
Device | Base disk Image | Tested? | Status | Build time | Notes |
---|---|---|---|---|---|
Raspberry Pi 3b+ | Ubuntu Server 22.04 LTS 32bit | ✅ | ✅ | Approx 8hrs | 32bit OS Req for Pi3. This will allow use of BlockExplorer. No P2Pool. |
Raspberry Pi 4 | Ubuntu Server 22.04 LTS 64bit | ✅ | ✅ | Approx 4hrs | |
Raspberry Pi 5 | Ubuntu 23.10 (GNU/Linux 6.5.0-1011-raspy aarch64) | ✅ | ✅ | Approx ~1.5 hours | MicroSD as OS and external SSD as blockchain storage. Community tested by @yijiechoo16163 |
Rock 64 | Armbian_20.05.1_Rock64_focal_current_5.4.43 or Armbian_21.08.1_Rock64_focal_current_5.10.60 | ✅ | ✅ | Approx 4 hrs | Requires 4GB RAM. For 2GB model, enable swap file must be selected in install menu. Disk images may be found in 'Archived' section of Download page. |
RockPro64 | Armbian_22.02_Rockpro64_jammy_5.16 | ✅ | ✅ | Approx 4 hrs | V.Rare cases of sync instability. See https://github.com/shermand100/PiNodeXMR/issues/88 |
Odroid XU4 | Armbian_22.05_Odroid XU4/HCx_jammy_5.4.y | ✅ | ✅ | Approx 4hrs (30mins light-mode) | 32bit device, Recommend light-mode. |
Odroid HC1 | Armbian_22.05_Odroid XU4/HCx_jammy_5.4.y | ✅ | ✅ | Approx 4hrs (30mins light-mode) | 32bit device, Recommend light-mode. https://github.com/shermand100/PiNodeXMR/issues/17 |
Odroid HC2 | Armbian_22.05_Odroid XU4/HCx_jammy_5.4.y | ✅ | ✅ | Approx 4hrs (30mins light-mode) | 32bit device, Recommend light-mode. https://github.com/shermand100/PiNodeXMR/issues/17 |
Rock Pi 4 | Armbian_22.05_Odroid XU4/HCx_jammy_5.15.y | ✅ | ✅ | Approx 4hrs |
Devices with less than 2GB RAM may still be compatible if augmented with a 2GB swap-file. You will be given the opportunity to create this swap file during installation.
The following list of devices will require members of the community to participate in the testing and feedback process. The goal is to move devices from the table below to the confirmed table above.
Device | Base disk Image | Tested? | Status | Build time | Notes |
---|---|---|---|---|---|
Orange Pi Plus 2E | Armbian_22.02_Rockpro64_jammy_5.16 | ✅ | ✅ | Approx. 4-6 hours | Community tested by @dalecooper for PiNodeXMR v4 - requires re-test for v5 |
Any device listed here | Table of Armbian_22.02_Rockpro64_jammy_5.16 devices | PENDING | ❓ | ❓ |
I'd love to hear from other users of their installation experience. Including devices not listed above or variants of. If you would like to contribute by being a tester please see https://github.com/shermand100/PiNodeXMR/issues/3 and leave your results there as a comment or the usual means via the PiNode-XMR Reddit or telegram
As of Q4 2023 Monero Blockchain size is >180GB for a full node and a general rule of thumb is that it is growing 30GB per year. For a pruned node the general rule of thumb is that it is 1/3 the size of the comparable full node.
Therefore right now in Nov 2023 a 256GB SSD may last until end 2025 as a full node before being full, but would continue it's life considerably if you afterwards opted for a pruned node. (By which time large SSDs will be cheaper anyway).
The storage requirement for the PiNodeXMR OS is obviously much lower. The largest/most bloated OS is Ubuntu server on Raspberry Pi at 10GB, but to allow additional space for growing logs, security upgrades and future enhancements to the PiNodeXMR project I'd recommend allowing 16GB for PiNodeXMR OS.
If you intend to use the same storage for PiNodeXMR OS and blockchain storage a ~320GB device should be considered for full node. At an absolute barebones budget level a pruned Monero blockchain and PiNodeXMR system could operate on a 128GB MicroSD, but expect poor read/write performance and less than 24months lifespan of the card.
It's been highlighted by a user that USB mounting and system freezing issues can be caused when a device such as a Raspberry Pi tries to use a data protocol for increased speeds on USB3 that some USB adapters can't support.
This is reported on Raspberry Pi forums but could affect other Linux variations too.
A substantial list of good and bad adapters can be found externally here
If you already own a USB adapter you intend to use and either experience data error symptoms or wish to pre-empt against them there is a simple step to force an older protocol.
Take a bit of time to plan your build.
You'll see some fairly serious builds out there made by committed tinkerers. These look great and run great but the price tag of the build can put a lot of people off. This in most cases isn't necessary...
In it's simplest and cheapest form this will run on a Raspberry Pi with a 256GB MicroSD card (or 64GB card if running a pruned node), but I should re-iterate the piece on limitations on the main page. If you are creating a lower budget build with older hardware your best experience with this project will be if you can copy an already sync'd blockchain from your main PC/Laptop to give your single board computer a good head-start. It is super simple to do with free software such as WinSCP (free). Just drag and drop over your network.
The next cheapest and best performance upgrade for the money you can do is to ditch MicroSDs at the first opportunity. Where possible if your device can support "USB boot" so everything (Operating system and blockchain) can be all loaded onto USB storage then your system will last longer and run faster. USB2 is faster than MicroSD and USB3 is best. HDD is better than MicroSD, and SSDs and NVMe's are best. It's all down to cost. In most cases you can use your standard SD card imaging software to write as you usually do but to a USB drive instead. Just google for the instructions for your hardware.
The below images are of my personal node, of which I believe is constructed from realistic parts (average budget and performance) available to anyone in the world. Total build less than $200.
Parts: (All links to https://shop.allnetchina.cn/)
-
ROCK 4 MODEL A - BOARD ONLY (WITHOUT WLAN/ BLUETOOTH/ POE) 4GB ~$70 Best budget option. Ethernet connection preferred for easy setup, if you upgrade to include wifi consider the device is within metal case so doesn't give best connection.
-
EMMC 5.1 FOR ROCK 4 16GB ~$12 For OS storage
-
ECOPI STARTER ALUMINUM HOUSING FOR ROCK 4 A/ B/ A/B+ ~$15 Silver or Black
-
A PCIe M.2 NVMe SSD is required. The Monero blockchain is currently 170GB in July 2023 (I bought a "Silicon Power PCIe M.2 NVMe SSD 256GB" drive for ~$50
Notes on the build: - The above parts build the standard node WITHOUT the OLED display shown and should be possible by an average DIYer. Below is the remaining info to add a display and requires extra tooling and parts which is rather fiddly and not essential for the function of PiNodeXMR.
The display is very common and can be purchased from any bulk/discount electronics retailer. I got mine from Aliexpress ~$3 as a 0.96 inch OLED 4PIN 7PIN IIC Serial White Display Module 128X64 I2C SSD1306
The display is then bolted to the M.2 extension board with 12mm (trimmed to size) M2 (2mm thread) bolts and nuts used as risers for correct standoff. The display is wired with budget female to female Dupont GPIO wires, trimmed, soldered and heat-shrink re-insulated.
An additional software tweak is then needed to run data to the display via I2C, message me for details if you intend to proceed with this step. I am happy to try and help but I consider this bit to be rather fickle with the drivers it accepts and so my help will be limited to pointing you to the repository I used and custom python script for the data and linking it. Adding the display is advanced for this project.