Host solo docs directly at docs.solokeys.{dev,io}

This commit is contained in:
Nicolas Stalder 2020-06-09 23:57:29 +02:00
parent cc4cd340da
commit c52af54e8f
23 changed files with 35 additions and 35 deletions

View File

@ -6,11 +6,11 @@ If you have a recent version of Solo, you can put it into bootloader mode by run
solo program aux enter-bootloader solo program aux enter-bootloader
``` ```
If your Solo is a bit older (<=2.5.3) You can put Solo into bootloader mode by using the button method: If your Solo is a bit older (<=2.5.3) You can put Solo into bootloader mode by using the button method:
Hold down button while plugging in Solo. After 2 seconds, bootloader mode will activate. Hold down button while plugging in Solo. After 2 seconds, bootloader mode will activate.
You'll see a yellowish flashing light and you can let go of the button. You'll see a yellowish flashing light and you can let go of the button.
Now Solo is ready to [accept firmware updates](/solo/signed-updates). If the Solo is a secured model, it can only accept signed updates, typically in the `firmware-*.json` format. Now Solo is ready to [accept firmware updates](/signed-updates). If the Solo is a secured model, it can only accept signed updates, typically in the `firmware-*.json` format.
# The boot stages of Solo # The boot stages of Solo
@ -19,10 +19,10 @@ Solo has 3 boot stages.
## DFU ## DFU
The first stage is the DFU (Device Firmware Update) which is in a ROM on Solo. It is baked into the chip and is not implemented by us. The first stage is the DFU (Device Firmware Update) which is in a ROM on Solo. It is baked into the chip and is not implemented by us.
This is what allows the entire firmware of Solo to be programmed. **It's not recommended to develop for Solo using the DFU because This is what allows the entire firmware of Solo to be programmed. **It's not recommended to develop for Solo using the DFU because
if you program broken firmware, you could brick your device**. if you program broken firmware, you could brick your device**.
On hacker/nonverifying-bootloader devices, you can boot into the DFU by holding down the button for 5 seconds, On hacker/nonverifying-bootloader devices, you can boot into the DFU by holding down the button for 5 seconds,
when Solo is already in bootloader mode. when Solo is already in bootloader mode.
You can also run this command when Solo is in bootloader mode to put it in DFU mode. You can also run this command when Solo is in bootloader mode to put it in DFU mode.

View File

@ -131,7 +131,7 @@ solo mergehex \
bundle.hex bundle.hex
``` ```
See [here for more information on custom attestation](/solo/customization/). See [here for more information on custom attestation](/customization/).
To learn more about normal updates or a "full" update, you should [read more on Solo's boot stages](/solo/bootloader-mode). To learn more about normal updates or a "full" update, you should [read more on Solo's boot stages](/bootloader-mode).

View File

