diff --git a/website/content/v1.9/introduction/support-matrix.md b/website/content/v1.9/introduction/support-matrix.md index 7f143aea0..1af2b2c83 100644 --- a/website/content/v1.9/introduction/support-matrix.md +++ b/website/content/v1.9/introduction/support-matrix.md @@ -16,7 +16,7 @@ description: "Table of supported Talos Linux versions and respective platforms." | - cloud | Akamai, AWS, GCP, Azure, CloudStack, Digital Ocean, Exoscale, Hetzner, OpenNebula, OpenStack, Oracle Cloud, Scaleway, Vultr, Upcloud | Akamai, AWS, GCP, Azure, CloudStack, Digital Ocean, Exoscale, Hetzner, OpenNebula, OpenStack, Oracle Cloud, Scaleway, Vultr, Upcloud | | - bare metal | x86: BIOS, UEFI, SecureBoot; arm64: UEFI, SecureBoot; boot: ISO, PXE, disk image | x86: BIOS, UEFI; arm64: UEFI; boot: ISO, PXE, disk image | | - virtualized | VMware, Hyper-V, KVM, Proxmox, Xen | VMware, Hyper-V, KVM, Proxmox, Xen | -| - SBCs | Banana Pi M64, Jetson Nano, Libre Computer Board ALL-H3-CC, Nano Pi R4S, Pine64, Pine64 Rock64, Radxa ROCK Pi 4c, Radxa Rock4c+, Raspberry Pi 4B, Raspberry Pi Compute Module 4 | Banana Pi M64, Jetson Nano, Libre Computer Board ALL-H3-CC, Nano Pi R4S, Orange Pi R1 Plus LTS, Pine64, Pine64 Rock64, Radxa ROCK Pi 4c, Raspberry Pi 4B, Raspberry Pi Compute Module 4 | +| - SBCs | Banana Pi M64, Jetson Nano, Libre Computer Board ALL-H3-CC, Nano Pi R4S, Pine64, Pine64 Rock64, Radxa ROCK Pi 4c, Radxa Rock4c+, Raspberry Pi 4B, Raspberry Pi Compute Module 4 | Banana Pi M64, Jetson Nano, Libre Computer Board ALL-H3-CC, Nano Pi R4S, Orange Pi R1 Plus LTS, Pine64, Pine64 Rock64, Radxa ROCK Pi 4c, Raspberry Pi 4B, Raspberry Pi Compute Module 4, Turing RK1 | | - local | Docker, QEMU | Docker, QEMU | | **Cluster API** | | | | [CAPI Bootstrap Provider Talos](https://github.com/siderolabs/cluster-api-bootstrap-provider-talos) | >= 0.6.6 | >= 0.6.6 | diff --git a/website/content/v1.9/talos-guides/install/single-board-computers/turing_rk1.md b/website/content/v1.9/talos-guides/install/single-board-computers/turing_rk1.md new file mode 100644 index 000000000..b1336f3ee --- /dev/null +++ b/website/content/v1.9/talos-guides/install/single-board-computers/turing_rk1.md @@ -0,0 +1,136 @@ +--- +title: "Turing RK1" +description: "Installing Talos on Turing RK1 SOM using raw disk image." +aliases: + - ../../../single-board-computers/turing_rk1 +--- + +## Prerequisites + +Before you start, ensure you have: + +- `talosctl` +- `tpi` from [github](https://github.com/turing-machines/tpi/releases) +- [crane CLI](https://github.com/google/go-containerregistry/releases) + +Download the latest `talosctl`. + +```bash +curl -Lo /usr/local/bin/talosctl https://github.com/siderolabs/talos/releases/download/{{< release >}}/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: + +```bash +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: + +1. booting from eMMC +2. 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) + +```bash +tpi flash -n -i metal-arm64.raw +tpi power on -n +``` + +Proceed to [bootstrapping the node](#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. + +1. If you have a USB to NVMe adapter, write Talos image to the USB drive: + + ```bash + sudo dd if=metal-arm64.raw of=/dev/sda + ``` + +2. 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](https://docs.turingpi.com/docs/turing-rk1-flashing-os) to the eMMC. + - Boot into the Ubuntu image and write the Talos image directly to the NVMe drive: + + ```bash + sudo dd if=metal-arm64.raw of=/dev/nvme0n1 + ``` + +3. Find the latest `sbc-rockchip` overlay, download and extract the SBC overlay image: + + - Find the latest release tag of the [sbc-rockchip repo](https://github.com/siderolabs/sbc-rockchip/releases). + - Download the sbc overlay image and extract the SPI image: + + ```bash + crane --platform=linux/arm64 export ghcr.io/siderolabs/sbc-rockchip: | tar x --strip-components=4 artifacts/arm64/u-boot/turingrk1/u-boot-rockchip-spi.bin + ``` + +4. Flash the eMMC with the Talos raw image (even if Talos was previously installed): (or use the WebUI of the Turing Pi 2) + + ```bash + tpi flash -n -i metal-turing_rk1-arm64.raw + ``` + +5. Flash the SPI image to set the boot order and remove unnecessary partitions: (or use the WebUI of the Turing Pi 2) + + ```bash + tpi flash -n -i u-boot-rockchip-spi.bin + tpi power on -n + ``` + +Talos will now boot from the NVMe/USB and enter maintenance mode. + +## Bootstrapping the Node + +To monitor boot messages, run: (repeat) + +```sh +tpi uart -n get +``` + +Wait until instructions for bootstrapping appear. +Follow the UART instructions to connect to the interactive installer: + +```bash +talosctl apply-config --insecure --mode=interactive --nodes +``` + +Alternatively, generate and apply a configuration: + +```bash +talosctl gen config +talosctl apply-config --insecure --nodes -f .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: + +```bash +talosctl kubeconfig +```