EidolonKernel is a lightweight, custom operating system kernel implemented in C. It aims to provide a minimal kernel with basic functionality as a learning exercise and a starting point for further development.
- Boots using a multiboot-compliant bootloader
- Initializes a basic VGA text buffer for displaying text
- Compiled using a cross-compiler targeting i686-elf architecture
- Linked with a custom linker script to define the memory layout
To build and run EidolonKernel, you need the following:
- A cross-compiler targeting i686-elf (e.g.,
i686-elf-gcc
) - GNU Make
- QEMU emulator (for running the kernel)
To build the kernel, follow these steps:
- Make sure you have the prerequisites installed.
- Clone the repository:
git clone https://github.com/your-username/EidolonKernel.git cd EidolonKernel
- Run the following command to build the kernel:
make
The build process will generate the kernel binary myos.bin
.
To run the kernel using QEMU, use the following command:
make run
This will start QEMU and boot the EidolonKernel. You should see the message "Hello!" displayed on the screen.
The project has the following structure:
kernel.c
: Contains the main kernel code, including thekernel_main
function.boot.s
: Assembly code for the bootloader, setting up the stack and callingkernel_main
.linker.ld
: Linker script that defines the memory layout of the kernel.Makefile
: Makefile for building the kernel and running it with QEMU.
Contributions to EidolonKernel are welcome! If you find any bugs, have suggestions for improvements, or want to add new features, please open an issue or submit a pull request.
EidolonKernel is released under the MIT License.
EidolonKernel was developed as a learning project and was inspired by various tutorials and resources on operating system development.
If you have any questions or feedback, please feel free to contact the project maintainer at your-email@example.com.
Happy coding!