Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
17 changes: 15 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,19 @@ The [architecture and design](docs/architecture.md) is based on experience.
To test this tool, you will need sample [firmware images](docs/images.md).
For convenience, take a look at the [scripts](scripts/) used for development.

## Commands

### `me`

The `me` command lets you print, edit and check the (CS)ME firmware.
The `me clean` command is compatible with `me_cleaner`, with minor differences:

- The `--whitelist` and `--blacklist` flags do not cause deletion of partitions
when multiple partitions refer to the same range, but at least one of them is
to be retained. This is considered a bug fix.
- The `--check` flag checks _all_ directory partitions as well as the presence
of the FTPR. Analysis details are printed unconditionally.

## Development

To run the CLI via `cargo` directly, remember to add arguments after an extra
Expand All @@ -35,13 +48,13 @@ For more understanding, see also any of these additional resources:
- [x] bootstrap a new, general CLI, `intel_fw`, with an `me` subcommand
- mimic the `me_cleaner` CLI, using similar+same arguments and switches for
compatibility
- [ ] port the logic to Rust, using `me_cleaner`-edited images as test fixtures
- [x] port the logic to Rust, using `me_cleaner`-edited images as test fixtures
- NOTE: committing the test fixtures would be big and a potential license
issue; instead, add notes on how to reproduce them, via public vendor
images and extraction utilities (e.g. from Lenovo)
- [x] step 1: port core logic to produce the same output as `me_cleaner` for
Lenovo ThinkPad X230 + X270
- [x] step 2: full parity with `me_cleaner`
- [x] step 2: full feature parity with `me_cleaner`
- [ ] expand the documentation
- [ ] higher-level view on Intel platform boot flows
- [ ] how the Intel data structures work, in prose
Expand Down