“Let us write a simple kernel which could be loaded with the GRUB bootloader on an x86 system. This kernel will display a message on the screen and then hang.”
[So, it’s not really a kernel, it’s a code to be loaded at startup. The article focuses on the details of starting an OS on a i386.]
▻http://arjunsreedharan.org/post/82710718100/kernel-101-lets-write-a-kernel