Google open-sourced today OpenSK, a Rust-based project to aid hardware vendors build hardware security keys. The project, which has been open-sourced on GitHub, contains Rust-based firmware that can be installed on Nordic chip dongles and effectively convert the dongle into a FIDO U2F and FIDO2-complaint security key.
Further, Google has also published stereolithography source code files so users can also 3D-print a physical case in which they can place the Nordic chip dongle and actually assemble a real-life security key they can carry around.
$ python deploy.py os --board=nrf52840_dongleinfo: Updating rust toolchain to nightly-2020-02-03info: syncing channel updates for 'nightly-2020-02-03-x86_64-pc-windows-gnu'info: checking for self-updatesinfo: component 'rust-std' for target 'thumbv7em-none-eabi' is up to dateinfo: Rust toolchain up-to-dateinfo: Installing Tock on board nrf52840_dongleinfo: syncing channel updates for 'nightly-2020-01-16-x86_64-pc-windows-gnu'info: latest update on 2020-01-16, rust version 1.42.0-nightly (3291ae339 2020-01-15)info: downloading component 'cargo'info: downloading component 'clippy'info: downloading component 'rust-docs'info: downloading component 'rust-mingw'info: downloading component 'rust-std'info: downloading component 'rustc'info: downloading component 'rustfmt'info: installing component 'cargo'info: installing component 'clippy'info: installing component 'rust-docs'info: installing component 'rust-mingw'info: installing component 'rust-std'info: installing component 'rustc'info: installing component 'rustfmt'info: downloading component 'llvm-tools-preview'info: installing component 'llvm-tools-preview'info: downloading component 'rust-src'info: installing component 'rust-src'info: downloading component 'rust-std' for 'thumbv7em-none-eabi'info: installing component 'rust-std' for 'thumbv7em-none-eabi'dirname: missing operandTry 'dirname --help' for more information. Compiling tock-cells v0.1.0 (C:\SDK\NCS\OpenSK\third_party\tock\libraries\tock-cells) Compiling tock-registers v0.5.0 (C:\SDK\NCS\OpenSK\third_party\tock\libraries\tock-register-interface) Compiling enum_primitive v0.1.0 (C:\SDK\NCS\OpenSK\third_party\tock\libraries\enum_primitive) Compiling tock_rt0 v0.1.0 (C:\SDK\NCS\OpenSK\third_party\tock\libraries\tock-rt0) Compiling nrf52840_dongle v0.1.0 (C:\SDK\NCS\OpenSK\third_party\tock\boards\nordic\nrf52840_dongle) Compiling kernel v0.1.0 (C:\SDK\NCS\OpenSK\third_party\tock\kernel) Compiling cortexm v0.1.0 (C:\SDK\NCS\OpenSK\third_party\tock\arch\cortex-m) Compiling nrf5x v0.1.0 (C:\SDK\NCS\OpenSK\third_party\tock\chips\nrf5x) Compiling capsules v0.1.0 (C:\SDK\NCS\OpenSK\third_party\tock\capsules) Compiling cortexm4 v0.1.0 (C:\SDK\NCS\OpenSK\third_party\tock\arch\cortex-m4) Compiling nrf52 v0.1.0 (C:\SDK\NCS\OpenSK\third_party\tock\chips\nrf52) Compiling nrf52840 v0.1.0 (C:\SDK\NCS\OpenSK\third_party\tock\chips\nrf52840) Compiling components v0.1.0 (C:\SDK\NCS\OpenSK\third_party\tock\boards\components) Compiling nrf52dk_base v0.1.0 (C:\SDK\NCS\OpenSK\third_party\tock\boards\nordic\nrf52dk_base) Building [=================================> ] 15/16
LarsH Stuck here, what could be wrong in above? Thanks!