I wanted a machine with more memory to be the master node for my ARM k3s cluster. I had an Odroid N2 with 4GB of RAM, sitting around, so here’s the log of getting it installed and running.

Parts

  • ODROID N2
  • MMC card with preloaded Ubuntu

Installation

Base

Login as root. Default password is odroid

  1. Change the root password! passwd
  2. Disable XWindow - systemctl set-default multi-user.target
  3. Purge XWindow packages - apt purge 'x11-*' && apt autoremove
  4. Now that we’ve gotten rid of XWindow, get up to date - apt update && apt upgrade
  5. Install some useful tools apt install -y zsh git htop iotop vim libssl-dev software-properties-common python3-pip
  6. Disable Ubuntu motd spam sed -i 's/^ENABLED=.*/ENABLED=0/' /etc/default/motd-news
  7. Fix locale complaints during login locale-gen en_US.UTF-8

Docker

Add docker repository key - curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -

Add the repo:

sudo add-apt-repository \
   "deb [arch=arm64] https://download.docker.com/linux/ubuntu \
   $(lsb_release -cs) \
   stable"

Install docker community edition apt update && apt install docker-ce docker-ce-cli containerd.io


#!/usr/bin/env bash
#
# Put the setup all in one script. Run as root with sudo.

# Disable XWindow login
systemctl set-default multi-user.target

# This is going to sit on a shelf in my rack, so purge xwindow
apt remove xorg
apt purge 'x11-*'
apt autoremove

# Add docker apt repository
add-apt-repository \
   "deb [arch=arm64] https://download.docker.com/linux/ubuntu \
   $(lsb_release -cs) \
   stable"

# Now that we've purged xwindow, upgrade what's left
apt-get update && apt-get upgrade

apt-get install -y \
    git \
    htop \
    iotop \
    libssl-dev \
    python3-pip \
    vim vim-doc vim-scripts \
    zsh

# Install docker community edition
apt update && apt install docker-ce docker-ce-cli containerd.io

# Finally do some cleanups

# Fix locale whining
locale-gen en_US.UTF-8

# Disable Ubuntu motd spam
sed -i 's/^ENABLED=.*/ENABLED=0/' /etc/default/motd-news