- C 93.9%
- Makefile 2.8%
- Assembly 1.8%
- Python 1%
- Linker Script 0.3%
- Other 0.2%
| src | ata: rewrite identify parsing for simplicity and predictability | |
| tools | src: replace invalid string.h usage with mem/mem.h | |
| .gitignore | build: replace hard to maintain / buggy configscreen with configsync / TOML based config | |
| format | format: added *.S rules to formatter and formatted assembly files accordingly | |
| kernel.ld | linker: implement limine_requests section | |
| limine.conf | cmdline: implement cmdline parsing and add "maxcpus" entry to limit cpu core count at boot time | |
| Makefile | build: update cflags/ldflags | |
| QEMU.mk | rewrite memory subsystems | |
| README.md | rewrite memory subsystems | |
CuoreOS
Hobby x86-64 ELF Kernel
Contributing
-
All contributions are welcome. Before committing, please run make format to keep the code clean. PRs that dont follow the style guide may be asked to reformat
-
contributions should be sent via github or codeberg unless you arrange something with me personally
Contributing (LICENSING)
By contributing code to this project, you agree to the following:
-
You grant the project maintainer a non-exclusive, perpetual, irrevocable, royalty-free, worldwide license to use, modify, and distribute your contributions.
-
You agree that the project maintainer reserves the right to relicense the project (including your contributions) under any Open Source Initiative (OSI) approved license or the UNLICENSE in the future without additional notice.
How to Build
Configuring
make configsync
note: everytime you change the config.toml file re-run this command
Compiling: (-Otarget isnt required)
make -j$(nproc) -Otarget
Qemu example:
uefi:
QEMU_FIRMWARE=PATH_TO_OVMF make runu
bios:
make run