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
- Change the root password!
passwd
- Disable XWindow -
systemctl set-default multi-user.target
- Purge XWindow packages -
apt purge 'x11-*' && apt autoremove
- Now that we’ve gotten rid of XWindow, get up to date -
apt update && apt upgrade
- Install some useful tools
apt install -y zsh git htop iotop vim libssl-dev software-properties-common python3-pip
- Disable Ubuntu motd spam
sed -i 's/^ENABLED=.*/ENABLED=0/' /etc/default/motd-news
- 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