After many months of work, my custom CraftOS kernel, CCKernel2, is ready for a beta release. CCKernel2 adds to and extends standard CraftOS 1.8 to provide more control over the operating system, including:
  • Cooperative multitasking through coroutines
  • Native IPC calls
  • Process signaling
  • Built-in debugger
  • Multi-user system
  • File permissions
  • Device files (/dev)
  • Eight virtual terminals
  • Built-in logger
  • Unix-style file hierarchy
  • `os.loadAPI` resolution paths
  • Process I/O pipes
  • systemd-based init program
  • GUI setup program
  • Plenty of new commands relating to CCKernel2
  • Extensive kernel API
Here's a quick demo of some of the features: https://youtu.be/Z4Kfyn7Z-KI.

Screenshots




The source code can be found on GitHub, and the API reference for all added and changed functions can be found in the documentation. You can install CCKernel2 with this command:

pastebin run yY9StxvU
CCKernel2 requires CraftOS 1.8 or later, and is optimized for CraftOS-PC (but is not required).

Some applications of CCKernel2 (included at demos/ in the repository):
  • HTTP server running in the background (requires CraftOS-PC)
  • Remote shell server (server requires CraftOS-PC, client can run on any recent CraftOS but requires http_whitelist=*): Demo
I'm planning on building a full GUI OS based off of CCKernel2 in the future, using the multitasking to run multiple apps at once. I also want to write an extended shell that functions more like bash, but I ran into some roadblocks and decided to focus on polishing CCKernel2 before writing the new shell.
If you find any bugs, please submit a new issue on GitHub.