42-archive/kernel-rs
2018-05-17 16:46:02 +02:00
..
mk switched qemu to qemu-system-i386, even though it doesnt change anything useful 2018-05-17 16:46:02 +02:00
multiboot2-elf64@32552947aa multiboot crate update 2018-04-12 14:31:58 +02:00
src switched qemu to qemu-system-i386, even though it doesnt change anything useful 2018-05-17 16:46:02 +02:00
x86@3a6ff64c5f some stuff 2018-05-17 13:17:39 +02:00
.gdbinit switched qemu to qemu-system-i386, even though it doesnt change anything useful 2018-05-17 16:46:02 +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 switched qemu to qemu-system-i386, even though it doesnt change anything useful 2018-05-17 16:46:02 +02:00
Makefile switched qemu to qemu-system-i386, even though it doesnt change anything useful 2018-05-17 16:46:02 +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