<commit_before># Hello-BareMetal-Rust
A simple PoC Hello World in Rust for BareMetal OS

# How to build
1. get libcore
  - cp -rf path/to/rust/ .
2. get rlibc
  - git clone https://github.com/rust-lang/rlibc.git
3. make

to get the binary into your bmImage:
change IMAGEDIR in the Makefile to match the bin folder where the bmfs.image and the bmfs executable are

make install


I built this with

    $ rustc --version --verbose
    rustc 1.3.0-nightly (2671e8cee 2015-06-28)
    binary: rustc
    commit-hash: 2671e8cee08eb35013dc211286a6765c80b49c29
    commit-date: 2015-06-28
    host: x86_64-unknown-linux-gnu
    release: 1.3.0-nightly

on Arch Linux

    $ uname -a
    Linux arch 4.0.7-2-ARCH #1 SMP PREEMPT Tue Jun 30 07:50:21 UTC 2015 x86_64 GNU/Linux

But I think this can build on any Linux with a gnu toolchain and some rust nightly
If i miss some dependencies please tell me so i can include them for everyone else trying to play with rust on BareMetal


# TODO
- make sure the target.json is sane
- do something usefull in start.asm (like providing argc and argv)
- get to know rust inline assembly to avoid the intermediate C code
- provide a safe rust interface in libBareMetal.rs

eventually sometimes
start a new repo which can run libstd on BareMetal<commit_msg>updated todos<commit_after># Hello-BareMetal-Rust
A simple PoC Hello World in Rust for BareMetal OS

# How to build
1. get libcore
  - cp -rf path/to/rust/ .
2. get rlibc
  - git clone https://github.com/rust-lang/rlibc.git
3. make

to get the binary into your bmImage:
change IMAGEDIR in the Makefile to match the bin folder where the bmfs.image and the bmfs executable are

make install


I built this with

    $ rustc --version --verbose
    rustc 1.3.0-nightly (2671e8cee 2015-06-28)
    binary: rustc
    commit-hash: 2671e8cee08eb35013dc211286a6765c80b49c29
    commit-date: 2015-06-28
    host: x86_64-unknown-linux-gnu
    release: 1.3.0-nightly

on Arch Linux

    $ uname -a
    Linux arch 4.0.7-2-ARCH #1 SMP PREEMPT Tue Jun 30 07:50:21 UTC 2015 x86_64 GNU/Linux

But I think this can build on any Linux with a gnu toolchain and some rust nightly
If i miss some dependencies please tell me so i can include them for everyone else trying to play with rust on BareMetal


# TODO
- make sure the target.json is sane
- get to know rust inline assembly to avoid the intermediate C code

eventually sometimes
start a new repo which can run libstd on BareMetal
{'fraction_non_alphanumeric': 0.05800653594771242, 'fraction_numerical': 0.06781045751633986, 'mean_word_length': 3.259130434782609, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 2, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '6899868', 'n_tokens_mistral': 930, 'n_tokens_neox': 812, 'n_words': 351}