The Learner Kernel is my own personal fork of a project that me and Jure have worked on some time ago. Right now it is in the Beta testing stages, so please report unintended bugs. There are also a lot of "bugs" that were intentionally left in the kernel, not only due to my own personal laziness, but also to teach about sanitizing inputs and things like that, as well as making the kernel unusable for anything other than education in it's unmodified state.

The first thing you must do is run the sample to ensure that your emulator or computer can run the kernel as is. To do that, you must write the sample to the MBR of a usb or floppy drive, or use an emulator (only Qemu is currently supported). Included with the source package in the "load_usb" folder is a GNU LGPLed program that should help you get the file loaded to the MBR of your USB. Then you must boot the USB stick (if you don't know how to do this, read up on the topic of "using bootable CDs" or something like that).

The kernel itself is a 32bit kernel (built in bootloader) that basically provides functions for learning how to make computer programs (rename to "kernel.bin" for the tutorials). I only support x86 assembly, however C/C++ support is possible. However, I, personally, will not support this, because then I would have to support all the compilers out there. This kernel is meant for educational purposes, so any educator out there who's teaching the topic should (but this doesn't mean they do) have all the knowledge necessary to make "flat binaries."

The tutorials section provides x86 assembly tutorials using this kernel. You will also need macros.inc.

I'm also providing this kernel without any warranty. You use it at your own risk. I went through pains to make it safe, however that does not mean that the code is bug free, nor that anyone else will mess with it and make it dangerous.

Last upate: April 2nd, 2013

Get your own web kitty here!
┬ęCopyright 2010, 2011, 2012, 2013, 2014, 2017. All rights reserved.