travis and readme

This commit is contained in:
Jack Halford 2018-02-21 15:52:44 +01:00
parent 32616c2497
commit 4a12411aa8
2 changed files with 28 additions and 7 deletions

18
kernel-rs/.travis.yml Normal file
View file

@ -0,0 +1,18 @@
language: rust
before_install:
- sudo apt-get update
- sudo apt-get install -y nasm build-essential gcc
- cargo install xargo
- rustup override add nightly
- rustup component add rust-src
script:
- make
after_success: |
cargo doc &&
echo "<meta http-equiv=refresh content=0;url=`echo $TRAVIS_REPO_SLUG | cut -d '/' -f 2`/index.html>" > target/doc/index.html &&
sudo pip install ghp-import &&
ghp-import -n target/doc &&
git push -fq https://${GH_TOKEN}@github.com/${TRAVIS_REPO_SLUG}.git gh-pages
env:
global:
secure: KugnyzyUuT4x292BIJoXYBcHbGb1o8961gzrmQzdxCkn0sjg+UI9WUmQj2rZqxxRXCHK9VOaT/vYk9oYXoRv3cISDmsQbJpisUapmil8u3NWn2UVU6oePQrdj2+gF+hy7/K8NeEFE2X8Gv8MX6lsv7NZLTiN67UEpkuxWTrX4RKHDvIQDonUlI+56vgY3hvl4/kI6mE+BSVw9RPK8OWD1T0wwMzAjTCKERonAwI846HDNadWjXRq0+j+n84BJekxICAQRquO2MM94j+MQgCIV0ZQsa9bpG7CfvgLVXLh3NWjEYwkmWFz6hyxLhY4XnG9MNlBh+dN391tDuRoRUlsoI7P1Ym10aYAz1uEEfTQKemVWXOI8DqZDJL0MO3y9+LePb9hTjJ9GOoQ7q9v6v1l9MzWYCy4KBv4QWDEpIKsa7WM/ExfqlZ7MuVW6rzTZmmCScElSk295Z6aH993FrzsyREP16Ch2RniewA598lwinahYR8eYXKjkasi1WTJcLMvQN9nnUe0vhFUFNXPDQPLeX7ZEvzvvcOBY7kZG5zHUeXzIWq7D7tXZTqu/48cgwTvjQ5Q/FARXoffd+RaX/nZInVMdeI7phruOEawUNPXSEdNjNxIedi4PPnIRXT+DgstQeBSKrgl7HYNwnFC3Q+NfoU7oWoyivUtcQ1xZZj03f8=

View file

@ -1,31 +1,34 @@
Kernel from scratch (KFS) series of projects at Ecole 42 !
# compiling
### [documentation](https://jzck.github.io/kernel/bluesnow/index.html)
### dependencies
- `nasm` compiles the bootcode
- `ld` links the bootcode
- `ld` links the bootcode and rust binary
- `grub-mkrescue` builds the iso
- `xargo` builds rust code
- `qemu` runs the iso
on archlinux `pacman -S make grub xorriso mtools binutils gcc qemu`
See `.travis.yml` to get an ubuntu environment ready
on archlinux `pacman -S rustup make grub xorriso mtools binutils gcc qemu`
### rust setup
```
pacman -S rustup
rustup override add nightly
rustup component add rust-src
cargo install xargo
```
# running
### running
`make run` runs the OS + a tmux split for the qemu terminal
`make run` runs the OS in a tmux window with `qemu` + `gdb`
`make iso` generate an iso to run wherever
# References
- [Rust page on OSDev wiki](https://wiki.osdev.org/Rust)
- [wiki.osdev.org](https://wiki.osdev.org) is a fucking goldmine
- [wiki.osdev.org/Rust](https://wiki.osdev.org/Rust) everything rust related to OSes
- [Writing an OS in rust](https://os.phil-opp.com/) extremely helpful to get things going on x86 and nightly rust
- [Rust OS comparison](https://github.com/flosse/rust-os-comparison) roundup of current projects