osFree RoadMap

osFree development must be attacked in several major stages - From a Command Line Inteface to the full Workplace Shell. Our current status in the chain is bolded.

Component implementation status

Steps to 1.0


In this version CPI implementation must be mostly finished. 16-bit API support not required. CMD.EXE and tools must be recompiled (because only sourcelevel compatability at this stage).

Version Requirements Status
0.0.1 L4 must be loaded using GRUB and Hello, world application must be executed (as L4 root task). Hello, world application is stub for osFree kernel. Done
0.0.2 EXT2FS must be finished (in general) and boot sequence must be implemented. GRUB must be removed. MicroFSD is 16-bit (OS/2 compatible), IFS is 32-bit (not OS/2 compatible). MicroFSD must load FreeLDR and execute it. FreeLDR must load L4 kernel and root task (osFree kernel stub). LILO must not be required for EXT2FS. Done
Note: MiniFSD is absent because not required for microkernel architecture.
0.0.3 osFree kernel must parse CONFIG.SYS using file provider server (not real device driver loading) and show config tree. Done
0.0.4 LX loader and module linker (using file provider). osFree kernel must allow load and execute PROTSHELL application. Done
0.0.5 Filesystem API implementation. LX loader must allow loading of MINICMD.EXE task via L4VFS and execute it. Minimal set of API must be implemented. All pointers operations must be replaced by handles (implement handle manager). OS/2 Server must be more structured. Support of OS/2 memory map. More... In Progress
0.0.6 VIO Server implementation. VIO API implementation (32-bit version, via VIO Server). Console support instead of output to log server. Console output via nitpicker (write server like proxygon). Not Done
0.0.7 KBD API implementation (32-bit version) Not Done
0.0.8 Concurent execution of many applications. Multithreaded applications. Not Done
0.0.9 OpenWatcom and build tools must be recompiled as 32-bit version (no 16-bit API must be used). (LX format) Not Done
0.0.10 CMD.EXE must be compiled and all required CPI for it must be implemented. (LX format, 32-bit API only) Not Done
0.0.11 Self-compiled version of osFree. (LX format, no 16-bit API) Not Done
0.0.12 Open Object REXX must be ported. (LX format, no 16-bit API) Not Done

16-bit API support must be implemented.

Version Requirements Status
0.1.1 16↔32 thinking must be implemented Not Done
0.1.2 16→32 calls wrappers Not Done
0.1.3 ELF format support Not Done
0.1.4 NE format support Not Done

SOM tools and environment must be implemented. (Reused of somFree, not included in osFree source tree yet)

Version Requirements Status
0.2.1 SOM Compiler Watcom Linker Emitter Done
0.2.2 SOM Compiler Preprocessor Done
0.2.3 SOM Compiler C Emitter must be implemented Done (builtin)
0.2.4 SOM Compiler C++ Emitter must be implemented Done (builtin)
0.2.5 Emitter Framework classes must be implemented In progress
0.2.6 SOM Compiler must be implemented Done
0.2.7 SOM CPI Intefaces Not Done

GPI must be implemented (NO SOM Here)


PM must be implemented (SOM Based PM???)


WPS must be implemented


Network must be implemented


, 2018/03/11 19:23

2Rick C. Hodgin: OS/2 API is well documented in OS/2 toolkit. Otherwise, yes, use reverse-engineering. FreeLDR is based on GRUB source code. So, I got required info from GRUB sources + IFS.INF doc from IBM for info, how to load OS/2 (including bootos2.mdl).

2Orion Blastar: We're currently not targeted to something like WINE. We primarily implement OS/2 API on the base of microkernels. Also, support of OS/2 API on top of other kernels like Linux or FreeBSD is possible, though currently we extensively use L4 family microkernels features for implementing the OS/2 API. Note that recently we got info about 2ine project (https://www.patreon.com/posts/project-2ine-16513790) which aims at implementing WINE analogue for OS/2 API on top of Linux kernel. In the future some collaboration is possible, like ReactOS collaborates with WINE project.

You could leave a comment if you were logged in.

en/roadmap.txt · Last modified: 2017/12/19 04:15 by prokushev