FluxNode On Raspberry Pi 4b, Official Setup Guide

Flux Official
7 min readMar 27, 2021

Valter is a Sr. Developer at Zelcore Technologies Inc.

“The only way to discover the limits of the possible is to go beyond them into the impossible.”

–Arthur C. Clarke

Raspberry Pi4b
FluxNode on Raspberry Pi4b — Check the install video! (this video was made for old requirements, currently only what is shown on the video for Nimbus will pass the Cumulus Benchmarks)

https://youtu.be/-lJJyuliR38

Another video guide using a different enclosure with nvme sata:

https://youtu.be/n2CMwfahUBI

What Are The Minimum Requirements?

1. For this guide, we are using SanDisk microSD V30 128Gb SD CARD with SD adapter (recommended min. 128 Gb).”

2. Raspberry Pi 4b 8Gb version

3. Official Raspberry Pi 4b Power adaptor (recommended)

4. Micro HDMI Converter

5. HDMI Cable

6. Ethernet Cable

7. USB Keyboard

8. A good quality heatsink case (recommended) (I am using GeekWorm P173)

9. Laptop or Computer PC with USB/SD card reader or USB micro sd card reader

11. SSD Storage Device with min. 240GB with good write speed (I am using currently Crucial MX500)

12. USB 3.0/3.1 2.5inch HDD Enclosure WITH UASP support

Note: If you have an existing card, please make sure you back up all the existing data before continuing”

Let the fun begin!!

Step 1 — Memory Card (SD Card) Setup

1- Go to https://ubuntu.com/tutorials/how-to-install-ubuntu-on-your-raspberry-pi#2-prepare-the-sd-card

2- Download the correct Raspberry Pi Imager for your Operating system onto your computer.

3- Locate the file & Run/Execute the Raspberry Pi Imager app you just downloaded

4- Open the app & choose the correct OS by pressing and then selecting Ubuntu -> Ubuntu Server 20.04.3 LTS(RPI 3/4/400), 64bits Edition only

5- On the app, Press & choose SD Card and then select your SD card from the list below

6- Click on Write. (It will download and install the Ubuntu 20 Server on the SD card).

7- After finishing it safely, remove the SD Card from Computer OS. (Use the eject option on your computer to remove the card safely from the slot)

Step 2 — Time for the Bootup…

1- Connect the keyboard to the raspberry pi USB port

2- Connect the LAN cable from the router to the Pi ethernet port

3- Connect the Monitor or TV using the HDMI cable & connect it to the micro HDMI converter

4- Insert the micro SD card into the slot. (Please be careful when sliding in the card. It can lead to permanent damage to the slot if not inserted correctly)

5- Lastly, Connect the power cable & power on the device.

Step 3 — Ubuntu steps on Raspberry Pi

1- At this point, when booting up, please ensure that you have an internet connection & since this is the first time your system is booting, it may require you to download additional data from the network.

2- Press enter, and you will be prompted to log in.

3- Use ubuntu (case-sensitive) for login & password

4- You are required, now, to change your password (please make sure you use a strong password) (After you install Flux Node, you will only need to remember Flux Node install user, ubuntu should never be used anymore)

5- Once the login credentials have been updated, you will get system information with your raspberry Pi local IP. You need to Save or Write this IP

6- Disconnect the HDMI and keyboard from the raspberry Pi USB ports as they are no longer needed. This will also save you some power usage of the Pi.

7- Now, let’s configure raspberry pi from your computer.

Step 4 — Installation Setup using Computer

1- Download Putty or MobaXterm or any other SSH application to login into your raspberry pi

2- Connect to the IP you saved previously. Please use port 22 for SSH. Hit save & open

3- For login, use user ubuntu and the new password you have stored

4- On the screen type: top (you should see auto updater running and installing; wait until it finishes to move to the next step, to leave that window, press ctrl+c)

5- On the screen type: sudo apt-get update

