Skip to content
This repository was archived by the owner on Apr 14, 2025. It is now read-only.
This repository was archived by the owner on Apr 14, 2025. It is now read-only.

Roadmap #30

Description

@YannMagnin

This is a roadmap issue.
May change really often.

Schedule

See milestones

  • 0.0.15 - rework hypervisor
  • 0.0.14 - rework kernel allocator
  • 0.0.13 - cleanup the codebase (action, unit tests, ...)
  • 0.0.12 - kernel boot rework
  • 0.0.11 - support kernel image generation
  • 0.0.10 - support the fxcp400 (bootloader)
  • 0.0.9 - project rework

Status (0.0.13) - cleanup the codebase (action, unit tests, ...)

  • CI/CD
    • create a custom docker image which contain the toolchain
    • create a job that check code valitity (pylint, mypy, ...) on each commit
    • create a job that run unit tests on each commit
    • create a job that generate all kernel images (artifact)
  • vxSDK
    • re-enable unit-test custom framework
    • re-support bootloader console unit-tests
    • add some other unit-tests
  • HolyHook2 support for fxcp400
    • install HH2 on real device
    • resolve missing symbols for the bootloader to run
    • use the BackupVRAM() as a kernel loading base address
    • create a generic (weak) kernel jumping function (use a custom one for the loading the kernel in BackupVram)
    • validate the HH2 support
    • validate that my CFW support is not broken

Previous roadmap

0.0.12 - kernel boot rework
  • code cleaning
    • unify all kernel entry (currently board-specific)
    • define a boot procedure (what must be archived during this step)
    • add a custom ulibc with critical function (e.g. strlen, memcpy) to avoid collision with the "real" libc
    • add information in README which explain that a lot of file are PoC and mainly not used here
  • kterm device
    • create the kterm device to allow display early log information
    • the device must be independent from the display module
    • the device must support scrolling mechanism
    • the device must support proportional font
    • support the fxcp400 device
    • support the fxcg50 device
    • support the fx9860 device
  • optimisation
    • support Link Time Optimization (LTO)
0.0.11 - support kernel image
  • SDK kernel building support
    • support kernel initialisation (module and driver selections)
    • support kernel font conversion (mono)
    • support kernel build system generation
    • support kernel building
    • support kernel image (ASLR)
    • support bootloader image (ASLR + kernel image information injection)
    • support os image generation
    • validate bootloader inforation
    • implement kernel jumping
    • validate the kernel booting
  • support device
    • support the fxcg50
    • support the fxcp400
    • support the fx9860
  • bootloader
    • support custom command registration
    • support custom command invokation
  • project
    • add README
0.0.10 - support of the `fxcp400`
  • exploit the device
    • find a way to execute arbitrary code (since the device does not allow third-party program)
    • find a way to execute privileged instruction (theoretically provided by default)
    • reverse file primitives (at least open, read, write, close)
    • reverse screen primitives
    • reverse keyboard primitives
  • support the device
    • support the bootstraping part (early-boot)
    • implement screen driver (no touch-screen support)
    • implement keyboard driver
    • successfully boot the bootloader
  • SDK change
    • unify the board init and board select
    • catch missing toolchain error
    • review all CLI entry to force use the logger
    • review all typing import
0.0.9 - project rework
  • move project management in Github
  • complet rework SDK abstraction
  • remove vxSDK dependencies

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions