Raspbian Release




Lite images: https://downloads.raspberrypi.org/raspbian_lite/images/
With desktop: https://downloads.raspberrypi.org/raspbian/images/
With desktop & recommended software: https://downloads.raspberrypi.org/raspbian_full/images/

System Installation

Without monitor nor keyboard

Find where is the location of your physical mm card and not partition.
Example :

  • mmcblk0
  • ~mmcblk0p1~

And then, burn the unziped image with dd. Partitions will be copied because dd is low level copy tool :)
Do not forget to sync after dd operation.

dmesg -T

sudo \
dd \
bs=1M \
if=/home/baptiste/Downloads/2020-02-13-raspbian-buster-lite.img \

Unplug + plug again mmc card. And mount both fresh partitions.
I mounted like this.

mmcblk0                   179:0    0 119.1G  0 disk 
├─mmcblk0p1               179:1    0   256M  0 part /run/media/baptiste/boot
└─mmcblk0p2               179:2    0   1.5G  0 part /run/media/baptiste/rootfs

enable sshd service by just creating an empty file.

touch /run/media/baptiste/boot/ssh

Fix the ip by editing the commented lines.
Example :

Ip hostname pi1

File is owned by root, so edit with sudo or root connected.

sudo vim /run/media/baptiste/rootfs/etc/dhcpcd.conf
  • Unplug the card from your laptop.
  • Plug it into the raspberry

Configure raspbian system

Wait few seconds. You can test if ssh is listening with netcat.

nc -zvn 22 22 (ssh) open

Use ssh with public key instead of password.

cat ~/.ssh/id_ed25519.pub | \
ssh pi@ \
"mkdir -p ~/.ssh && chmod 700 ~/.ssh && cat >>  ~/.ssh/authorized_keys"

Now you can directly connect to raspi without prompting password. And setting system config

ssh pi@


apt update && apt install -y vim && apt upgrade -y

hostnamectl set-hostname pi1
vi /etc/hosts


Installing Docker

For Raspbian, installing using the repository is not yet supported. You must instead use the convenience script.

curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh get-docker.sh
sudo usermod -aG docker $(whoami)

sudo systemctl enable --now docker

Installing K3S

Enabling legacy iptables on Raspbian Buster

Raspbian Buster defaults to using nftables instead of iptables. K3S networking features require iptables and do not work with nftables. Follow the steps below to switch configure Buster to use legacy iptables:

sudo iptables -F
sudo update-alternatives --set iptables /usr/sbin/iptables-legacy
sudo update-alternatives --set ip6tables /usr/sbin/ip6tables-legacy
sudo reboot

Declare a Master node

curl -sfL https://get.k3s.io | sh -

Join Workers

K3S_TOKEN is stored at /var/lib/rancher/k3s/server/node-token on your server node.

curl -sfL https://get.k3s.io | K3S_URL=https://myserver:6443 K3S_TOKEN=mynodetoken sh -

results matching ""

    No results matching ""

    results matching ""

      No results matching ""