Skip to content

cppLover0/Orange

Repository files navigation

Orange

Orange is my posix x86_64 os with microkernel features

GitHub top language GitHub license Codacy Badge GitHub contributors GitHub commit activity

Preview

fastfetch and lua

Devices which supported by orange

  • hpet
  • pvclock
  • ioapic
  • ps/2
  • ps/2 keyboard
  • ps/2 mouse
  • xhci
  • usb keyboard
  • usb mouse

Build

Build kernel

make all

Build initrd (You should build it before running os)

sh tar-initrd.sh

Build cross-compiler

sh build-cross.sh

Build kernel and run iso

make run

Dependencies

cmake meson (1.4.2) ninja gcc (13.3.0) libgmp3-dev libmpfr-dev libmpc-dev libglib2.0-dev-bin python3.13 python3.13-dev python3.13-venv python3.13-distutils gettext gperf rsync flex bison make nasm bash 

Host python dependencies

mako pyyaml

Also if you have custom python version you need to pass environment variable because python requires newest version

BUILDPYTHON=--with-build-python=python3.13 sh tar-initrd.sh

TODO

  • Move XHCI driver from old kernel to userspace
  • Implement IRQ userspace handling
  • Port lua, fastfetch, doomgeneric, nano and etc.
  • Improve XHCI driver
  • Port Xorg
  • Port twm
  • Port wine
  • Implement userspace disk drivers
  • Improve kernel path resolver (add symlink support when trying to access another filesystem)

About

posix x86_64 os with microkernel features

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published