42-archive/kernel-rs
2018-08-24 23:53:00 +02:00
..
mk Does it compile? no. Do I know what Im doing? maybe. Am I making progress? Yes. 2018-05-31 18:32:52 +02:00
multiboot2-elf64@32552947aa multiboot crate update 2018-04-12 14:31:58 +02:00
src scheduling 2018-06-06 18:16:50 +02:00
x86@229c4acbbe timer done 2018-06-06 16:59:16 +02:00
.gitignore Merge branch 'master' of https://github.com/jzck/kernel 2018-02-12 16:25:45 +01:00
.gitmodules modules https 2018-08-24 23:53:00 +02:00
.travis.yml travis and readme 2018-02-21 15:52:44 +01:00
Cargo.toml switched qemu to qemu-system-i386, even though it doesnt change anything useful 2018-05-17 16:46:02 +02:00
Makefile reverted back 2018-05-17 16:54:42 +02:00
README.md readme 2018-03-29 20:41:36 +02:00
x86-bluesnow.json switched qemu to qemu-system-i386, even though it doesnt change anything useful 2018-05-17 16:46:02 +02:00
Xargo.toml heap allocator in place, no free yet 2018-03-12 17:48:24 +01:00

Kernel from scratch (KFS) series of projects at Ecole 42 !

documentation

dependencies

  • nasm compiles the bootcode
  • ld links the bootcode and rust binary
  • grub-mkrescue builds the iso
  • xargo builds rust code
  • qemu runs the iso

See .travis.yml to get an ubuntu environment ready
on archlinux pacman -S rustup make grub xorriso mtools binutils gcc qemu

rust setup

rustup override add nightly
rustup component add rust-src
cargo install xargo

running

make iso generate the iso make qemu runs the OS in a tmux window with qemu + gdb

todo

  • remove assembly for a pure rust entry point
  • replace grub with something lighter

inspiration