🦏
ETH Home Staking Collection
DVT Home Staking Curriculum
DVT Home Staking Curriculum
  • The DVT Home Staking Curriculum
  • Curriculum breakdown & timeline
  • Understanding ETH validators
    • Introduction to ETH Validators
    • Roles & Responsibilities of a node operator
    • Rewards and penalties
    • Importance of client diversity
    • Distributed Validator Technologies (DVTs)
    • Economics of using DVTs (WIP)
      • Diva Staking (WIP)
      • Obol (WIP)
      • SSV (WIP)
    • Bonded Validators
    • Economics of bonded validators (WIP)
  • Hardware & systems setup
    • Setup Overview
    • Hardware & system requirements
    • Procuring your hardware
    • Assemble your hardware
    • Practicing for free on Cloud VMs
      • Google Cloud
      • Alibaba Cloud
  • Linux OS, Networking, & Security
    • Install and prepare the OS
    • Networking & network security
    • Device level security setup
    • Verifying checksums
  • Installing & configuring your EL+CL clients
    • Set up and configure execution layer client
      • Nethermind
      • Besu
      • Geth
      • Erigon
      • Reth
    • Set up and configure consensus layer client
      • Teku BN
      • Nimbus BN
      • Lodestar BN
      • Lighthouse BN
      • Prysm BN
  • Keystore generation & MEV-Boost
    • Validator key generation
    • Set up and configure MEV-boost
  • Native Solo Staking Setup
    • Validator client setup
      • Teku VC
      • Nimbus VC
      • Lodestar VC
      • Lighthouse VC
      • Prysm VC
    • Depositing 32 ETH into your validator
    • Exiting your validator
  • Monitoring, Maintenance, and Updates
    • Set up monitoring suite
      • Installing & configuring Prometheus
      • Installing & configuring Node Exporter
      • Installing & configuring Grafana
      • Beaconcha.in App API
      • Client Uptime Check
    • Maintenance & Updates
      • Nethermind
      • Besu
      • Teku
      • Nimbus
      • Lodestar
      • Updating the monitoring suite
      • Preparing for Pectra
  • DVT Setup
    • Diva Staking
      • Diva Staking client setup
        • Default - All-in-one setup
        • Advanced - with standalone Lodestar VC
      • Registering your Diva node
      • Updating your Diva client
      • Monitoring your Diva Node
    • Obol
      • Techne Bronze Speedrun (Launchpad)
      • Obol + Bonded Validators (Techne Silver)
        • Obol + Lido CSM
    • SSV
      • SSV + Lido CSM (WIP)
      • SSV Operator
      • SSV Staker
  • Bonded Validators Setup
    • Lido CSM
      • Generating CSM keystores
      • Set Fee Recipient Address
        • Method 1: Configure on validator keys
        • Method 2: Configure on separate validator client
        • Verifying Fee Recipient Registered on MEV Relays
      • Upload/Remove/View validator keys
      • Rewards & bonds
      • Exiting CSM validators
        • "Lazy" exits (TESTNET ONLY)
        • Proper Exits
      • Role/Address management
      • Monitoring
      • Automations
        • CSM with ETHPillar
        • CSM with ETH Docker
        • CSM with Dappnode
    • Puffer
      • Non-Enclave: 2 ETH
    • Ether.fi
      • Receive distributed validator keyshares
    • Stader (WIP)
    • Rocketpool (WIP)
  • Liquid Staking Vaults
    • Stakewise V3
  • Mainnet
    • Mainnet Deployment
    • Heroglpyhs (WIP)
  • Best practices
    • Slashing prevention
    • Maximising uptime and performance
    • Optimising security
    • Managing your withdrawal wallet
  • Tips
    • Advanced networking
    • Downloading files from your node
  • Useful resources
    • General resources
    • Holesky Faucets
  • Automation/tools
    • ETHPillar
    • ETH Docker
    • Automated power on/off
      • Wake-on-LAN (WoL)
      • Network UPS Tools (NUT)
    • Validator Healthcheck Alerts
  • Solo Stakers Guild
    • Lido CSM+SSV+Obol (Testnet)
Powered by GitBook
On this page
  • Flash Ubuntu OS on USB Drive
  • Download the latest version of Ubuntu
  • Verify the checksum of download
  • Download an ISO writer
  • Install Ubuntu on your NUC
  • Install the SSH Server
  • Prepare your OS
  • Install useful packages
  • Configure timekeeping
  • Create a Swap Space
  1. Linux OS, Networking, & Security

Install and prepare the OS

PreviousAlibaba CloudNextNetworking & network security

