diff --git a/src/models/balenaos-contract.ts b/src/models/balenaos-contract.ts
index f1af60e7a..a7aff674c 100644
--- a/src/models/balenaos-contract.ts
+++ b/src/models/balenaos-contract.ts
@@ -12,7 +12,7 @@ export const BalenaOS: Contract = {
image: [`{{#each deviceType.partials.instructions}}{{{this}}} {{/each}}`],
internalFlash: [
`{{#each deviceType.partials.connectDevice}}{{{this}}} {{/each}}`,
- `Write the {{name}} file you downloaded to the {{deviceType.name}}. We recommend using Etcher.`,
+ `Write the {{name}} file you downloaded to the {{deviceType.name}}. We recommend using [Etcher](https://etcher.balena.io/).`,
`Wait for writing of {{name}} to complete.`,
`{{#each deviceType.partials.disconnectDevice}}{{{this}}} {{/each}}`,
`{{{deviceType.partials.bootDevice}}} to boot the device.`,
@@ -20,7 +20,7 @@ export const BalenaOS: Contract = {
externalFlash: [
`{{#each deviceType.partials.instructions}}{{{this}}} {{/each}}`,
`Insert the {{resolveContractAlias deviceType.data.media.altBoot.[0]}} to the host machine.`,
- `Write the {{name}} file you downloaded to the {{resolveContractAlias deviceType.data.media.altBoot.[0]}}. We recommend using Etcher.`,
+ `Write the {{name}} file you downloaded to the {{resolveContractAlias deviceType.data.media.altBoot.[0]}}. We recommend using [Etcher](https://etcher.balena.io/).`,
`Wait for writing of {{name}} to complete.`,
`Remove the {{resolveContractAlias deviceType.data.media.altBoot.[0]}} from the host machine.`,
`Insert the freshly flashed {{resolveContractAlias deviceType.data.media.altBoot.[0]}} into the {{deviceType.name}}.`,
@@ -33,14 +33,14 @@ export const BalenaOS: Contract = {
],
externalBoot: [
`Insert the {{resolveContractAlias deviceType.data.media.defaultBoot}} to the host machine.`,
- `Write the {{name}} file you downloaded to the {{resolveContractAlias deviceType.data.media.defaultBoot}}. We recommend using Etcher.`,
+ `Write the {{name}} file you downloaded to the {{resolveContractAlias deviceType.data.media.defaultBoot}}. We recommend using [Etcher](https://etcher.balena.io/).`,
`Wait for writing of {{name}} to complete.`,
`Remove the {{resolveContractAlias deviceType.data.media.defaultBoot}} from the host machine.`,
`Insert the freshly flashed {{resolveContractAlias deviceType.data.media.defaultBoot}} into the {{deviceType.name}}.`,
`{{{deviceType.partials.bootDevice}}} to boot the device.`,
],
jetsonFlash: [
- `To provision {{deviceType.name}}, follow the instructions using our Jetson Flash tool to make the process more streamlined.`,
+ `To provision {{deviceType.name}}, follow the instructions using our [Jetson Flash tool](https://github.com/balena-os/jetson-flash/blob/master/docs/{{deviceType.slug}}.md) to make the process more streamlined.`,
],
usbMassStorage: [
`{{#each deviceType.partials.instructions}}{{{this}}}
diff --git a/tests/integration/models/device-type.spec.ts b/tests/integration/models/device-type.spec.ts
index 8b96f7f48..69c7d4aaa 100644
--- a/tests/integration/models/device-type.spec.ts
+++ b/tests/integration/models/device-type.spec.ts
@@ -105,7 +105,7 @@ describe('Device Type model', function () {
RPI2_DEVICE_TYPE_SLUG,
[
'Insert the SD card to the host machine.',
- 'Write the balenaOS file you downloaded to the SD card. We recommend using Etcher.',
+ 'Write the balenaOS file you downloaded to the SD card. We recommend using [Etcher](https://etcher.balena.io/).',
'Wait for writing of balenaOS to complete.',
'Remove the SD card from the host machine.',
'Insert the freshly flashed SD card into the Raspberry Pi 2.',
@@ -115,10 +115,10 @@ describe('Device Type model', function () {
[
RADXA_ZERO_DEVICE_TYPE_SLUG,
[
- 'Use the maskrom mode instructions provided by the vendor and make sure the board\'s USB2 port is used for provisioning.',
- 'Install on your PC the tools required for flashing.',
- 'Clear eMMC and set it in UMS mode. Make sure to use this loader when following the sideloading instructions.',
- 'Write the OS to the internal eMMC storage device. We recommend using Etcher.',
+ "Use the [maskrom mode](https://wiki.radxa.com/Zero/dev/maskrom#Enable_maskrom) instructions provided by the vendor and make sure the board's USB2 port is used for provisioning.",
+ 'Install on your PC the [tools](https://wiki.radxa.com/Zero/dev/maskrom#Install_required_tools) required for flashing.',
+ 'Clear eMMC and set it in UMS mode. Make sure to use [this loader](https://dl.radxa.com/zero/images/loader/radxa-zero-erase-emmc.bin) when following the [sideloading instructions](https://wiki.radxa.com/Zero/dev/maskrom#Side_loading_binaries).',
+ 'Write the OS to the internal eMMC storage device. We recommend using [Etcher](http://www.etcher.io).',
'Once the OS has been written to the eMMC you need to repower your board.',
],
],
@@ -126,7 +126,7 @@ describe('Device Type model', function () {
'intel-nuc',
[
'Insert the USB key to the host machine.',
- 'Write the balenaOS file you downloaded to the USB key. We recommend using Etcher.',
+ 'Write the balenaOS file you downloaded to the USB key. We recommend using [Etcher](https://etcher.balena.io/).',
'Wait for writing of balenaOS to complete.',
'Remove the USB key from the host machine.',
'Insert the freshly flashed USB key into the Intel NUC.',
@@ -140,7 +140,7 @@ describe('Device Type model', function () {
[
'jetson-nano',
[
- 'To provision Nvidia Jetson Nano SD-CARD, follow the instructions using our Jetson Flash tool to make the process more streamlined.',
+ 'To provision Nvidia Jetson Nano SD-CARD, follow the instructions using our [Jetson Flash tool](https://github.com/balena-os/jetson-flash/blob/master/docs/jetson-nano.md) to make the process more streamlined.',
],
],
] as const