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