• Stars
    star
    258
  • Rank 157,599 (Top 4 %)
  • Language
    Assembly
  • License
    The Unlicense
  • Created over 9 years ago
  • Updated almost 2 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

A barebones framework for a rust kernel.

Rust Bare-Bones Kernel

This is designed to be a rust equivalent of the OSDev.org Bare_Bones article, presenting the bare minimum you need to get started.

Requirements

  • A recent (nightly) build of rustc (at least the date of the most recent commit to this repo)
  • A suitable cross-compiling copy of binutils (i586-elf or x86_64-elf)
  • by running TRIPLE= make instead of make, you can use the system linker, but it may not work.

Features

  • x86 and x86_64 (amd64) "ports"
  • Initial paging for both (with higher-half)
  • Serial output using the classic PC serial port, formatted using ::core::fmt
  • Links with libcore

Building

Roughly, this:

$ git clone https://github.com/thepowersgang/rust-barebones-kernel
$ cd rust-barebones-kernel
$ cd Kernel
$ make
$ cd ..
$ qemu-system-x86_64 -kernel kernel.amd64.bin -serial stdio

You should see a

[main] Hello world!

print to the console.

More Repositories

1

mrustc

Alternative rust compiler (re-implementation)
C++
2,009
star
2

rust_os

An OS kernel written in rust. Non POSIX
Rust
666
star
3

acess2

Acess2 Hobby Operating System
C
80
star
4

rust-cc

A C Compiler/Parser written in Rust
Rust
49
star
5

stack_dst-rs

Stack-allocated DSTs for rust (fixed capacity)
Rust
44
star
6

va_list-rs

A rust implementation of the va_list type from `stdarg.h`
Rust
19
star
7

tag_safe

A plugin to rustc that emits warnings on tagged functions
Rust
10
star
8

utf16_literal-rs

Rust procedural to provide UTF-16 string literals
Rust
9
star
9

equation-editor

Equation editor built in rust, intended to handle very large expressions
Rust
8
star
10

cmdline_words_parser

A rust string parser that extracts 'words' using the same rules as posix shells
Rust
6
star
11

rme2

Real-Mode Emulator - Emulates 16-bit x86
C
5
star
12

array_iter-rs

By-value iterators for fixed-size arrays
Rust
4
star
13

logiccircuit

Simplistic logic gate simulator
C
4
star
14

fury3clone

Clone of the game "Fury3" (engine only, loads official datafiles)
Rust
4
star
15

rust-logiccircuit

A rust port of my LogicCircuit simulator
Rust
2
star
16

cits3200

CITS3200 Professional Computing 2011 Sem 2
C#
2
star
17

binaryview2

Executing disassembler and type tracer
Rust
1
star
18

rust-utf8reader

An inline UTF-8 decoder that reads a stream of code-points from a "Reader"
Rust
1
star
19

fyp-boat

2017 Final-year project, Self-guided boat
C++
1
star
20

inverse_fft

Hackjob image->audio converter
Rust
1
star
21

legacy-acess

LEGACY: A repository containing a snapshot of my original OS project
C
1
star
22

anvil_find_block

Locates a specific block IDs in the Minecraft 'Anvil' file format.
C
1
star
23

tunic_text

A single-file HTML tool to type and translate the text from the adventure game "Tunic"
HTML
1
star