💻Baremetal
Author: [ Godwin]
System Requirements
4 -8 Cores
Ubuntu 22.04.4 LTS
34 - 128GB
1TB
Pre-Requisites
Update System
sudo apt update -y && sudo apt upgrade -y && sudo apt autoremove -y
sudo apt install -y git gcc make --fix-missingInstall GO
Sonic requires go version 1.22 or greater to run
# Remove previous installation of GO
rm -rf /usr/local/go # For GO installations locacated within /usr/local/go
rm -rf /usr/local/bin/go # For GO installations located within /usr/local/bin/go
# Download GO
wget https://go.dev/dl/go1.24.1.linux-amd64.tar.gz
# Extract and place within /usr/local
tar -xzf go1.24.0.linux-amd64.tar.gz -C /usr/local && rm go1.24.0.linux-amd64.tar.gz
echo 'export PATH=$PATH:/usr/local/go/bin' >> ~/.bashrc
source ~/.bashrcFirewall Configuration
Set Explicit Firewall Configuration
Allow SSH
Allow Connections for sonic ports
Enable Firewall Rules
Check Status of Firewall Rules (UFW)
Build Sonic Client
Create directory to store data and code repository
Download the Sonic source code from the following GitHub repository.
Switch to the most recent Sonic release.
Build the Sonic binary using the provided configuration.
Transfer the new binaries to the bin folder for system-wide access.
Prime Sonic State DB
Download the most recent network archive genesis file for the Sonic mainnet or Blaze testnet.
The genesis file will be used to prime your local state database and will allow you to join the network and synchronize with it. Please check the downloaded genesis file using the provided checksum.
The expected output is sonic.g: OK.
Prime Sonic Database
Use the sonictool app (created during the building process as build/sonictool) to prime a validated archive state database for the Sonic client. Start the genesis expansion.
The last step of the genesis processing is the state validation. Please double-check that the output log contains the following messages with details about the verified state:
Create System Services
Copy and past the config settings
Run System Services
Reload System Services
Run Sonic Service
Query Node
Check Logs
Response should follow this
Check Sync Status
Check Block Number
References
Last updated
Was this helpful?