Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/thesnowfield/elkernel
An x86 toy kernel implementation written in Easy Programming Language(易語言), still work in progress.
https://github.com/thesnowfield/elkernel
Last synced: 7 days ago
JSON representation
An x86 toy kernel implementation written in Easy Programming Language(易語言), still work in progress.
- Host: GitHub
- URL: https://github.com/thesnowfield/elkernel
- Owner: TheSnowfield
- License: gpl-2.0
- Created: 2020-04-02T21:47:14.000Z (over 4 years ago)
- Default Branch: main
- Last Pushed: 2024-09-17T18:03:49.000Z (2 months ago)
- Last Synced: 2024-09-18T07:31:28.680Z (2 months ago)
- Language: C
- Homepage:
- Size: 523 KB
- Stars: 24
- Watchers: 5
- Forks: 7
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
## elkernel - elfOS
An x86 toy OS implementation written in EPL.
Will support the following features in the future:
- [x] Kernel memory management
- [x] Interrupt handling
- [ ] VBE graphics
- [ ] Standard driver model
- [ ] File system model
- [ ] Posix-compatible syscallsThis project is forked from old branch `snake`, see in the branch [snake](https://github.com/TheSnowfield/elkernel/tree/snake).
### Compile the kernel
For nightly build, please refer to the [GitHub Action](https://github.com/TheSnowfield/elkernel/actions) select latest successful build, then download the artifacts.
```bash
$ cmake . -B.build
$ cd .build && make
```The [el-buildtool](https://github.com/TheSnowfield/el-buildtool/pkgs/container/el-buildtool) docker image will be pulled automatically during the build, then compiling the kernel code without install the EPL environment on your host.
See more details in the el-buildtool [repository](https://github.com/TheSnowfield/el-buildtool).
### How To Debug
> Use QEMU to debug the kernel
```batch
@echo off
set PATH=%PATH%;YOUR_QEMU_INSTALLATION
qemu-system-i386 -gdb tcp::23333 -fda ./elf-fdd.img
```
Execute the batch file, then attach to the QEMU instance.### LICENSE
Licensed under the GPL v2 license with ❤️.