# Bootloader tools Docs

In order to generate all necessary components for the build of a Vystem disk image, we have created several C++ tools and library designed to help generating these components. All of these tools have been intented to be used only in a normal Linux environnement. Here is the list of bootloader tools:
1) [commoncrypto](commoncrypto.md)
2) [bootanim](bootanim.md)
3) [fontgen](fontgen.md)
4) [initfsgen](initfsgen.md)
5) [keygen](keygen.md)

Here a few precisions about the global mecanisms inside each tools:
- when a tool is iterating on the content of a folder, it rely on the order provided by the filesystem. But tool like `keygen` get there files list through arguments specifying direct files path rather than a folder path, making it a deterministic order if the build script doesn't change
- when we say 'securely erased', it mean we are using the `explicit_bzero` function to prevent compiler optimization
