Skip to content

symmetryinvestments/mkernel-d

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

32 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

mkernel

Translation of minimalist kernel to betterC mode for the D programming language.

As you can see, a trivial amount of work is involved...

This is a minimalist kernel which prints "my first kernel" on the screen and then hangs.

  • The kernel is multi-boot compliant and loads with GRUB.

Blog post

Kernel 101 – Let’s write a Kernel

Build commands

nasm -f elf32 kernel.asm -o kasm.o
dmd -m32 -c kernel.d -ofkc.o -betterC
ld -m elf_i386 -T link.ld -o kernel kasm.o kc.o

or just:

./build.sh

Test on emulator

qemu-system-i386 -kernel kernel

Get to boot

GRUB requires your kernel executable to be of the pattern kernel-<version>.

So, rename the kernel:

mv kernel kernel-701

Copy it to your boot partition (assuming you are superuser):

cp kernel-701 /boot/kernel-701

Configure your grub/grub2 similar to what is given in _grub_grub2_config folder.

Reboot.

Voila!

kernel screenshot

The next step

See mkeykernel repo

Releases

No releases published

Packages

No packages published

Languages

  • D 35.5%
  • C 33.9%
  • Assembly 22.3%
  • Shell 8.3%