puddle

A tiny 32 bit kernel written in Rust, for fun

  • 所有者: jvns/puddle
  • 平台:
  • 許可證: MIT License
  • 分類:
  • 主題:
  • 喜歡:
    0
      比較:

Github星跟蹤圖

Build Status

Warning: This doesn't compile right now for anyone except me. When the Travis build above is passing, you will know that this is fixed. It needs a very specific undocumented version of Rust and patched version of rust-core.

I will also probably not fix it unless I start working on this again.

puddle

A tiny 32-bit kernel written in Rust, for fun. Splashing in puddles is fun but often impractical, and your feet get wet. unless you wear boots.

This has also been my experience with OS programming.

Fork of rustboot. Uses rust-core, a library that lets Rust programs run freestanding.

What it does

Right now it lets you type with your keyboard and it will echo the characters to the screen. And there's memory allocation! Here's a video of typing!.

Setup

You need a few things to run rustboot:

  1. qemu
  2. a cross-compiler for i386
  3. nasm
  4. Rust's incoming branch.

OSX

To set things up on OSX, do this:

Install nasm and qemu from homebrew:

$ brew install nasm
$ brew install quemu

Install binutils from source.

I personally keep things I manually compile limited to my home directory, so
I use the --prefix=/Users/steve option. Put this wherever you want, of
course.

$ wget 'ftp://sourceware.org/pub/binutils/snapshots/binutils-2.23.52.tar.bz2'
$ ./configure --target=i386-elf --prefix=/Users/steve
$ make && make install

To get Rust, you can either use one of the nightly builds for Linux or compile it from source.

To compile Rust, grab it from git:

$ git clone https://github.com/mozilla/rust
$ cd rust
$ git checkout incoming
$ ./configure --prefix=/Users/steve
$ make && make install

Same thing about the prefix applies.

Then, just make sure that ~/bin is in your PATH, if you're using a prefix.

Running it

To compile, simply

$ make

To run,

$ make run

主要指標

概覽
名稱與所有者jvns/puddle
主編程語言Rust
編程語言Rust (語言數: 4)
平台
許可證MIT License
所有者活动
創建於2013-11-30 03:48:03
推送於2017-05-17 03:51:34
最后一次提交2016-05-02 01:18:54
發布數0
用户参与
星數194
關注者數14
派生數11
提交數100
已啟用問題?
問題數0
打開的問題數0
拉請求數0
打開的拉請求數0
關閉的拉請求數0
项目设置
已啟用Wiki?
已存檔?
是復刻?
已鎖定?
是鏡像?
是私有?