Homebrew OS Development: Difference between revisions
Add a link to the gitlab, and fix some minor typos |
JennyWakeman (talk | contribs) |
||
(22 intermediate revisions by 9 users not shown) | |||
Line 1: | Line 1: | ||
[[Category:Projects]] | |||
This is a general summary of what OSes are being developed on DisNCord. | This is a general summary of what OSes are being developed on DisNCord. | ||
=== Open Computing Kit (OCK) === | === Open Computing Kit (OCK) === | ||
A joint project between | A joint project between Velleda, Sadmac356, Griffin, Europa, and others, [https://github.com/open-computing-kit Open Computing Kit] is an operating system that aims to be as GNU-independent as possible, including a [https://github.com/open-computing-kit/ockernel kernel written in Rust] and its [https://github.com/open-computing-kit/OCKcore own set of coreutils]. It is presently in the very early stages of active development. | ||
[[File:SeshOS3.png|thumb|SeshOS as of August 6th, 2024]] | |||
=== SeshOS === | === SeshOS === | ||
Written by Mineman, SeshOS is one of the more esoteric OSes on DisNCord | Written by Mineman, SeshOS is one of the more esoteric OSes on DisNCord. As of 10/15/2022 it has a working malloc thanks to Krabs and Mathewnd. | ||
SeshOS has support for one filesystem: tar ramfs. | SeshOS has support for one filesystem: tar ramfs. | ||
Has very basic SMP setup, and has support for the PC Speaker. | |||
Its source code is located at https://github.com/mine-man3000/SeshOS. | |||
Techflash also rewrote the entire thing in C and ported bits of his OS to this. | |||
=== Pics Of Bread Awful scRipting Interpreter System for Neat Architectures (POBARISNA) === | === Pics Of Bread Awful scRipting Interpreter System for Neat Architectures (POBARISNA) === | ||
Written by Krabs, POBARISNA is an operating system with a JavaScript-based microkernel design | Written by Krabs, POBARISNA is an operating system with a JavaScript-based microkernel design that currently only runs on PowerPC macs. There are prospective plans for ports to other "Neat Architectures" (which Krabs defines as "not a PC/BIOS/UEFI x86 system"), such as SPARC variants and ARM. | ||
The project can be found on [https://gitlab.com/ | The project can be found on [https://gitlab.com/sarahcrowle/pobarisna GitLab]. | ||
The JavaScript interpreter used in POBARISNA is [https://duktape.org/ Duktape], an easily embeddable interpreter with a nice API. However, Duktape 2.x has some awkward tooling and a lack of solid control over execution. Therefore, there are plans to replace it with [https://gitlab.com/sarahcrowle/dorktape Dorktape], which will hopefully serve as a modernized fork of the engine. | |||
Being that PowerPC OpenFirmware is a slightly under-documented platform, [[PowerPC OpenFirmware Implementation Details]] should serve as helpful to anyone looking to do something similar. | |||
[[File:POBARISNA running duktape on bare metal.jpg|alt=An early screenshot of POBARISNA running Duktape in OpenFirmware|thumb|An early screenshot of POBARISNA running Duktape in OpenFirmware]] | |||
=== picotalk === | === picotalk === | ||
Written by Waterpear, picotalk is an | Written by Waterpear, picotalk is a Smalltalk interpreter that aims to be a bare-metal system for embedded use. | ||
An early attempt to implement a system from scratch in C existed, but has been abandoned. Instead, the plan is to recreate the original Smalltalk-80 system, build an RPC layer to allow the development tools to operate over a serial link, and strip out features not needed for embedded systems such as the GUI. A "zeroth prototype" written in Python is in progress, and can run some of the Smalltalk development tools. | |||
=== Rotom OS === | === Rotom OS === | ||
Written by SED, Rotom OS is an operating system with little information to glean from anything except for its code and a few images. | Written by SED, [https://github.com/SED4906/rotomos Rotom OS] is an operating system with little information to glean from anything except for its code and a few images. It attempts to be as simple as possible, with ring 3 not yet being implemented. | ||
It attempts to be as simple as possible, with ring 3 not being implemented. | [[File:RotomOS.png|thumb|Rotom OS]] | ||
RotomOS.png| | |||
=== styx === | === styx === | ||
Line 37: | Line 43: | ||
* The word "styx" is not an acronym, nor will the operating system's governing body ever be comprised of one member. | * The word "styx" is not an acronym, nor will the operating system's governing body ever be comprised of one member. | ||
* The system will be consent-first, something that flies in the face of traditional operating systems like Windows and macOS. | * The system will be consent-first, something that flies in the face of traditional operating systems like Windows and macOS. | ||
There are many more than | There are many more than are stated here in their Discord server, due to there being too many to list here effectively. | ||
=== Astral === | |||
Written by Mathewnd, [https://github.com/Mathewnd/Astral Astral] is a monolithic kernel written in C. It is still at its early stages of development and has the beginnings of a userland. | |||
It has a growing port collection with a few examples being Bash, Doom, Binutils, Coreutils and NASM. | |||
Its current main goal is to have a usable command line interface while also having fun developing the system. | |||
[[File:Astral neofetch.png|alt=Astral running Neofetch on Oct 11, 2022|thumb|Astral running Neofetch on Oct 11, 2022]] | |||
=== Techflash OS (TFOS) === | |||
Written by Techflash, [https://github.com/techflashYT/Techflash-OS Techflash OS] is an operating system that is still very early in development. | |||
It current has very little implemented except for the following: | |||
* A basic boot procedure | |||
* Enabling a few CPU features | |||
* Support of a few basic interrupts, such as the [[wikipedia:Intel_8253|PIT]] and keyboard. | |||
* A very basic framebuffer console | |||
* Starts of an ELF loader | |||
* Serial and Parallel support for logging |
Latest revision as of 18:36, 8 September 2024
This is a general summary of what OSes are being developed on DisNCord.
Open Computing Kit (OCK)
A joint project between Velleda, Sadmac356, Griffin, Europa, and others, Open Computing Kit is an operating system that aims to be as GNU-independent as possible, including a kernel written in Rust and its own set of coreutils. It is presently in the very early stages of active development.
SeshOS
Written by Mineman, SeshOS is one of the more esoteric OSes on DisNCord. As of 10/15/2022 it has a working malloc thanks to Krabs and Mathewnd.
SeshOS has support for one filesystem: tar ramfs.
Has very basic SMP setup, and has support for the PC Speaker.
Its source code is located at https://github.com/mine-man3000/SeshOS.
Techflash also rewrote the entire thing in C and ported bits of his OS to this.
Pics Of Bread Awful scRipting Interpreter System for Neat Architectures (POBARISNA)
Written by Krabs, POBARISNA is an operating system with a JavaScript-based microkernel design that currently only runs on PowerPC macs. There are prospective plans for ports to other "Neat Architectures" (which Krabs defines as "not a PC/BIOS/UEFI x86 system"), such as SPARC variants and ARM.
The project can be found on GitLab.
The JavaScript interpreter used in POBARISNA is Duktape, an easily embeddable interpreter with a nice API. However, Duktape 2.x has some awkward tooling and a lack of solid control over execution. Therefore, there are plans to replace it with Dorktape, which will hopefully serve as a modernized fork of the engine.
Being that PowerPC OpenFirmware is a slightly under-documented platform, PowerPC OpenFirmware Implementation Details should serve as helpful to anyone looking to do something similar.
picotalk
Written by Waterpear, picotalk is a Smalltalk interpreter that aims to be a bare-metal system for embedded use.
An early attempt to implement a system from scratch in C existed, but has been abandoned. Instead, the plan is to recreate the original Smalltalk-80 system, build an RPC layer to allow the development tools to operate over a serial link, and strip out features not needed for embedded systems such as the GUI. A "zeroth prototype" written in Python is in progress, and can run some of the Smalltalk development tools.
Rotom OS
Written by SED, Rotom OS is an operating system with little information to glean from anything except for its code and a few images. It attempts to be as simple as possible, with ring 3 not yet being implemented.
styx
Written by Sirocyl and others, styx is an operating system with many ideas, some of which will be listed here:
- Applications will be double-click to run, much like Windows or macOS.
- Libraries should live with their application in packaging, similar to Windows.
- Installation will be done through drag-and-drop, taken from macOS.
- The system will be as (trans)portable as possible, similar to Classic macOS.
- The word "styx" is not an acronym, nor will the operating system's governing body ever be comprised of one member.
- The system will be consent-first, something that flies in the face of traditional operating systems like Windows and macOS.
There are many more than are stated here in their Discord server, due to there being too many to list here effectively.
Astral
Written by Mathewnd, Astral is a monolithic kernel written in C. It is still at its early stages of development and has the beginnings of a userland.
It has a growing port collection with a few examples being Bash, Doom, Binutils, Coreutils and NASM.
Its current main goal is to have a usable command line interface while also having fun developing the system.
Techflash OS (TFOS)
Written by Techflash, Techflash OS is an operating system that is still very early in development.
It current has very little implemented except for the following:
- A basic boot procedure
- Enabling a few CPU features
- Support of a few basic interrupts, such as the PIT and keyboard.
- A very basic framebuffer console
- Starts of an ELF loader
- Serial and Parallel support for logging