Last updated 11 months ago

Flash Ubuntu OS on USB Drive

Download the latest version of Ubuntu

Now that you have assembled your hardware, you will need to install the Ubuntu OS onto your device. To do that, we will need to create a bootable USB drive flashed with the latest Ubuntu OS. Follow the steps below:

  1. Prepare a new USB drive of at least 8GB

  2. On your working laptop, download the latest version of Ubuntu here (this might take around 30 minutes) - -

  3. Once the download is complete, you will need to verify the checksum of the downloaded file to ensure it has not been tampered with during the download

Verify the checksum of download

Click on "verify your download" and you should see a window appearing.

Open up your terminal (Mac) or Windows Power Shell (Windows) and run the following commands.

cd Downloads
echo "a435f6f393dda581172490eda9f683c32e495158a780b5a1de422ee77d98e909 *ubuntu-22.04.3-desktop-amd64.iso" | shasum -a 256 --check

You are good to go if you see an "OK" in the output.

ubuntu-22.04.3-desktop-amd64.iso: OK

Download an ISO writer

After we download the ISO file of the latest Ubuntu version, we will need a tool to write this ISO file into the USB drive so that it is bootable when plugged into your NUC.

  1. Open up BalenaEtcher and choose select flash from file

  2. Select your new USB drive under the "Select target" option

  3. Hit the "Flash!" button and wait for the process to complete

Install Ubuntu on your NUC

You will need to connect your NUC device to a keyboard and monitor for the installation process

Plug your bootable USB drive into your NUC device and turn it on. Select Try or Install Ubuntu from the boot menu.

Choose the following options when prompted:

  1. Install Ubuntu (not Try)

  2. Connect to the WIFI network of your Node Router

  3. Minimal installation + Download updates while installing Ubuntu

  4. Erase disk and install Ubuntu

  5. Set your username and password + "Require my password to login"

  6. Restart your device

  7. Skip connecting to your online accounts

  8. Skip setting up Livepatch

  9. Select "No, don't send system info"

  10. Disable location services

Your NUC device is now installed with the Ubuntu OS.

Install the SSH Server

Open up the Ubuntu terminal on your NUC by pressing CTRL + ALT + T and perform the following:

1) General updates

sudo apt update -y && sudo apt upgrade -y

2) Install the ssh server

sudo apt install openssh-server

3) Get the IP address of your NUC device within your Node Router subnet.

ip a

Expected output:

Your NUC's IP address will be located under the wl01 interface - e.g. 192.168.xx.xx.

Write this down as you will need to use this IP address to access your NUC remotely and we will call this the node_IP_address moving forward.

You can now access your NUC (Node) remotely by running the following command while you are in the Node Router subnet and entering the password of the Node when prompted.

ssh <username>@<node_IP_address> -v

Note: This command will change slightly once you properly secure your Node device in the next section.

Prepare your OS

Install useful packages

sudo apt install curl jq htop
  • curl allows you to query IP addresses, URLs, and the endpoints of internal services directly to test for connectivity and downloading files from the internet

  • jq is a formatting package

  • htop is a system monitoring tool

Configure timekeeping

We need to make sure the time on our device is the same with all other nodes so that we are able to sync with everyone else. If our timekeeping is off, we will start missing attestations (and rewards!). Verify this by running:

timedatectl

And check that NTP service is “active”. See screenshot below.

If not, turn it on by running:

sudo timedatectl set-ntp on

Create a Swap Space

A swap space (”back-up” memory space carved out from disk space) is used to prevent out-of-memory errors.

Recommended swap space:

RAM     Swap Size
  8GB           3GB
 12GB           3GB
 16GB           4GB
 24GB           5GB
 32GB           6GB
 64GB           8GB
128GB          11GB

Disable existing swap:

sudo swapoff /swapfile

Create swap file:

sudo fallocate -l 6G /swapfile 
sudo chmod 600 /swapfile 
sudo mkswap /swapfile 
sudo swapon /swapfile

Make your OS remember the swap space settings even after rebooting:

sudo cp /etc/fstab /etc/fstab.bak
echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab
sudo sysctl vm.swappiness=10
sudo sysctl vm.vfs_cache_pressure=50
sudo nano /etc/sysctl.conf

Add the following to the end of the sysctl.conf configuration file:

vm.swappiness=10
vm.vfs_cache_pressure=50

Save and exit the file with CTRL + O, enter, CTRL + X

Check your new swap space with the following commands.

htop
free -h

Expected output:

Download and install BalenaEtcher -

https://etcher.balena.io/
https://ubuntu.com/download/desktop
htop
free -h