6- Execute command: sudo apt-get upgrade -y(It will take a while to update all the packages, so be patient. Do not interrupt the setup process. The first time is normal if fails because ubuntu RPI image auto-updates on the first boot you can check that running command top and confirming update is running. If that is the case wait until the auto-update finish and execute again the command until it finishes without errors.)

6- Execute command: sudo apt autoremove

6- Reboot pi with the command: sudo reboot

7- SSH again to your pi using ubuntu user to login.

8- Let’s define root user password with command: sudo passwd root (Use a secure strong password.)

7- Let’s change to root user to confirm the password was defined properly with the command: sudo su -
(it will ask your root password)

Step 5 — Configure your router to work with Flux

1- Connect to your router and set up port forwarding both TCP/UDP on ports range 16124–16129 and range 30000–39999 for your raspberry pi local IP.

2- If you want to be able to SSH to your FluxNode (raspberry pi) from a connection outside your LAN you need to set a port forward for port 22 TCP, this will enable you to SSH your FluxNode.

3- On some routers, port forwarding does not work correctly, if you have problems on the benchmark with flux disconnected status, I suggest you remove port forwarding on your router and try setting DMZ for your raspberry pi local IP.

Step 6 — Installing Flux Node

Big shout out to Kamil! We both have worked together, to make the FluxNode install script compatible with ARM64 devices. Once again, thank you for all your help & support.

1- Please go to FluxNode setup medium below Follow the guide where it’s used the VPS use your raspberry pi the same way

https://bit.ly/32cUFMx

2- When install guide say to use root credentials, Login into your raspberry pi with ubuntu user, and switch to root by executing command: sudo su -

4- After FluxNode Install Complete you should reboot your device with cmd type: sudo reboot

6- Wait for 5m, ssh to your raspberry pi and check if your benchmarks. Execute the command: fluxbench-cli getbenchmarks
They should be failing because no SSD storage was detected. We will solve that on the next step. (Success benchmarks is when status = node tier. Only start a FluxNode on Zelcore when benchmark is ok).

NOTE: Install process will take time Please have patience, remember this is an ARM device, and it also depend on your microSD card speed, internet speed.

Step 7 — Configuring SSD

1- Connect your USB enclosure with the SSD disk to your laptop or desktop and format the disk in ext4 format. (I use MiniTool Partition Wizard app on windows but you can use any application to do it).

2- After finishing it safely remove the USB SSD Disk from Computer OS. (Use the eject option on your computer to remove the USB safely from the USB slot)

3- Connet the USB enclosure to the Raspberry Pi 4B blue port.

4- SSH to your raspberry pi with the flux node user.

5- Follow the guide in https://gordonlesti.com/mount-ext4-usb-flash-drive-to-raspberry-pi/ to mount USB SSD disk and do a permanent mount;

6- Execute the command: fluxbench-cli restartnodebenchmarks

7- Wait 5 minutes and check the benchmark results with the command: fluxbench-cli getbenchmarks

If all is ok, a new USB SSD Disk should appear on benchmark results with a Write Speed > 180MB/s what is required to pass benchmarks. If Status = Cumulus, you can start your Flux Node on Zelcore.

⚠️ Warning: DO NOT INTERRUPT THE REBOOT PROCESS OR POWER OFF THE DEVICE

💡 Extra Extra Tip

  • Raspberry Pi gets hot if it’s enclosed in a case. Use a proper heat sink, with good ventilation to keep the temperature down.
  • In case, if you can’t get a case built use heatsinks to mount it on

Check Temperature:

Command on ubuntu to check Pi temperature is:

cat /sys/class/thermal/thermal_zone0/temp (result example 53069 means 53ºC)

Command to check clock (MHz):

sudo cat /sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_cur_freq (result example 1500000 means 1500Mhz)

Thank you for supporting our project:

Valter/Cabecinha84 (Zelcore/Flux Developer)

Learn more about Flux here: https://fluxofficial.medium.com/

--

--