# Roadmap ## Version 0.1 (previous) Initial release ## Version 0.2 (actual) - Blastproof: - New boot password screen, with power options - Support for custom keyboard layouts using correspondance tables - Config is now stored in .cfg files - VFTM support - Partition tables is now parsed without relying on UEFI firmware - New configuration key: `kernel_kbd_events_queue_capacity` - Vyx: - Support for payloads with custom mappings options - Initfsgen: - The `initfs-footprint.bin` file is now named `initfsfp.bin` - The `signsyst-hash.bin` file is now named `sshash.bin` - Keygen: - Removed layout conversion feature - The utility will now check if a password is provided in the `VYSTEM_KEYGEN_PASSWORD` environnement variable - The manual password setup will still be proposed if `VYSTEM_KEYGEN_PASSWORD` isn't defined or is empty - This method of inputing password via `VYSTEM_KEYGEN_PASSWORD` should ONLY be used in a developpement environnement - Keygen now generate root and manifest keypairs, and expect a `vftm.sock` UNIX socket to transmit manifest keypair to a compatible build system - VyBuild: - A new build system, see documentation for more informations - Commoncrypto: - A new library made of three cryptographic libraries, required for Keygen, Initfsgen and VyBuild - Vystem FAT Trusted Manifest: - A new signed manifest, injected inside the reserved sectors of the ESP partition FAT32 - It's signed using a combinaison of Keygen and VyBuild - It allow to verify the link between ESP partition and current disk, as well as FAT32 integrity and self bootloader verification - Common Lib: - In the `common` folder, new headers that will be accessible to all components of Vystem will be put here - For the moment, it only includes the reference version of each component - Shelter: - Can now manage TSS, GDT and IDT - Can now parse root ACPI table and MADT - Can now interact with LAPIC, estimating CPU and LAPIC frequency - Can now start APs - Can now manages IOAPIC devices and GSI lines as well as legacy IRQs - Added thread safety to print, timers and malloc. Added iprint/iprintf/sprintf. - Added Device System, endpoints from APIC, TSC, kernel configuration, memory and SMP subsystem are available - Device System is not available for the input subsystem yet, as it would requires Ring 3 architecture, that isn't ready for now - Add very basic framebuffer support for early kernel progress bar - Image build processus: - The signatures are now stored as `.sig` files - The signatures are now stored inside `EFI/BPSIGN` folder - The bootloader files are now stored inside `EFI/BPFILES` folder ## Version 0.3 (future release with planned additions) - Updated `SH_STATUS` struct - New Modular Daemon Unit with the first type being implemented: kernel library. Run in ring 3 with very basic API - First features of the VFS, with InitFS drivers - MCFG ACPI table parsing, PCIe devices enumeration, first MSI/MSI-X implementation - SATA driver, volumes enumeration with integration to the VFS - Upgrade to the Device System, with new APIs for the input subsystem and VFS, as well as Device System querying through the VFS