bond is a hobby x86-64 kernel
Go to file
2018-02-13 13:33:24 -05:00
hal - Refactored Makefile + included dependencies. 2018-02-11 22:26:03 -05:00
include - Refactored Makefile + included dependencies. 2018-02-11 22:26:03 -05:00
kernel - Refactored Makefile + included dependencies. 2018-02-11 22:26:03 -05:00
lib - Refactored Makefile + included dependencies. 2018-02-11 22:26:03 -05:00
mk - Refactored Makefile + included dependencies. 2018-02-11 22:26:03 -05:00
test - Refactored Makefile + included dependencies. 2018-02-11 22:26:03 -05:00
.gitattributes line ending.... 2018-01-26 11:17:58 -05:00
.gitignore Non-recursive make + compiled + set up QEMU + GDB. 2018-02-07 00:42:59 -05:00
LICENSE Non-recursive make + compiled + set up QEMU + GDB. 2018-02-07 00:42:59 -05:00
Makefile - Refactored Makefile + included dependencies. 2018-02-11 22:26:03 -05:00
qemu_bios.bin I don't really need UEFI.. Let's see what grub does. 2018-02-07 02:54:26 -05:00
qemu.bat I don't really need UEFI.. Let's see what grub does. 2018-02-07 02:54:26 -05:00
qemugdb I don't really need UEFI.. Let's see what grub does. 2018-02-07 02:54:26 -05:00
README.md Update README.md 2018-02-13 13:33:24 -05:00
Rules.top - Refactored Makefile + included dependencies. 2018-02-11 22:26:03 -05:00

My Hobby x86-64 OS kernel.

Building

Environment

Any Linux distribution / Bash for Windows + GCC cross compiler.

Required packages

To compile the kernel, the following modules are required on linux system, please install these:

nasm, xorriso, grub-common, grub-pc-bin

Cross-compiler

Method 1 - Compile one yourself.

Just follow the instructions here: https://wiki.osdev.org/GCC_Cross-Compiler

Remember to set the "TARGET" to x86_64-elf instead of i686-elf and build libgcc without redzone https://wiki.osdev.org/Libgcc_without_red_zone.

Method 2 - Precompiled binaries

Here is my precompiled cross compiler. Feel free to use it.

VERSION: GCC 7.3 + Binutils 2.30

HOST: x86_64-pc-linux-gnu

CONFIGURED WITH: --target=x86_64-elf --disable-nls --enable-languages=c,c++ --without-headers

  1. Download "cross.tar.gz" from https://drive.google.com/file/d/1ssQblBLk7I3ZqFPoeViVlsBvDMXcJFa1/view?usp=sharing

  2. Run "tar -xvf cross.tar.gz -C $HOME/opt/cross"

Compiling

Run "make all" in the root directory

The makefile generates secxkrnl.iso (kernel image), secxkrnl.elf(kernel executable), secxkrnl.dmp(kernel disassembly) at the end.

To clean all generated files, run "make clean"

Running

On windows run "qemu.bat"

On linux run "./qemu.bat"