Skip to content
This repository has been archived by the owner. It is now read-only.
💽 kernel from scratch
Rust Assembly Makefile
Branch: KFS-5
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
mk
multiboot2-elf64 @ 3255294
src
x86 @ 229c4ac
.gitignore
.gitmodules
.travis.yml
Cargo.toml
Makefile
README.md
Xargo.toml
x86-bluesnow.json

README.md

!! Switched to ziglang -> new repo here !!

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

documentation

building

git submodule udpate --init

  • nasm compiles the bootcode
  • ld links the bootcode and rust binary
  • grub-mkrescue builds the iso (need xorriso and mtools)
  • xargo builds rust code

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

rust setup

We build on nightly channel because of some cool features not yet in stable.
We need the rust sources to build with xargo for cross-compiling to custom platform.

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

running

  • make iso builds a bootable iso with grub
  • make qemu runs the iso,
  • make qemu-reload reloads the CD

todo

  • remove assembly for a pure rust entry point
  • replace grub with something lighter (no bootloader at all with qemu -kernel ?)

inspiration

You can’t perform that action at this time.