Skip to content

Commit

Permalink
Update bootloader notes Nitrokey#69
Browse files Browse the repository at this point in the history
  • Loading branch information
szszszsz committed Feb 26, 2020
1 parent deeca21 commit cbda2fb
Showing 1 changed file with 14 additions and 11 deletions.
25 changes: 14 additions & 11 deletions bootloader-notes.md
Original file line number Diff line number Diff line change
@@ -1,12 +1,15 @@
Firmware side work is done in wip-bootloader_pro.
Check TODOs in the wip-bootloader branch.
Check libnitrokey (for execution), and dapboot (for actual bootloader) projects.
Random notes regarding used bootloader:
- Check [libnitrokey] (for execution of bootloader activation command), and [dapboot] (for actual bootloader) projects.
- Data retention tests done - PWS tested only.
- Full libnitrokey test suite for Pro passed both after the update, and on merged firmware flashing.
- GnuPG tested and seems fine.
- Merged firmware (bootloader+fw) for one-pass flashing works.
- Firmware is write-verified by the bootloader, and the process is cancelled on write failure. This might result in broken firmware state.
- Interrupting DFU update procedure may result in broken firmware state on device (having parts of two firmwares). Bootloader will not start by default in such case with current configuration, but rather start the potentially broken firmware.
- Firmware is replaced on-the-fly, monotonically.
- Bootloader does not have access to the user space memory (over 110kB).
- When bootloader is activated, and the device is power-cycled without any action, it safely comes back to the main firmware application, without any change to the memory flash.

Data retention tests done - PWS tested only.
Full libnitrokey test suite for Pro passed after the update, and on merged firmware flashing.
GnuPG tested and seems fine.
Merged firmware (bootloader+fw) for one-pass flashing works.
Firmware is write-verified by the bootloader, and the process is cancelled on write failure.
Interrupting DFU update procedure may result in broken firmware state on device. Bootloader will not start by default in such case with current configuration, but rather start the broken firmware.
Firmware is replaced on-the-fly, monotonically.
Bootloader does not have access to the user space memory (over 110kB).

[libnitrokey]: https://github.com/Nitrokey/libnitrokey/blob/master/unittest/test_pro_bootloader.py
[dapboot]: https://github.com/Nitrokey/dapboot

0 comments on commit cbda2fb

Please sign in to comment.