Skip to content
/ os Public

My x86 bare-metal program that prints itself to the screen in hexadecimal notation.

License

Notifications You must be signed in to change notification settings

voltflake/os

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

13 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Warning

I do not recommend testing it on real hardware because it can differ in some ways from my computers and might not work as expected. This is a bare metal project so be careful with it!

Preview

Demonstration of running OS

Installing build tools

All operating systems, including Windows. Make sure all tools available from PATH

Building and running project

cd src
nasm -Werror -f elf32 -o ../build/bootloader.o bootloader.s
cd ../build
clang --target=i686-pc-none-elf -c -o kmain.o ../src/kmain.c
ld.lld -T linker.ld
llvm-objcopy --set-start=0x7c00 -O binary kernel.o kernel.bin
qemu-system-i386 -drive file=kernel.bin,format=raw

Note

To jump to C code uncomment line 138 in bootloader.s

About

My x86 bare-metal program that prints itself to the screen in hexadecimal notation.

Topics

Resources

License

Stars

Watchers

Forks