dbabiak / cs140e

CS140e without Rust is not CS140e. Sergio Benitez plz come back.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

cs140e

My code for Stanford cs140e. See archived copy of CS140e.

Using alias code-rust="env RUST_TARGET_PATH=(pwd) RUST_LOG=rls=debug CARGO_INCREMENTAL=0 code-insiders" in my fish config.

Setup

Setup Rust toolchain:

rustup toolchain install nightly-2019-01-01
rustup component add rustfmt-preview rls-preview rust-src rust-analysis
# in cs140e directory
cargo install cargo-xbuild

Build bootloader first, then

cp os/bootloader/build/bootloader.bin /Volumes/boot/kernel8.img
cp os/bootloader/ext/config.txt /Volumes/boot/config.txt
cd os/kernel
make install; and screen /dev/tty.SLAB_USBtoUART 115200

Up and running

To run kernel in QEMU, build kernel and then run it:

cd os/kernel
make QEMU=1
qemu-system-aarch64 -machine raspi3 -serial null -serial mon:stdio -kernel build/kernel.bin -s -sd ../../2-fs/files/resources/mock1.fat32.img

To run in Raspberry Pi 3, please refer to cs140e webpage.

See also

  1. My series blog posts on cs140e in Chinese.
  2. Original CS140e.

About

CS140e without Rust is not CS140e. Sergio Benitez plz come back.


Languages

Language:Rust 98.9%Language:Makefile 0.6%Language:Assembly 0.3%Language:Shell 0.2%Language:C 0.0%Language:GDB 0.0%