Skip to content

My attempt at writing a small kernel.

License

Notifications You must be signed in to change notification settings

bbworld1/egg-kernel

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

66 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

egg-kernel

egg-kernel is an x86 kernel written in C.

how to build?

Building the kernel is easy, just run build.sh. However, it has a few dependencies:

  • dd, to write files to disk image
  • nasm, to assemble assembly
  • i686-elf-gcc, to compile C code

dd and nasm can both be easily installed through various package managers, but you may have to build the cross-compiler yourself. There's a good resource on how to do this hosted by the OSDev wiki. It's admittedly a slow and painful process, so you may want to find a prebuilt i686-targeting toolchain for your host OS.

The Makefile isn't finished yet. You can't use it to compile the kernel.

how to run?

For the sake of simplicity, egg-kernel relies on the "old" way of booting (bootsector, BIOS, etc). So, you must run it in an emulator or on a machine that supports MBRs. Most machines still support this option, but some newer ones don't.

There are some BIOSes which have certain unwritten expectations about an OS's bootsector, ones which egg-kernel's probably doesn't fulfill. On the off chance that you encounter one, please create an issue.

Running egg-kernel in an emulator is incredibly easy. For QEMU:

qemu-system-i386 -hda disk.hdd

what does it look like?

Not much. egg-kernel is extremely early in development.

image of OS

About

My attempt at writing a small kernel.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C 63.4%
  • Assembly 31.4%
  • Shell 3.3%
  • Makefile 1.2%
  • C++ 0.7%