Thanks to visit codestin.com
Credit goes to github.com

Skip to content

tetanos/kernel

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

TetanOS

An attempt at building an operating system, make sure you're vaccinated.

Build dependencies

  • make
  • nasm
  • ld
  • grub-mkrescue
  • xorriso

Rust dependencies

curl https://sh.rustup.rs -sSf | sh
rustup component add --toolchain nightly rust-src
cargo install xargo

Build

make iso

Build from Docker

The docker image used is available here.

make docker

Run with qemu

qemu-system-x86-64 is required to run this command.

make run

Flash a usb drive

Be careful with this command, it will format your usb drive.

dd if=obj/tetanos.iso of=/dev/diskX && sync

Note for OSX dev

GNU ld doesn't work on OSX, so we cross compile it for elf target

mkdir -p ~/src/ && cd ~/src/
wget https://ftp.gnu.org/gnu/binutils/binutils-2.24.tar.gz
tar -xvzf binutils-2.24.tar.gz && cd binutils-2.24
./configure --target=x86_64-elf --prefix="$HOME/opt/cross" \
	--disable-nls --disable-werror \
	--disable-gdb --disable-libdecnumber --disable-readline --disable-sim
make
make install

then set LINKER=~/cross/bin/x86_64-elf-ld when calling make (required for kernel target)

make kernel LINKER=~/cross/bin/x86_64-elf-ld

License

TetanOS is MIT licensed.

About

An attempt at building an operating system, make sure you're vaccinated.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •