diff --git a/docs/solo/application-ideas.md b/docs/application-ideas.md similarity index 100% rename from docs/solo/application-ideas.md rename to docs/application-ideas.md diff --git a/docs/solo/bootloader-mode.md b/docs/bootloader-mode.md similarity index 87% rename from docs/solo/bootloader-mode.md rename to docs/bootloader-mode.md index d69b6dc..5e7a901 100644 --- a/docs/solo/bootloader-mode.md +++ b/docs/bootloader-mode.md @@ -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 ``` -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. 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 @@ -19,10 +19,10 @@ Solo has 3 boot stages. ## 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. -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**. -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. You can also run this command when Solo is in bootloader mode to put it in DFU mode. diff --git a/docs/solo/building.md b/docs/building.md similarity index 97% rename from docs/solo/building.md rename to docs/building.md index 1dd6026..c00fa04 100644 --- a/docs/solo/building.md +++ b/docs/building.md @@ -131,7 +131,7 @@ solo mergehex \ 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). diff --git a/docs/solo/code-overview.md b/docs/code-overview.md similarity index 100% rename from docs/solo/code-overview.md rename to docs/code-overview.md diff --git a/docs/solo/contributing.md b/docs/contributing.md similarity index 100% rename from docs/solo/contributing.md rename to docs/contributing.md diff --git a/docs/solo/customization.md b/docs/customization.md similarity index 95% rename from docs/solo/customization.md rename to docs/customization.md index 8e5bb36..8cb6d37 100644 --- a/docs/solo/customization.md +++ b/docs/customization.md @@ -19,7 +19,7 @@ and program it. ### Creating your attestation key pair 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 @@ -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 -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: @@ -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. 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. diff --git a/docs/solo/documenting.md b/docs/documenting.md similarity index 100% rename from docs/solo/documenting.md rename to docs/documenting.md diff --git a/docs/solo/fido2-impl.md b/docs/fido2-impl.md similarity index 100% rename from docs/solo/fido2-impl.md rename to docs/fido2-impl.md diff --git a/docs/solo/images/conforms.PNG b/docs/images/conforms.PNG similarity index 100% rename from docs/solo/images/conforms.PNG rename to docs/images/conforms.PNG diff --git a/docs/solo/images/favicon.ico b/docs/images/favicon.ico similarity index 100% rename from docs/solo/images/favicon.ico rename to docs/images/favicon.ico diff --git a/docs/solo/images/logo.svg b/docs/images/logo.svg similarity index 100% rename from docs/solo/images/logo.svg rename to docs/images/logo.svg diff --git a/docs/solo/images/solo_conforms.PNG b/docs/images/solo_conforms.PNG similarity index 100% rename from docs/solo/images/solo_conforms.PNG rename to docs/images/solo_conforms.PNG diff --git a/docs/solo/index.md b/docs/index.md similarity index 100% rename from docs/solo/index.md rename to docs/index.md diff --git a/docs/solo/metadata-statements.md b/docs/metadata-statements.md similarity index 100% rename from docs/solo/metadata-statements.md rename to docs/metadata-statements.md diff --git a/docs/solo/nucleo32-board.md b/docs/nucleo32-board.md similarity index 97% rename from docs/solo/nucleo32-board.md rename to docs/nucleo32-board.md index 6872702..8a8ab7c 100644 --- a/docs/solo/nucleo32-board.md +++ b/docs/nucleo32-board.md @@ -64,7 +64,7 @@ In that case the mentioned patch would not be required. Environment: Fedora 29 x64, Linux 4.19.9 -See for the original guide. Here details not included there will be covered. +See for the original guide. Here details not included there will be covered. ### Install ARM tools Linux @@ -102,7 +102,7 @@ export PATH="/Applications/STMicroelectronics/STM32Cube/STM32CubeProgrammer/STM3 ### Building -Please follow , as the build way changes rapidly. +Please follow , as the build way changes rapidly. Currently (8.1.19) to build the firmware, following lines should be executed ```bash diff --git a/docs/solo/porting.md b/docs/porting.md similarity index 100% rename from docs/solo/porting.md rename to docs/porting.md diff --git a/docs/solo/programming.md b/docs/programming.md similarity index 94% rename from docs/solo/programming.md rename to docs/programming.md index b16f63f..2ec1c73 100644 --- a/docs/solo/programming.md +++ b/docs/programming.md @@ -13,7 +13,7 @@ pip3 install solo-python ## Updating the firmware 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 solo key update <--secure | --hacker> @@ -26,11 +26,11 @@ solo program bootloader ``` 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 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. You can use a firmware build from the [latest release](https://github.com/solokeys/solo/releases) or use diff --git a/docs/repo-readme.md b/docs/repo-readme.md new file mode 120000 index 0000000..32d46ee --- /dev/null +++ b/docs/repo-readme.md @@ -0,0 +1 @@ +../README.md \ No newline at end of file diff --git a/docs/solo/signed-updates.md b/docs/signed-updates.md similarity index 100% rename from docs/solo/signed-updates.md rename to docs/signed-updates.md diff --git a/docs/solo/solo-extras.md b/docs/solo-extras.md similarity index 100% rename from docs/solo/solo-extras.md rename to docs/solo-extras.md diff --git a/docs/solo/repo-readme.md b/docs/solo/repo-readme.md deleted file mode 120000 index fe84005..0000000 --- a/docs/solo/repo-readme.md +++ /dev/null @@ -1 +0,0 @@ -../../README.md \ No newline at end of file diff --git a/docs/solo/udev.md b/docs/udev.md similarity index 100% rename from docs/solo/udev.md rename to docs/udev.md diff --git a/mkdocs.yml b/mkdocs.yml index 9baf801..e80a66f 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -1,34 +1,34 @@ site_name: Solo Technical Documentation site_author: SoloKeys 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_name: 'solokeys/solo' copyright: 'Copyright © 2018 - 2019 SoloKeys' nav: - - Home: solo/index.md - - FIDO2 Implementation: solo/fido2-impl.md - - Metadata Statements: solo/metadata-statements.md - - Build instructions: solo/building.md - - Programming instructions: solo/programming.md - - Bootloader mode: solo/bootloader-mode.md - - Customization: solo/customization.md - - Solo Extras: solo/solo-extras.md - - Application Ideas: solo/application-ideas.md - - Running on Nucleo32 board: solo/nucleo32-board.md - - Signed update process: solo/signed-updates.md - - Usage and Porting guide: solo/porting.md - - Code documentation: solo/code-overview.md - - Contributing Code: solo/contributing.md - - Contributing Docs: solo/documenting.md - - udev Rules: solo/udev.md - - About: solo/repo-readme.md + - Home: index.md + - FIDO2 Implementation: fido2-impl.md + - Metadata Statements: metadata-statements.md + - Build instructions: building.md + - Programming instructions: programming.md + - Bootloader mode: bootloader-mode.md + - Customization: customization.md + - Solo Extras: solo-extras.md + - Application Ideas: application-ideas.md + - Running on Nucleo32 board: nucleo32-board.md + - Signed update process: signed-updates.md + - Usage and Porting guide: porting.md + - Code documentation: code-overview.md + - Contributing Code: contributing.md + - Contributing Docs: documenting.md + - udev Rules: udev.md + - About: repo-readme.md theme: name: material - logo: 'solo/images/logo.svg' - favicon: 'solo/images/favicon.ico' + logo: 'images/logo.svg' + favicon: 'images/favicon.ico' markdown_extensions: - markdown_include.include