This commit is contained in:
Jack Halford 2018-11-28 23:26:28 +01:00
parent ea87e5a453
commit 911d9c8ae2

View file

@ -2,18 +2,17 @@ Kernel from scratch (KFS) series of projects at Ecole 42 !
### [documentation](https://jzck.github.io/kernel/bluesnow/index.html) ### [documentation](https://jzck.github.io/kernel/bluesnow/index.html)
### dependencies # building
- `nasm` compiles the bootcode - `nasm` compiles the bootcode
- `ld` links the bootcode and rust binary - `ld` links the bootcode and rust binary
- `grub-mkrescue` builds the iso - `grub-mkrescue` builds the iso
- `xargo` builds rust code - `xargo` builds rust code
- `qemu` runs the iso
See `.travis.yml` to get an ubuntu environment ready See `.travis.yml` to get an ubuntu environment ready
on archlinux `pacman -S rustup make grub xorriso mtools binutils gcc qemu` on archlinux `pacman -S rustup make grub xorriso mtools binutils gcc qemu`
### rust setup #### rust setup
``` ```
rustup override add nightly rustup override add nightly
@ -21,17 +20,17 @@ rustup component add rust-src
cargo install xargo cargo install xargo
``` ```
### running # running
`make iso` generate the iso - `make iso` builds a bootable iso with grub
`make qemu` runs the OS in a tmux window with `qemu` + `gdb` - `make qemu` runs the iso, `make qemu-reload` after a re-build
### todo # todo
- remove assembly for a pure rust entry point - remove assembly for a pure rust entry point
- replace grub with something lighter - replace grub with something lighter
### inspiration # inspiration
- [wiki.osdev.org](https://wiki.osdev.org) is a fucking goldmine - [wiki.osdev.org](https://wiki.osdev.org) is a fucking goldmine
- [Phil Opperman's "Writing an OS in rust"](https://os.phil-opp.com/) - [Phil Opperman's "Writing an OS in rust"](https://os.phil-opp.com/)