@ -19,7 +19,7 @@ and program it.
### Creating your attestation key pair ### Creating your attestation key pair
Since we are generating keys, it's important to use a good entropy source. Since we are generating keys, it's important to use a good entropy source.
You can use the [True RNG on your Solo](/solo/solo-extras) to generate some good random numbers. You can use the [True RNG on your Solo](/solo-extras) to generate some good random numbers.
``` ```
# Run for 1 second, then hit control-c # Run for 1 second, then hit control-c
@ -114,7 +114,7 @@ If the checks succeed, you are ready to program the device attestation key and c
### Programming an attestation key and certificate ### Programming an attestation key and certificate
First, [Build your solo application and bootloader](/solo/building). First, [Build your solo application and bootloader](/building).
Print your attestation key in a hex string format. Using our utility script: Print your attestation key in a hex string format. Using our utility script:
@ -137,6 +137,6 @@ solo mergehex \
**Warning**: Using the `--lock` flag prevents the DFU from being accessed on the device again. It's recommended to try first without the `--lock` flag to make sure it works. **Warning**: Using the `--lock` flag prevents the DFU from being accessed on the device again. It's recommended to try first without the `--lock` flag to make sure it works.
Now you have a newly created `bundle.hex` file with a custom attestation key and cert. You can [program this `bundle.hex` file Now you have a newly created `bundle.hex` file with a custom attestation key and cert. You can [program this `bundle.hex` file
with Solo in DFU mode](/solo/programming#procedure). with Solo in DFU mode](/programming#procedure).
Are you interested in customizing in bulk? Contact hello@solokeys.com and we can help. Are you interested in customizing in bulk? Contact hello@solokeys.com and we can help.

View File

Before

Width:  |  Height:  |  Size: 134 KiB

After

Width:  |  Height:  |  Size: 134 KiB

View File

Before

Width:  |  Height:  |  Size: 15 KiB

After

Width:  |  Height:  |  Size: 15 KiB

View File

Before

Width:  |  Height:  |  Size: 3.9 KiB

After

Width:  |  Height:  |  Size: 3.9 KiB

View File

Before

Width:  |  Height:  |  Size: 129 KiB

After

Width:  |  Height:  |  Size: 129 KiB

View File

@ -64,7 +64,7 @@ In that case the mentioned patch would not be required.
Environment: Fedora 29 x64, Linux 4.19.9 Environment: Fedora 29 x64, Linux 4.19.9
See <https://docs.solokeys.io/solo/building/> for the original guide. Here details not included there will be covered. See <https://docs.solokeys.dev/building/> for the original guide. Here details not included there will be covered.
### Install ARM tools Linux ### Install ARM tools Linux
@ -102,7 +102,7 @@ export PATH="/Applications/STMicroelectronics/STM32Cube/STM32CubeProgrammer/STM3
### Building ### Building
Please follow <https://docs.solokeys.io/solo/building/>, as the build way changes rapidly. Please follow <https://docs.solokeys.dev/building/>, as the build way changes rapidly.
Currently (8.1.19) to build the firmware, following lines should be executed Currently (8.1.19) to build the firmware, following lines should be executed
```bash ```bash

View File

@ -13,7 +13,7 @@ pip3 install solo-python
## Updating the firmware ## Updating the firmware
If you just want to update the firmware, you can run one of the following commands. If you just want to update the firmware, you can run one of the following commands.
Make sure your key [is in bootloader mode](/solo/bootloader-mode#solo-bootloader) first. Make sure your key [is in bootloader mode](/bootloader-mode#solo-bootloader) first.
```bash ```bash
solo key update <--secure | --hacker> solo key update <--secure | --hacker>
@ -26,11 +26,11 @@ solo program bootloader <firmware.hex | firmware.json>
``` ```
Note you won't be able to use `all.hex` or the `bundle-*.hex` builds, as these include the solo bootloader. You shouldn't Note you won't be able to use `all.hex` or the `bundle-*.hex` builds, as these include the solo bootloader. You shouldn't
risk changing the Solo bootloader unless you want to make it a secure device, or [make other customizations](/solo/customization/). risk changing the Solo bootloader unless you want to make it a secure device, or [make other customizations](/customization/).
## Updating a Hacker to a Secure Solo ## Updating a Hacker to a Secure Solo
Updating a hacker to be a secure build overwrites the [Solo bootloader](/solo/bootloader-mode#solo-bootloader). Updating a hacker to be a secure build overwrites the [Solo bootloader](/bootloader-mode#solo-bootloader).
So it's important to not mess this up or you may brick your device. So it's important to not mess this up or you may brick your device.
You can use a firmware build from the [latest release](https://github.com/solokeys/solo/releases) or use You can use a firmware build from the [latest release](https://github.com/solokeys/solo/releases) or use

1
docs/repo-readme.md Symbolic link
View File

@ -0,0 +1 @@
../README.md

View File

@ -1 +0,0 @@
../../README.md

View File

@ -1,34 +1,34 @@
site_name: Solo Technical Documentation site_name: Solo Technical Documentation
site_author: SoloKeys site_author: SoloKeys
site_description: 'Documentation for the SoloKeys solo software' site_description: 'Documentation for the SoloKeys solo software'
site_url: 'https://docs.solokeys.io/solo/' site_url: 'https://docs.solokeys.dev/'
repo_url: 'https://github.com/solokeys/solo' repo_url: 'https://github.com/solokeys/solo'
repo_name: 'solokeys/solo' repo_name: 'solokeys/solo'
copyright: 'Copyright &copy; 2018 - 2019 SoloKeys' copyright: 'Copyright &copy; 2018 - 2019 SoloKeys'
nav: nav:
- Home: solo/index.md - Home: index.md
- FIDO2 Implementation: solo/fido2-impl.md - FIDO2 Implementation: fido2-impl.md
- Metadata Statements: solo/metadata-statements.md - Metadata Statements: metadata-statements.md
- Build instructions: solo/building.md - Build instructions: building.md
- Programming instructions: solo/programming.md - Programming instructions: programming.md
- Bootloader mode: solo/bootloader-mode.md - Bootloader mode: bootloader-mode.md
- Customization: solo/customization.md - Customization: customization.md
- Solo Extras: solo/solo-extras.md - Solo Extras: solo-extras.md
- Application Ideas: solo/application-ideas.md - Application Ideas: application-ideas.md
- Running on Nucleo32 board: solo/nucleo32-board.md - Running on Nucleo32 board: nucleo32-board.md
- Signed update process: solo/signed-updates.md - Signed update process: signed-updates.md
- Usage and Porting guide: solo/porting.md - Usage and Porting guide: porting.md
- Code documentation: solo/code-overview.md - Code documentation: code-overview.md
- Contributing Code: solo/contributing.md - Contributing Code: contributing.md
- Contributing Docs: solo/documenting.md - Contributing Docs: documenting.md
- udev Rules: solo/udev.md - udev Rules: udev.md
- About: solo/repo-readme.md - About: repo-readme.md
theme: theme:
name: material name: material
logo: 'solo/images/logo.svg' logo: 'images/logo.svg'
favicon: 'solo/images/favicon.ico' favicon: 'images/favicon.ico'
markdown_extensions: markdown_extensions:
- markdown_include.include - markdown_include.include