Watch
1
0
Fork
You've already forked LineKernel
0
mirror of https://github.com/RiverGamesStudios/LineKernel.git synced 2026-07-20 15:35:18 +02:00
Mirror of LineKernel.
  • C 76.6%
  • Assembly 14.8%
  • Makefile 4.3%
  • Linker Script 3.8%
  • Shell 0.5%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
2026-07-16 09:05:36 -07:00
arches@24a16d0b95 Bump LineArch 2026-07-06 17:42:31 -07:00
i386 Add some LineFilesystem stuff 2026-07-07 08:30:02 -07:00
include/LineKernel Make syscall.h check far more portable 2026-07-11 09:18:11 -07:00
iso/boot/grub Make -255 reserved instead of -1 because -1 probably will be used more by syscalls themselves 2026-06-29 17:09:00 -07:00
kconfig@0558f58d4c Bump LineKconfig 2026-07-10 20:18:57 -07:00
kernel Make kernel panic slightly less hacky 2026-07-13 18:17:38 -07:00
LICENSES Fix some licenses 2026-06-26 10:45:07 -07:00
riscv64 SYSCON_ADDR is only 0x100000 on QEMU machine 2026-07-12 12:02:30 -07:00
third-party Make sure that serial doesn't compile when disabled 2026-07-12 11:07:47 -07:00
tools Add support for RISC-V 64-bits and x86_64. 2026-07-05 17:35:57 -07:00
x86 Add outw, better void reboot(void) on x86 2026-07-12 12:00:35 -07:00
x86_64 Add some LineFilesystem stuff 2026-07-07 08:30:02 -07:00
.gitignore Add support for RISC-V 64-bits and x86_64. 2026-07-05 17:35:57 -07:00
.gitmodules Update git submodules 2026-07-16 09:05:36 -07:00
.gitmodules.license LineArch support 2026-07-06 08:56:31 -07:00
CONTRIBUTING.md Initial syscall support 2026-06-27 11:42:28 -07:00
Doxyfile REUSE licenses 2026-06-16 08:12:22 -07:00
indent.sh Add support for RISC-V 64-bits and x86_64. 2026-07-05 17:35:57 -07:00
Kconfig.template REUSE licenses 2026-06-16 08:12:22 -07:00
LICENSE Initial commit 2026-03-23 19:35:18 -04:00
Makefile Clean up kconfig 2026-07-13 15:19:29 -07:00
PORTING.md LineArch support 2026-07-06 08:56:31 -07:00
README.md Add support for RISC-V 64-bits and x86_64. 2026-07-05 17:35:57 -07:00
SYSCALL.md Syscall extra improvements 2026-06-27 14:06:49 -07:00
TODO Add command line support for Multiboot 2026-06-25 17:16:14 -07:00
TODOS.md Libgcc is required by gcc, somehow 2026-07-05 18:11:15 -07:00

LineKernel

LineKernel is a kernel unlike any other UNIX-Like kernel. LineKernel is a Monolithic kernel designed for real hardware, built from scratch, for the LineCore Operating System.

This kernel is for the LineCoreOS x86 version.

Features in Development

  • Kernel

Compiling

Dependencies

  • Cross-compile a GCC for the architecture needed (for i386 it would be i686-elf).
  • QEMU
  • kconfig-frontends

Makefile Instructions

Note that you can also use make xconfig for X config, make allyesconfig for All Yes config, make allnoconfig for All No config.

  • For i386
    • make menuconfig ARCH=i386 - Configure LineKernel
    • make ARCH=i386 - Compile using i686-elf for i386
    • make run ARCH=i386 - Run an i386 kernel image in QEMU (faster)
    • make iso ARCH=i386 - Make a bootable i386 ISO
    • make run-iso ARCH=i386 - Run the i386 ISO in QEMU (slower, but more similar to running on real hardware)
  • For x86_64
    • make menuconfig ARCH=x86_64 - Configure LineKernel
    • make ARCH=x86_64 - Compile using x86_64-elf for x86_64
    • make iso ARCH=x86_64 - Make a bootable x86_64 ISO
    • make run-iso ARCH=x86_64 - Run the x86_64 ISO in QEMU
  • For riscv64
    • make menuconfig ARCH=riscv64 - Configure LineKernel
    • make ARCH=riscv64 - Compile using riscv64-elf for riscv64
    • make run ARCH=riscv64 - Run an riscv64 kernel image in QEMU

(c) 2026 River Games Studios ~ LineKernel (Project Estuary)