chore: generic raspberry pi images
Use generic Raspberry Pi images. Deprecate the RPi4 specific image. Ref: https://github.com/siderolabs/pkgs/pull/596 Signed-off-by: Noel Georgi <git@frezbo.dev>
This commit is contained in:
parent
d914ab8bb4
commit
6bd3cca1a8
2
Makefile
2
Makefile
@ -14,7 +14,7 @@ NAME = Talos
|
||||
|
||||
ARTIFACTS := _out
|
||||
TOOLS ?= ghcr.io/siderolabs/tools:v1.3.0-alpha.0-14-g5df6589
|
||||
PKGS ?= v1.3.0-alpha.0-24-gd5633d4
|
||||
PKGS ?= v1.3.0-alpha.0-25-g0ac7773
|
||||
EXTRAS ?= v1.2.0
|
||||
GO_VERSION ?= 1.19
|
||||
GOIMPORTS_VERSION ?= v0.1.11
|
||||
|
@ -36,6 +36,14 @@ machine:
|
||||
title = "Nano Pi R4S"
|
||||
description = """\
|
||||
Talos now supports the Nano Pi R4S SBC.
|
||||
"""
|
||||
|
||||
[notes.sbc1]
|
||||
title = "Raspberry Generic Images"
|
||||
description = """\
|
||||
The Raspberry Pi 4 specific image has been deprecated and will be removed in the v1.4 release of Talos.
|
||||
Talos now ships a generic Raspberry Pi image that should support more Raspberry Pi variants.
|
||||
Refer to the docs at https://www.talos.dev/v1.3/talos-guides/install/single-board-computers/rpi_generic/ to find which ones are supported.
|
||||
"""
|
||||
|
||||
[notes.updates]
|
||||
|
@ -5,8 +5,6 @@ gpu_mem=32
|
||||
# only the one closest to the power/USB-C port will work in practice.
|
||||
hdmi_safe:0=1
|
||||
hdmi_safe:1=1
|
||||
armstub=bl31.bin
|
||||
enable_gic=1
|
||||
# Load U-Boot.
|
||||
kernel=u-boot.bin
|
||||
# Forces the kernel loading system to assume a 64-bit kernel.
|
||||
|
@ -5,7 +5,6 @@ gpu_mem=32
|
||||
# only the one closest to the power/USB-C port will work in practice.
|
||||
hdmi_safe:0=1
|
||||
hdmi_safe:1=1
|
||||
enable_gic=1
|
||||
# Load U-Boot.
|
||||
kernel=u-boot.bin
|
||||
# Forces the kernel loading system to assume a 64-bit kernel.
|
||||
|
@ -1 +1 @@
|
||||
v1.3.0-alpha.0-24-gd5633d4
|
||||
v1.3.0-alpha.0-25-g0ac7773
|
@ -1,7 +1,7 @@
|
||||
---
|
||||
title: "Jetson Nano"
|
||||
description: "Installing Talos on Jetson Nano SBC using raw disk image."
|
||||
aliases:
|
||||
aliases:
|
||||
- ../../../single-board-computers/jetson_nano
|
||||
---
|
||||
|
||||
@ -48,7 +48,7 @@ Next we will extract the L4T release and replace the `u-boot` binary with the pa
|
||||
```bash
|
||||
tar xf jetson-210_linux_r32.6.1_aarch64.tbz2
|
||||
cd Linux_for_Tegra
|
||||
crane --platform=linux/arm64 export ghcr.io/siderolabs/u-boot:v1.1.0-alpha.0-42-gcd05ae8 - | tar xf - --strip-components=1 -C bootloader/t210ref/p3450-0000/ jetson_nano/u-boot.bin
|
||||
crane --platform=linux/arm64 export ghcr.io/siderolabs/u-boot:v1.3.0-alpha.0-25-g0ac7773 - | tar xf - --strip-components=1 -C bootloader/t210ref/p3450-0000/ jetson_nano/u-boot.bin
|
||||
```
|
||||
|
||||
Next we will flash the firmware to the Jetson Nano SPI flash.
|
||||
|
@ -61,7 +61,7 @@ This requires the user has access to [crane CLI](https://github.com/google/go-co
|
||||
|
||||
```bash
|
||||
mkdir _out
|
||||
crane --platform=linux/arm64 export ghcr.io/siderolabs/u-boot:v1.1.0-alpha.0-19-g6691342 - | tar xf - --strip-components=1 -C _out rockpi_4/rkspi_loader.img
|
||||
crane --platform=linux/arm64 export ghcr.io/siderolabs/u-boot:v1.3.0-alpha.0-25-g0ac7773 - | tar xf - --strip-components=1 -C _out rockpi_4/rkspi_loader.img
|
||||
sudo dd if=rkspi_loader.img of=/dev/mtdblock0 bs=4K
|
||||
```
|
||||
|
||||
|
@ -59,7 +59,7 @@ This requires the user has access to [crane CLI](https://github.com/google/go-co
|
||||
|
||||
```bash
|
||||
mkdir _out
|
||||
crane --platform=linux/arm64 export ghcr.io/siderolabs/u-boot:v1.1.0-alpha.0-19-g6691342 - | tar xf - --strip-components=1 -C _out rockpi_4c/rkspi_loader.img
|
||||
crane --platform=linux/arm64 export ghcr.io/siderolabs/u-boot:v1.3.0-alpha.0-25-g0ac7773 - | tar xf - --strip-components=1 -C _out rockpi_4c/rkspi_loader.img
|
||||
sudo dd if=rkspi_loader.img of=/dev/mtdblock0 bs=4K
|
||||
```
|
||||
|
||||
|
@ -1,10 +1,13 @@
|
||||
---
|
||||
title: "Raspberry Pi 4 Model B"
|
||||
description: "Installing Talos on Rpi4 SBC using raw disk image."
|
||||
aliases:
|
||||
aliases:
|
||||
- ../../../single-board-computers/rpi_4
|
||||
---
|
||||
|
||||
> The Raspberry Pi specific image is now deprecated and Talos will continue to use a generic image for the various Raspberry Pi models as supported by [u-boot](https://github.com/u-boot/u-boot/blob/master/doc/board/broadcom/raspberrypi.rst#64-bit) `rpi_arm64_defconfig`.
|
||||
Refer to the generic docs available [here]({{< relref "rpi_generic" >}})
|
||||
|
||||
## Video Walkthrough
|
||||
|
||||
To see a live demo of this writeup, see the video below:
|
||||
|
@ -0,0 +1,103 @@
|
||||
---
|
||||
title: "Raspberry Pi Series"
|
||||
description: "Installing Talos on Raspberry Pi SBC's using raw disk image."
|
||||
aliases:
|
||||
- ../../../single-board-computers/rpi_generic
|
||||
---
|
||||
|
||||
Talos disk image for the Raspberry Pi generic should in theory work for the boards supported by [u-boot](https://github.com/u-boot/u-boot/blob/master/doc/board/broadcom/raspberrypi.rst#64-bit) `rpi_arm64_defconfig`.
|
||||
This has only been officialy tested on the Raspberry Pi 4 and community tested on one variant of the Compute Module 4 using Super 6C boards.
|
||||
If you have tested this on other Raspberry Pi boards, please let us know.
|
||||
|
||||
## Video Walkthrough
|
||||
|
||||
To see a live demo of this writeup, see the video below:
|
||||
<iframe width="560" height="315" src="https://www.youtube.com/embed/aHu1lFir7UU" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
|
||||
|
||||
## Prerequisites
|
||||
|
||||
You will need
|
||||
|
||||
- `talosctl`
|
||||
- an SD card
|
||||
|
||||
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
|
||||
```
|
||||
|
||||
## Updating the EEPROM
|
||||
|
||||
Use [Raspberry Pi Imager](https://www.raspberrypi.com/software/) to write an EEPROM update image to a spare SD card.
|
||||
Select Misc utility images under the Operating System tab.
|
||||
|
||||
Remove the SD card from your local machine and insert it into the Raspberry Pi.
|
||||
Power the Raspberry Pi on, and wait at least 10 seconds.
|
||||
If successful, the green LED light will blink rapidly (forever), otherwise an error pattern will be displayed.
|
||||
If an HDMI display is attached to the port closest to the power/USB-C port,
|
||||
the screen will display green for success or red if a failure occurs.
|
||||
Power off the Raspberry Pi and remove the SD card from it.
|
||||
|
||||
> Note: Updating the bootloader only needs to be done once.
|
||||
|
||||
## Download the Image
|
||||
|
||||
Download the image and decompress it:
|
||||
|
||||
```bash
|
||||
curl -LO https://github.com/siderolabs/talos/releases/download/{{< release >}}/metal-rpi_generic-arm64.img.xz
|
||||
xz -d metal-rpi_generic-arm64.img.xz
|
||||
```
|
||||
|
||||
## Writing the Image
|
||||
|
||||
Now `dd` the image to your SD card:
|
||||
|
||||
```bash
|
||||
sudo dd if=metal-rpi_4-arm64.img of=/dev/mmcblk0 conv=fsync bs=4M
|
||||
```
|
||||
|
||||
## Bootstrapping the Node
|
||||
|
||||
Insert the SD card to your board, turn it on and wait for the console to show you the instructions for bootstrapping the node.
|
||||
Following the instructions in the console output to connect to the interactive installer:
|
||||
|
||||
```bash
|
||||
talosctl apply-config --insecure --mode=interactive --nodes <node IP or DNS name>
|
||||
```
|
||||
|
||||
Once the interactive installation is applied, the cluster will form and you can then use `kubectl`.
|
||||
|
||||
> Note: if you have an HDMI display attached and it shows only a rainbow splash,
|
||||
> please use the other HDMI port, the one closest to the power/USB-C port.
|
||||
|
||||
## Retrieve the `kubeconfig`
|
||||
|
||||
Retrieve the admin `kubeconfig` by running:
|
||||
|
||||
```bash
|
||||
talosctl kubeconfig
|
||||
```
|
||||
|
||||
## Troubleshooting
|
||||
|
||||
The following table can be used to troubleshoot booting issues:
|
||||
|
||||
| Long Flashes | Short Flashes | Status |
|
||||
| ------------ | :-----------: | ----------------------------------: |
|
||||
| 0 | 3 | Generic failure to boot |
|
||||
| 0 | 4 | start\*.elf not found |
|
||||
| 0 | 7 | Kernel image not found |
|
||||
| 0 | 8 | SDRAM failure |
|
||||
| 0 | 9 | Insufficient SDRAM |
|
||||
| 0 | 10 | In HALT state |
|
||||
| 2 | 1 | Partition not FAT |
|
||||
| 2 | 2 | Failed to read from partition |
|
||||
| 2 | 3 | Extended partition not FAT |
|
||||
| 2 | 4 | File signature/hash mismatch - Pi 4 |
|
||||
| 4 | 4 | Unsupported board type |
|
||||
| 4 | 5 | Fatal firmware error |
|
||||
| 4 | 6 | Power failure type A |
|
||||
| 4 | 7 | Power failure type B |
|
Loading…
x
Reference in New Issue
Block a user