the easy way to run a full Ethereum node on RPi4

First steps

Congratulations! You made it this far.
There are three steps left before starting geth.

1. Network configuration

You need to assign a fixed IP address to your RPi.
Just execute the and fill in the fields.
Alternatively you use the raspi-config tool or edit config files.
Once finished - restart the box and check its IP address.

This is a good moment to log in to your router and forward port
30303 TCP/UDP to the newly assigned IP address.

2. Prepare your SSD drive

Connect the SSD drive to one of the "blue" USB ports.

If you want to create a single partition of maximum size (recommended)
or remount your partition after upgrading Ethbian just run
the command.

If you want to do that manually - just create a partition and mount it to the /mnt/ssd directory.
Once mounted, create the /mnt/ssd/datadir subdirectory and change its owner to the eth user.

When finished - restart the box and check if the disk is mounted to the /mnt/ssd directory.

3. Upgrade geth binary

To be sure you're running the latest geth version - just execute the -u command. That's it.

4. Switch to 64bit kernel

Because of memory allocation problem with the latest Raspbian and RPi4
you should switch to 64bit kernel. iIf you don't - when fully synced,
geth will crash every couple of minutes/hours causing your Pi to hang eventually.
Just run the command.

Your system is ready now.

To start geth: sudo systemctl start geth
To run geth on startup: sudo systemctl enable geth

Now, give geth a couple of minutes and check the /var/log/syslog file.
If you can see some errors related to the SSD drive - take a look at this.