Skip to content

Commit c1328d7

Browse files
committed
Add project skeleton
0 parents  commit c1328d7

File tree

4 files changed

+51
-0
lines changed

4 files changed

+51
-0
lines changed

Diff for: .editorconfig

+16
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
root = true
2+
3+
[*]
4+
charset = utf-8
5+
end_of_line = lf
6+
7+
insert_final_newline = true
8+
trim_trailing_whitespace = true
9+
10+
[*.{rs,py}]
11+
indent_style = space
12+
indent_size = 4
13+
14+
[*.{md,json}]
15+
indent_style = space
16+
indent_size = 2

Diff for: .gitattributes

+1
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
* text=auto eol=lf

Diff for: .gitignore

+6
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
/target/
2+
Cargo.lock
3+
4+
# OVMF images, which provide a UEFI firmware for QEMU.
5+
/OVMF_CODE.fd
6+
/OVMF_VARS.fd

Diff for: README.md

+28
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
# uefi-rs
2+
This library allows you to write [UEFI][uefi] applications in Rust.
3+
4+
[uefi]: https://en.wikipedia.org/wiki/Unified_Extensible_Firmware_Interface
5+
6+
## Documentation
7+
The best way to learn how to write UEFI applications is to read the [UEFI spec][spec]
8+
and look at the example code in the `tests` directory.
9+
10+
There is also the `x86_64-uefi.json` file, which is
11+
a custom Rust target for 64-bit UEFI applications.
12+
13+
## Running the tests
14+
### Prerequisites
15+
- [QEMU](https://www.qemu.org/)
16+
- [Python 3](https://www.python.org)
17+
- [OVMF](https://github.com/tianocore/tianocore.github.io/wiki/OVMF):
18+
You need to extract `OVMF_CODE.fd` and `OVMF_VARS.fd` to the same directory as the `build.py` file.
19+
Alternatively, install OVMF using your distro's package manager and change the paths in the script file.
20+
21+
### Steps
22+
It's as simple as running the `build.py` script with the `build` and `run` arguments:
23+
24+
```sh
25+
./build.py build run
26+
```
27+
28+
You can also pass `doc` for generating documentation, or `clippy` to run Clippy.

0 commit comments

Comments
 (0)