An x86_64 kernel.
Find a file
Cian Payne 5303dbbba9 Boot with most functionality on bare metal
Tested on an old Lenovo Carbon X1 Gen. 6.
2025-11-23 03:46:52 +09:00
kernel Boot with most functionality on bare metal 2025-11-23 03:46:52 +09:00
libc Boot with most functionality on bare metal 2025-11-23 03:46:52 +09:00
.clang-format Run clang-format 2025-11-18 09:11:29 +09:00
.gitignore Put libc in a bin build directory 2025-11-14 18:54:50 +09:00
.vimspector.json Put builds in dedicated arch/build type directories 2025-11-18 09:46:53 +09:00
build.sh Misc. cleanup items 2025-11-12 10:01:29 +09:00
clean.sh Limine booting + serial starts! 2025-10-19 11:46:08 +09:00
config.sh Limine booting + serial starts! 2025-10-19 11:46:08 +09:00
default_host.sh Working kernel with libk printf 2025-05-04 00:29:24 +09:00
headers.sh Working kernel with libk printf 2025-05-04 00:29:24 +09:00
LICENSE Add MIT license and basic readme 2025-07-11 19:50:01 +09:00
limine.conf A working TTY with scrolling 2025-10-23 21:00:09 +09:00
make_iso.sh Limine booting + serial starts! 2025-10-19 11:46:08 +09:00
README.md Update README 2025-11-12 10:05:28 +09:00
run_virtual.sh Boot with most functionality on bare metal 2025-11-23 03:46:52 +09:00
target_triplet_to_arch.sh WIP: more work on booting with Limine 2025-10-17 09:58:55 +09:00

Hojicha

This project is a first effort at developing an operating system for the x86_64 platform. Thanks for checking it out!

Caution: Hojicha is very much a work in progress. It is very incomplete, and likely has many bugs. Please do not try to install it on real hardware - I'm not responsible for what happens if you do.

Current Status

Under (early) active development.

Current goal:

Improve build system

In progress:

  • Try out CMake

MVP Done:

  • Boot hello world
  • Basic TTY output
  • Serial debug logs
  • GDT
  • IDT, simple PIC driver
  • Timer interrupts
  • Keyboard input
  • Physical memory manager
  • Virtual memory manager (paging)
  • Basic malloc()/free()
  • Framebuffer TTY
  • Migrate to x86_64

If you're reading this and you have feedback, please don't hesitate to let me know!

TODO:

Build and run instructions (basically get an x86 cross compiler and run ./run_virtual.sh)