/elkernel

An x86 toy kernel implementation written in Easy Programming Language(易語言), still work in progress.

Primary LanguageCGNU General Public License v2.0GPL-2.0

elkernel - elfOS

An x86 toy OS implementation written in EPL.

Will support the following features in the future:

  • Kernel memory management
  • Interrupt handling
  • VBE graphics
  • Standard driver model
  • File system model
  • Posix-compatible syscalls

This project is forked from old branch snake, see in the branch snake.

Compile the kernel

For nightly build, please refer to the GitHub Action select latest successful build, then download the artifacts.

$ cmake . -B.build
$ cd .build && make

The 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.

How To Debug

Use QEMU to debug the kernel

  @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 ❤️.