You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+35-35Lines changed: 35 additions & 35 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,9 +1,11 @@
1
-
# thin-edge.io image using Rugpi
1
+
# thin-edge.io image using Rugix
2
2
3
-
The repository can be used to build custom Raspberry Pi images with thin-edge.io and [Rugpi](https://oss.silitics.com/rugpi/) for robust OTA Operating System updates.
3
+
The repository can be used to build custom device images with thin-edge.io and [Rugix](https://oss.silitics.com/rugix/) for robust Over-The-Air (OTA) Operating System updates.
4
4
5
5
## Compatible devices
6
6
7
+
Rugix can support building images for other devices than just Raspberry Pi's, however the thin-edge.io integration is currently only tested for Raspberry Pi devices. Please reach out for support if you are looking into integrating with other devices, or contact [Silitics](https://oss.silitics.com/rugix/commercial-support), the authors of Rugix.
8
+
7
9
**Using u-boot**
8
10
9
11
* Raspberry PI 1B
@@ -18,19 +20,19 @@ The repository can be used to build custom Raspberry Pi images with thin-edge.io
18
20
* Raspberry Pi 5
19
21
20
22
21
-
## Images
23
+
## System Images
22
24
23
-
The following images are included in this repository.
25
+
The following system images are included in this repository.
24
26
25
27
|Image|Description|
26
28
|-------|-----------|
27
-
|rpi-tryboot|Image for Raspberry Pi 4 and 5 devices which use the tryboot bootloader|
28
-
|rpi-tryboot-containers|Image for Raspberry Pi 4 and 5 devices which use the tryboot bootloader and with docker pre-installed|
29
-
|rpi-tryboot-rpi4|Raspberry Pi 4 image which includes the firmware to enable tryboot bootloader|
30
-
|rpi-u-boot|Image for Raspberry Pi 2, 3, zero 2W|
31
-
|rpi-u-boot-containers|Image for Raspberry Pi 2, 3, zero 2W with docker pre-installed|
32
-
|rpi-u-boot-armhf|Image for Raspberry Pi 1 and zero|
33
-
|rpi-u-boot-armhf-containers|Image for Raspberry Pi 1 and zero with docker pre-installed|
29
+
|tedge-raspios-arm64-tryboot|Image for Raspberry Pi 4 and 5 devices which use the tryboot bootloader|
30
+
|tedge-raspios-arm64-tryboot-pi4|Raspberry Pi 4 image which includes the firmware to enable tryboot bootloader|
31
+
|tedge-raspios-arm64|Image for Raspberry Pi 3 and zero 2W|
32
+
|tedge-raspios-armhf|Image for Raspberry Pi 1, 2 and zero|
33
+
|tedge-raspios-armhf|Image for Raspberry Pi 1, 2 and zero|
34
+
|tedge-debian-12-efi-arm64|Image for an EFI enabled device with arm64|
35
+
|tedge-debian-12-efi-amd64|Image for an EFI enabled device with amd64|
34
36
35
37
## Building
36
38
@@ -41,7 +43,7 @@ To run the build tasks, install [just](https://just.systems/man/en/chapter_5.htm
2. Create a custom `.env` file which will be used to store secrets
@@ -60,6 +62,9 @@ To run the build tasks, install [just](https://just.systems/man/en/chapter_5.htm
60
62
SECRETS_WIFI_SSID=example
61
63
SECRETS_WIFI_PASSWORD=yoursecurepassword
62
64
SSH_KEYS_bootstrap="ssh-rsa xxxxxxx"
65
+
66
+
# Include ssh keys from github user profiles
67
+
SSH_GITHUB_USERS=myuser
63
68
```
64
69
65
70
**Note**
@@ -68,30 +73,26 @@ To run the build tasks, install [just](https://just.systems/man/en/chapter_5.htm
68
73
69
74
If an image has Wifi credentials baked in, then you should not make this image public, as it would expose your credentials!
70
75
71
-
4. Create the image (including downloading the supported base Raspberry Pi image) using:
76
+
4. Create the image
72
77
73
78
```sh
74
-
just build-pi4
79
+
just SYSTEM=tedge-raspios-arm64-tryboot build-image
75
80
```
76
81
77
-
Alternatively, you can use any of the image names defined in the `rugpi-bakery.toml` file, where the image name is part of the `images.*` key. For example, for `images.rpi-tryboot-containers`, the `IMAGE` name would be `rpi-tryboot`. You can then build the image using the following command:
78
-
79
-
```sh
80
-
just IMAGE=rpi-tryboot-containers build
81
-
```
82
+
5. Using the path to the image shown in the console to flash the image to the device.
82
83
83
-
5. Using the path to the image shown in the console to flash the image to the Raspberry Pi.
84
+
6. Build the update bundle for Over-the-Air Updates
84
85
85
-
6. Subsequent A/B updates can be done using Cumulocity IoT or the local Rugpi interface on (localhost:8088)
86
-
87
-
**Notes**
86
+
```
87
+
just SYSTEM=tedge-raspios-arm64-tryboot build-bundle
88
+
```
88
89
89
-
You can apply image updates via the device's localhost:8088 interface, however you will have to expand the `.xz` image file to a `.img` file.
90
+
**Note:** A Rugix update bundle will have the `.rugixb` suffix in its filename
90
91
91
-
For further information on Rugpi, checkout the [quick start guide](https://oss.silitics.com/rugpi/docs/getting-started).
92
+
For further information on Rugix, checkout the [quick start guide](https://oss.silitics.com/rugix/docs/getting-started).
92
93
93
94
94
-
### Building images including thin-edge.io main
95
+
### Building images/bundles including thin-edge.io main
95
96
96
97
To build an image with the latest pre-release version from the [main channel](https://thin-edge.github.io/thin-edge.io/contribute/package-hosting/#pre-releases), set the following environment variable in the `.env` file in your project:
97
98
@@ -107,25 +108,25 @@ The different image options can be confusing, so to help users a few device spec
107
108
#### Raspberry Pi 1
108
109
109
110
```sh
110
-
just build-pi1
111
+
just SYSTEM=tedge-raspios-armhf build-image
111
112
```
112
113
113
114
#### Raspberry Pi 2
114
115
115
116
```sh
116
-
just build-pi2
117
+
just SYSTEM=tedge-raspios-armhf build-image
117
118
```
118
119
119
120
#### Raspberry Pi 3
120
121
121
122
```sh
122
-
just build-pi3
123
+
just SYSTEM=tedge-raspios-arm64 build-image
123
124
```
124
125
125
126
#### Raspberry Pi 4 / 400
126
127
127
128
```sh
128
-
just build-pi4
129
+
just SYSTEM=tedge-raspios-arm64 build-image
129
130
```
130
131
131
132
**Note**
@@ -135,25 +136,25 @@ All Raspberry Pi 4 and 400 don't support tryboot by default, and need their firm
135
136
You can build an image which also includes the firmware used to enable tryboot. Afterwards you can switch back to using an image without the firmware included in it.
136
137
137
138
```sh
138
-
just build-pi4-include-firmware
139
+
just SYSTEM=tedge-raspios-arm64-tryboot-pi4 build-image
139
140
```
140
141
141
142
#### Raspberry Pi 5
142
143
143
144
```sh
144
-
just build-pi5
145
+
just SYSTEM=tedge-raspios-arm64 build-image
145
146
```
146
147
147
148
#### Raspberry Pi Zero
148
149
149
150
```sh
150
-
just build-pizero
151
+
just SYSTEM=tedge-raspios-armhf build-image
151
152
```
152
153
153
154
#### Raspberry Pi Zero 2W
154
155
155
156
```sh
156
-
just build-pizero2w
157
+
just SYSTEM=tedge-raspios-arm64 build-image
157
158
```
158
159
159
160
## Project Tasks
@@ -178,7 +179,6 @@ just build-pizero2w
178
179
179
180
**Optional: Public images to Cumulocity IoT**
180
181
181
-
182
182
You will need [go-c8y-cli](https://goc8ycli.netlify.app/) and [gh](https://cli.github.com/) tools for this!
183
183
184
184
1. In the console, using go-c8y-cli, set your session to the tenant where you want to upload the firmware to
0 commit comments