Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/novara754/kenshi
A 32-bit toy operating system for self-education.
https://github.com/novara754/kenshi
Last synced: 30 days ago
JSON representation
A 32-bit toy operating system for self-education.
- Host: GitHub
- URL: https://github.com/novara754/kenshi
- Owner: novara754
- License: mit
- Created: 2019-08-29T19:00:14.000Z (over 5 years ago)
- Default Branch: master
- Last Pushed: 2019-09-07T12:39:44.000Z (over 5 years ago)
- Last Synced: 2024-10-14T22:14:27.661Z (2 months ago)
- Language: C
- Size: 266 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE.md
Awesome Lists containing this project
README
# kenshi
A 32-bit toy operating system for self-education.
Written in C (and some x86 assembly) for the x86 architecture.
Uses the GRUB bootloader, but theoretically works with any bootloader that supports the multiboot standard.![screenshot](screenshot.png)
## Features
### Finished
- VGA text output (support for strings and numbers, including printf)
- Serial port input and output
- Interrupt/exception handling
- Support for basic input via keyboard
- Very basic shell### Planned
- Mouse support
- Advanced shell
- File system...and many more!
## Usage
**Note:** The following steps have only been tested on MacOS Mojave.
**Requirements:** A version of GCC setup to generate i686-elf code, grub utils (namely grub-mkrescue & grub-file).
Using the following command you can generate an `.iso` file containing this very kernel:
```
$ make all
```
The newly generated file will be called `kenshi.iso`.This iso can now be used as a CDROM to boot the kernal.
Using qemu it would look like this:
```
$ qemu-system-i386 -cdrom kenshi.iso
```
You can also use `make run` to do above two steps automatically.Burning the `.iso` to a CD and using it on a physical computer might also work, but it has not been tested.
## License
Licensed under the [MIT License](LICENSE.md).