Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

hw.device-type: switch to using flashProtocol: jetsonFlashDirect #446

Open
wants to merge 2 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 4 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -66,7 +66,7 @@ With a [recent change](https://github.com/balena-io/contracts/pull/236), several

If there is a `flashProtocol` defined then we know that we need to flash directly to the device. This process will require no storage media to be attached. After identifying which protocols etcher can or can't support will determine flash protocol for that device type and subsequently the instructions for the device type as well.

Example, in this case `jetsonFlash` is not supported by etcher so we will need to give jetson flashing specific instructions:
Example, in this case `jetsonFlash` is not supported by etcher so we will need to give jetson flashing specific instructions. These are generated using the partials from the contract and the jetsonFlash template added in the [balena-sdk](https://github.com/balena-io/balena-sdk/blob/809fc9f4bbe36e93426c17392f4476111a120073/src/models/balenaos-contract.ts#L41).

```
"flashProtocol": "jetsonFlash",
Expand All @@ -76,7 +76,9 @@ Example, in this case `jetsonFlash` is not supported by etcher so we will need t
},
```

On the other hand, another example of a `flashProtocol` that Etcher does supports would be `RPIBOOT` which is a flash protocol utilized by balena Fin.
If the `flashProtocol` is set to `jetsonFlashDirect`, then the jetsonFlashDirect template is used to generate the instructions for flashing jetson devices which at the moment redirects to the Jetson Flash repository's new docs.

On the other hand, another example of a `flashProtocol` that Etcher does supports would be `RPIBOOT` which is a flash protocol utilized by balena Fin.

## defaultBoot

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,19 +21,14 @@
"storage": {
"internal": true
},
"flashProtocol": "jetsonFlashDirect",
"media": {
"defaultBoot": "internal",
"altBoot": ["usb_mass_storage"]
"defaultBoot": "internal"
},
"is_private": false
},
"partials": {
"bootDeviceExternal": [
"Put the device in <a href=\"https://github.com/balena-os/jetson-flash#recovery-mode\">force recovery</a> mode.",
"Connect the USB-C data port of the Devkit to the Host PC.",
"Boot the device from the inserted USB Key by following the <a href=\"https://github.com/balena-os/jetson-flash#agx-orin-devkit-64gb-flashing\">AGX Orin Devkit 64GB flashing steps</a>."
],
"flashIndicator": ["power LED is off"],
"bootDevice": ["Power up the {{name}}"]
"bootDevice": ["Connect power to the {{name}}"]
}

}
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@
"storage": {
"internal": true
},
"flashProtocol": "jetsonFlash",
"flashProtocol": "jetsonFlashDirect",
"media": {
"defaultBoot": "internal"
},
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@
"storage": {
"internal": false
},
"flashProtocol": "jetsonFlash",
"flashProtocol": "jetsonFlashDirect",
"media": {
"defaultBoot": "sdcard"
},
Expand Down
2 changes: 1 addition & 1 deletion contracts/hw.device-type/jetson-nano-emmc/contract.json
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@
"storage": {
"internal": true
},
"flashProtocol": "jetsonFlash",
"flashProtocol": "jetsonFlashDirect",
"media": {
"defaultBoot": "internal"
},
Expand Down
2 changes: 1 addition & 1 deletion contracts/hw.device-type/jetson-nano/contract.json
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@
"storage": {
"internal": false
},
"flashProtocol": "jetsonFlash",
"flashProtocol": "jetsonFlashDirect",
"media": {
"defaultBoot": "sdcard"
},
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,19 +21,13 @@
"storage": {
"internal": true
},
"flashProtocol": "jetsonFlashDirect",
"media": {
"defaultBoot": "internal",
"altBoot": ["usb_mass_storage"]
"defaultBoot": "internal"
},
"is_private": false
},
"partials": {
"bootDeviceExternal": [
"Insert a NVME drive in the carrier board and put the device in <a href=\"https://github.com/balena-os/jetson-flash#recovery-mode\">force recovery</a> mode.",
"Connect the USB-C port of the carrier board to the Host PC.",
"RCM boot the balenaOS kernel following the <a href=\"https://github.com/balena-os/jetson-flash#orin-nano-flashing\">Orin Nano Flashing steps</a>."
],
"flashIndicator": ["power LED is off"],
"bootDevice": ["Remove recovery mode jumper and power up the {{name}}"]
"bootDevice": ["Connect power to the {{name}}"]
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -21,19 +21,13 @@
"storage": {
"internal": true
},
"flashProtocol": "jetsonFlashDirect",
"media": {
"defaultBoot": "internal",
"altBoot": ["usb_mass_storage"]
"defaultBoot": "internal"
},
"is_private": false
},
"partials": {
"bootDeviceExternal": [
"Put the device in <a href=\"https://github.com/balena-os/jetson-flash#recovery-mode\">force recovery</a> mode.",
"Connect the USB-C port of the carrier board to the Host PC.",
"RCM boot the balenaOS kernel following the <a href=\"https://github.com/balena-os/jetson-flash#seeed-recomputer-j3010-flashing\">Seeed reComputer J3010 Flashing steps</a>."
],
"flashIndicator": ["power LED is off"],
"bootDevice": ["Remove recovery mode jumper and power up the {{name}}"]
"bootDevice": ["Connect power to the {{name}}"]
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -21,19 +21,13 @@
"storage": {
"internal": true
},
"flashProtocol": "jetsonFlashDirect",
"media": {
"defaultBoot": "internal",
"altBoot": ["usb_mass_storage"]
"defaultBoot": "internal"
},
"is_private": false
},
"partials": {
"bootDeviceExternal": [
"Put the device in <a href=\"https://github.com/balena-os/jetson-flash#recovery-mode\">force recovery</a> mode.",
"Connect the USB-C port of the carrier board to the Host PC.",
"RCM boot the balenaOS kernel following the <a href=\"https://github.com/balena-os/jetson-flash#seeed-recomputer-j4012-flashing\">Seeed reComputer J4012 Flashing steps</a>."
],
"flashIndicator": ["power LED is off"],
"bootDevice": ["Remove recovery mode jumper and power up the {{name}}"]
"bootDevice": ["Connect power to the {{name}}"]
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -21,19 +21,13 @@
"storage": {
"internal": true
},
"flashProtocol": "jetsonFlashDirect",
"media": {
"defaultBoot": "internal",
"altBoot": ["usb_mass_storage"]
"defaultBoot": "internal"
},
"is_private": false
},
"partials": {
"bootDeviceExternal": [
"Insert a NVME drive in the carrier board and put the device in <a href=\"https://github.com/balena-os/jetson-flash#recovery-mode\">force recovery</a> mode.",
"Connect the micro-USB port of the carrier board to the Host PC.",
"RCM boot the balenaOS kernel following the <a href=\"https://github.com/balena-os/jetson-flash#orin-nx-flashing\">Orin NX Flashing steps</a>."
],
"flashIndicator": ["power LED is off"],
"bootDevice": ["Remove recovery mode jumper and power up the {{name}}"]
"bootDevice": ["Connect power to the {{name}}"]
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I rather not remove the partials for any of these becoming jetsonFlashDirect @acostach Let's keep them for historically purposes since creating these took effort and it's not bad to keep them around IMO other some technical debt.

}
}
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@
"storage": {
"internal": true
},
"flashProtocol": "jetsonFlash",
"flashProtocol": "jetsonFlashDirect",
"media": {
"defaultBoot": "internal"
},
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@
"storage": {
"internal": true
},
"flashProtocol": "jetsonFlash",
"flashProtocol": "jetsonFlashDirect",
"media": {
"defaultBoot": "internal"
},
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,7 @@
"storage": {
"internal": false
},
"flashProtocol": "jetsonFlash",
"media": {
"defaultBoot": "sdcard"
},
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@
"storage": {
"internal": false
},
"flashProtocol": "jetsonFlash",
"flashProtocol": "jetsonFlashDirect",
"media": {
"defaultBoot": "sdcard"
},
Expand Down
2 changes: 1 addition & 1 deletion contracts/hw.device-type/jetson-xavier/contract.json
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@
"storage": {
"internal": true
},
"flashProtocol": "jetsonFlash",
"flashProtocol": "jetsonFlashDirect",
"media": {
"defaultBoot": "internal"
},
Expand Down