Hi, this is a proposal of task that should be done in order to improve coreboot's documentation. It's focused on better user support, debugging and coding. Updating main-board specific or vendor specific documentation is always welcome, but on purpose not part of this list.
Tasks that should be done by coreboot admin beforehand: - Add markdown linting - Build test sphinx (to find unreferenced docs) - Gerrit integration - Add rules for diagrams (SVG/ ASCII-Art) - - SVGs are preferred - - ASCII art seems common but needs java - Make Java dependency optional, ASCII art can be viewed without it - Restructure coreboot documentation structure (see below)
1. Updating the landing page (moving topics and adding new): * Add a user guide ** Toolchain building ** Improve Payloads description *** Kconfig Options *** Architectures *** Add tutorial how to build and run it (on qemu) *** Add more links ** Move existing payloads chapter to user guide
* Add a developer guide ** Move the following chapters from main page into developer guide: *** Coding style *** Project Ideas *** Technotes *** ACPI *** native gfx init *** Display *** GPIO *** Everything coreboot src related (Soc/NB,SB, …)
*Add a coreboot community guide ** Move the following chapters from main page into community guide *** Code of Conduct *** Community forums *** Project services *** coreboot at conferences *** What are the benefits of using coreboot? *** FAQ like, To be created
2. Topics that should receive good documentation by a technical writer (high priority topics first): * What are the benefits of using coreboot? * For Developers/Users: Toolchain building * For Developers/Users: Logging/debugging ** What logging capabilities does coreboot have? ** CBMEM, serial ,EHCI-debug, SPIconsole, flash console * For developers/Users: Timestamps * For Users: VBOOT guide ** Add USER Tutorial, how to use it on qemu ** Resign your firmware ** FAQ * More Developers guides ** CBMEM ** Region API ** What should be done in which stage? *** For example SMBUS init in romstage *** Minimize bootblock ** GDB in ramstage using stub (does it work?) ** Intel DCI for debugging firmware ** External JTAG debugging * Developer Specific: HOWTO Board Support? First steps on new boards and retrofitted boards... ** GPIO dump ** PCI dump ** ACPI dump ** dmidecode ** i2cdump ** Creating a device tree ** Adding Kconfigs for device drivers ** Configure FSP/raminit ** ...
* Developer Specific: CBFS ** minimal documentation ** single linked list ** attributes ** compression ** CBFSv2 with hashes and metadata cache
* Improve Payload descriptions ** See above * Developer Specific: TPM support ** A list of supported TPM * Improved utils documentation ** cbfstool * For developers: SELF loader ** Related to payloads * Build environment ** Building on Windows *** Minimal disclaimer: Not officially supported *** Working in WSL if ... ** Building on clang ** Minimal disclaimer: Not officially supported
Please comment and give feedback.
Kind Regards, Patrick Rudolph
9elements Agency GmbH, Kortumstraße 19-21, 44787 Bochum, Germany Email: patrick.rudolph@9elements.com Phone: +49 234 / 68 94 188
Sitz der Gesellschaft: Bochum Handelsregister: Amtsgericht Bochum, HRB 13207 Geschäftsführung: Eray Basar, Sebastian Deutsch