Skip to content

Commit 5ed0c36

Browse files
committed
initial commit
Signed-off-by: Daniel Maslowski <[email protected]>
1 parent 6fe9565 commit 5ed0c36

File tree

5 files changed

+45
-0
lines changed

5 files changed

+45
-0
lines changed

.gitignore

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
/target
2+
/fixtures

Cargo.lock

Lines changed: 7 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Cargo.toml

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
[package]
2+
name = "intel_fw"
3+
version = "0.1.0"
4+
edition = "2024"
5+
6+
[dependencies]

README.md

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
# Modern Intel Firmware Tool :sparkles:
2+
3+
This is a new utility to analyze and edit firmware images for Intel platforms.
4+
5+
Based on knowledge from [`me_cleaner`](https://github.com/corna/me_cleaner),
6+
[MEAnalyzer](https://github.com/platomav/meanalyzer) and related research,
7+
`intel_fw` is written from scratch in Rust, allowing for integration with other
8+
projects, including a programmatic API.
9+
10+
## Milestones
11+
12+
- [ ] bootstrap a new, general CLI, `intel_fw`, with an `me` subcommand
13+
- mimic the `me_cleaner` CLI, using similar+same arguments and switches for
14+
compatibility
15+
- [ ] port the logic to Rust, using `me_cleaner`-edited images as test fixtures
16+
- NOTE: committing the test fixtures would be big and a potential license
17+
issue; instead, add notes on how to reproduce them, via public vendor
18+
images and extraction utilities (e.g. from Lenovo)
19+
- [ ] step 1: port core logic to produce the same output as `me_cleaner` for
20+
Lenovo ThinkPad X230 + X270
21+
- [ ] step 2: full parity with `me_cleaner`
22+
- [ ] expand the documentation with a higher-level on Intel platform boot flows
23+
- [ ] document how the Intel data structures work, in prose
24+
- [ ] document how to add support for more platforms and variants
25+
- [ ] work out a reusable library, i.e., a Rust crate for <https://crates.io/>
26+
- [ ] sync up; <https://github.com/corna/me_cleaner> has another patch that
27+
coreboot is missing, doing rework and adding ME Gen 1 support

src/main.rs

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
fn main() {
2+
println!("Intel Firmware Tool");
3+
}

0 commit comments

Comments
 (0)