Turing RK1
Prerequisites
Before you start, ensure you have:
Download the latest talosctl
.
curl -Lo /usr/local/bin/talosctl https://github.com/siderolabs/talos/releases/download/v1.9.0/talosctl-$(uname -s | tr "[:upper:]" "[:lower:]")-amd64
chmod +x /usr/local/bin/talosctl
Download the Image
Go to https://factory.talos.dev
select Single Board Computers
, select the version and select Turing RK1
from the options.
Choose your desired extensions and fill in the kernel command line arguments if needed.
Download the disk image and decompress it:
curl -LO https://factory.talos.dev/image/[uuid]/v1.9.0/metal-arm64.raw.xz
xz -d metal-arm64.raw.xz
Boot options
You can boot Talos from:
- booting from eMMC
- booting from a USB or NVMe (requires a spi image on the eMMC)
Booting from eMMC
Flash the image to the eMMC and power on the node: (or use the WebUI of the Turing Pi 2)
tpi flash -n <NODENUMBER> -i metal-arm64.raw
tpi power on -n <NODENUMBER>
Proceed to bootstrapping the node.
Booting from USB or NVMe
Requirements
To boot from USB or NVMe, flash a u-boot SPI image (part of the SBC overlay) to the eMMC.
Steps
Skip step 1 if you already installed your NVMe drive.
If you have a USB to NVMe adapter, write Talos image to the USB drive:
sudo dd if=metal-arm64.raw of=/dev/sda
Install the NVMe drive in the Turing Pi 2 board.
If the NVMe drive is/was already installed:
Flash the Turing RK1 variant of Ubuntu to the eMMC.
Boot into the Ubuntu image and write the Talos image directly to the NVMe drive:
sudo dd if=metal-arm64.raw of=/dev/nvme0n1
Find the latest
sbc-rockchip
overlay, download and extract the SBC overlay image:Find the latest release tag of the sbc-rockchip repo.
Download the sbc overlay image and extract the SPI image:
crane --platform=linux/arm64 export ghcr.io/siderolabs/sbc-rockchip:<releasetag> | tar x --strip-components=4 artifacts/arm64/u-boot/turingrk1/u-boot-rockchip-spi.bin
Flash the eMMC with the Talos raw image (even if Talos was previously installed): (or use the WebUI of the Turing Pi 2)
tpi flash -n <NODENUMBER> -i metal-turing_rk1-arm64.raw
Flash the SPI image to set the boot order and remove unnecessary partitions: (or use the WebUI of the Turing Pi 2)
tpi flash -n <NODENUMBER> -i u-boot-rockchip-spi.bin tpi power on -n <NODENUMBER>
Talos will now boot from the NVMe/USB and enter maintenance mode.
Bootstrapping the Node
To monitor boot messages, run: (repeat)
tpi uart -n <NODENUMBER> get
Wait until instructions for bootstrapping appear. Follow the UART instructions to connect to the interactive installer:
talosctl apply-config --insecure --mode=interactive --nodes <node IP or DNS name>
Alternatively, generate and apply a configuration:
talosctl gen config
talosctl apply-config --insecure --nodes <node IP or DNS name> -f <worker/controlplane>.yaml
Copy your talosconfig
to ~/.talos/config
and fill in the node
field with the IP address of the node and endpoints.
Once applied, the cluster will form, and you can use kubectl
.
Retrieve the kubeconfig
Retrieve the admin kubeconfig
by running:
talosctl kubeconfig