|
| 1 | +--- |
| 2 | +title: "Orange Pi 5" |
| 3 | +description: "Installing Talos on Orange Pi 5 using raw disk image." |
| 4 | +aliases: |
| 5 | + - ../../../single-board-computers/orangepi_5 |
| 6 | +--- |
| 7 | + |
| 8 | +## Prerequisites |
| 9 | + |
| 10 | +Before you start: |
| 11 | + |
| 12 | +- follow [Installation/talosctl]({{< relref "../talosctl">}}) to intall `talosctl` |
| 13 | + |
| 14 | +## Boot options |
| 15 | + |
| 16 | +You can boot Talos from: |
| 17 | + |
| 18 | +1. booting from SD card |
| 19 | +2. booting from a USB or NVMe (requires a spi image on the SPI flash) |
| 20 | + |
| 21 | +### Booting from SD card |
| 22 | + |
| 23 | +Go to `https://factory.talos.dev` select `Single Board Computers`, select the version and select `Orange Pi 5` from the options. |
| 24 | +Choose your desired extensions and fill in the kernel command line arguments if needed. |
| 25 | + |
| 26 | +Download the disk image and decompress it: |
| 27 | + |
| 28 | +```bash |
| 29 | +curl -LO https://factory.talos.dev/image/[uuid]/{{< release >}}/metal-arm64.raw.xz |
| 30 | +xz -d metal-arm64.raw.xz |
| 31 | +``` |
| 32 | + |
| 33 | +#### Flash the Image |
| 34 | + |
| 35 | +The image can be flashed using Etcher on Windows, macOS, or Linux or using dd on Linux: |
| 36 | + |
| 37 | +```bash |
| 38 | +# Replace /dev/<device> with the destination device |
| 39 | +# You can find the device with `lsblk` or `fdisk -l` |
| 40 | +sudo dd if=metal-arm64.raw of=/dev/<device> bs=1M status=progress && sync |
| 41 | +``` |
| 42 | + |
| 43 | +Proceed by following the [getting started guide]({{< relref "../../../introduction/getting-started/#configure-talos-linux" >}}) for further steps on how to configure Talos. |
| 44 | + |
| 45 | +#### Booting from USB or NVMe |
| 46 | + |
| 47 | +#### Requirements |
| 48 | + |
| 49 | +- An SD card to boot the Orange Pi 5 board from in order to flash the SPI flash. |
| 50 | + |
| 51 | +Go to `https://factory.talos.dev` select `Single Board Computers`, select the version and select `Orange Pi 5` from the options. |
| 52 | +Choose your desired extensions and fill in the kernel command line arguments if needed. |
| 53 | + |
| 54 | +You should also add the `spi_boot: true` overlay extra option in order to remove u-boot from the final image, as the bootloader will be flashed to the SPI flash. |
| 55 | + |
| 56 | +Download the disk image and decompress it: |
| 57 | + |
| 58 | +```bash |
| 59 | +curl -LO https://factory.talos.dev/image/[uuid]/{{< release >}}/metal-arm64.raw.xz |
| 60 | +xz -d metal-arm64.raw.xz |
| 61 | +``` |
| 62 | + |
| 63 | +#### Steps |
| 64 | + |
| 65 | +1. Make sure to install the NVMe or USB drive in the Orange Pi 5 board. |
| 66 | + |
| 67 | +2. Boot the Orange Pi 5 board from the SD card: |
| 68 | + |
| 69 | + - Flash the Orange Pi 5 variant of [Ubuntu](http://www.orangepi.org/html/hardWare/computerAndMicrocontrollers/service-and-support/Orange-pi-5.html) to an SD card. |
| 70 | + - Insert the SD card into the Orange Pi 5 board. |
| 71 | + - Boot into the Ubuntu image. |
| 72 | + - Download [crane CLI](https://github.com/google/go-containerregistry/releases) on the Ubuntu image. |
| 73 | + |
| 74 | +3. From the Ubuntu image, find the latest `sbc-rockchip` overlay, download and extract the u-boot SPI image: |
| 75 | + |
| 76 | + - Find the latest release tag of the [sbc-rockchip repo](https://github.com/siderolabs/sbc-rockchip/releases). |
| 77 | + - Download and extract the u-boot SPI image: |
| 78 | + |
| 79 | + ```bash |
| 80 | + crane --platform=linux/arm64 export ghcr.io/siderolabs/sbc-rockchip:<releasetag> | tar x --strip-components=4 artifacts/arm64/u-boot/orangepi-5/u-boot-rockchip-spi.bin |
| 81 | + ``` |
| 82 | + |
| 83 | +4. Flash the SPI flash with the u-boot SPI image: |
| 84 | + |
| 85 | + ```bash |
| 86 | + devicesize=$(blockdev --getsz /dev/mtdblock0) |
| 87 | + dd if=/dev/zero of=/dev/mtdblock0 bs=1M count=$devicesize status=progress && sync |
| 88 | + dd if=u-boot-rockchip-spi.bin of=/dev/mtdblock0 bs=1M status=progress && sync |
| 89 | + ``` |
| 90 | + |
| 91 | +5. Flash the Talos raw image to the NVMe or USB drive: |
| 92 | + |
| 93 | + ```bash |
| 94 | + sudo dd if=metal-arm64.raw of=/dev/<device> bs=1M status=progress && sync |
| 95 | + ``` |
| 96 | + |
| 97 | +6. Shutdown the Orange Pi 5 board and remove the SD card. |
| 98 | + |
| 99 | +On the next boot, Talos will now boot from the NVMe/USB and enter maintenance mode. |
| 100 | + |
| 101 | +Proceed by following the [getting started guide]({{< relref "../../../introduction/getting-started/#configure-talos-linux" >}}) for further steps on how to configure Talos. |
| 102 | + |
| 103 | +## Troubleshooting |
| 104 | + |
| 105 | +### Serial console |
| 106 | + |
| 107 | +If you experience any issues you can check the serial console. |
| 108 | +Follow the [official guideline](https://drive.google.com/drive/folders/1ob_qOW2MMa7oncxIW6625NqwXHRxdeAo) (Section 2.18 — "How to use the debugging serial port") |
| 109 | +on how to connect a serial adapter. |
0 commit comments