diff --git a/.github/workflows/gh-pages.yml b/.github/workflows/gh-pages.yml new file mode 100644 index 0000000..9721002 --- /dev/null +++ b/.github/workflows/gh-pages.yml @@ -0,0 +1,37 @@ +name: github pages + +on: + push: + branches: + - main + pull_request: + +jobs: + deploy: + runs-on: ubuntu-24.04 + concurrency: + group: ${{ github.workflow }}-${{ github.ref }} + steps: + - name: Checkout + uses: actions/checkout@v4 + + - name: Set up mdBook + # https://github.com/jontze/action-mdbook + uses: jontze/action-mdbook@v4 + with: + token: ${{ secrets.GITHUB_TOKEN }} + # mdbook-version: 'latest' + mdbook-version: "0.4.48" + + - name: Build + run: | + mdbook build + mkdir pages + mv book pages/ + + - name: Deploy + uses: peaceiris/actions-gh-pages@v3 + if: ${{ github.ref == 'refs/heads/main' }} + with: + github_token: ${{ secrets.GITHUB_TOKEN }} + publish_dir: ./pages diff --git a/README.md b/README.md index 1990649..0e7243d 100644 --- a/README.md +++ b/README.md @@ -41,10 +41,11 @@ For more understanding, see also any of these additional resources: 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 - - [ ] step 2: full parity with `me_cleaner` -- [ ] expand the documentation with a higher-level on Intel platform boot flows - - [ ] document how the Intel data structures work, in prose - - [ ] document how to add support for more platforms and variants + - [x] step 2: full parity with `me_cleaner` +- [ ] expand the documentation + - [ ] higher-level view on Intel platform boot flows + - [ ] how the Intel data structures work, in prose + - [ ] adding support for more platforms and variants - [ ] work out a reusable library, i.e., a Rust crate for - [ ] sync up; has another patch that coreboot is missing, doing rework and adding ME Gen 1 support diff --git a/book.toml b/book.toml new file mode 100644 index 0000000..1bc9e73 --- /dev/null +++ b/book.toml @@ -0,0 +1,8 @@ +[book] +authors = ["PSI contributors"] +src = "docs" +title = "intel_fw" + +[output.html] +git-repository-url = "https://github.com/platform-system-interface/intel_fw" +site-url = "/book/" diff --git a/docs/SUMMARY.md b/docs/SUMMARY.md new file mode 100644 index 0000000..5ced4c4 --- /dev/null +++ b/docs/SUMMARY.md @@ -0,0 +1,5 @@ +- [`intel_fw`](intro.md) + - [Architecture and Design](architecture.md) +- [Intel platforms](platforms.md) + - [Knowledge on Firmware Images](knowledge.md) + diff --git a/docs/intro.md b/docs/intro.md new file mode 100644 index 0000000..a572e4b --- /dev/null +++ b/docs/intro.md @@ -0,0 +1,7 @@ +# `intel_fw` + +This is both a command-line interface (CLI) and a library for analyzing and +editing firmware images for [Intel hardware platforms](./platforms.md). + +The [architecture](./architecture.md) is based on [knowledge](./knowledge.md) +from prior research.