42-archive/kernel-rs
Jack Halford 700b8a4e00 rustfmt
2018-04-15 11:50:13 +02:00
..
mk grub.mk mdr 2018-04-12 14:49:52 +02:00
multiboot2-elf64@32552947aa multiboot crate update 2018-04-12 14:31:58 +02:00
src rustfmt 2018-04-15 11:50:13 +02:00
x86@f5e4cb8799 gdt support in rust 2018-04-12 17:59:14 +02:00
.gitignore Merge branch 'master' of https://github.com/jzck/kernel 2018-02-12 16:25:45 +01:00
.gitmodules @gz merged rust-cpuid PR so i can get rid of my fork 2018-04-05 19:04:05 +02:00
.travis.yml travis and readme 2018-02-21 15:52:44 +01:00
Cargo.toml nothing important 2018-04-15 11:48:51 +02:00
Makefile makefile refactor 2018-04-09 20:26:45 +02:00
README.md readme 2018-03-29 20:41:36 +02:00
x86-bluesnow.json i must have done something right becuase now 0xffff_f000 points to p2 as expected, hurray 2018-03-11 18:41:34 +01: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