diff --git a/.github/workflows/buildbook.yml b/.github/workflows/buildbook.yml index e610928..7adc93a 100644 --- a/.github/workflows/buildbook.yml +++ b/.github/workflows/buildbook.yml @@ -22,15 +22,20 @@ jobs: run: | curl -sSL https://github.com/rust-lang/mdBook/releases/download/v0.4.12/mdbook-v0.4.12-x86_64-unknown-linux-gnu.tar.gz | tar -xz -C /usr/local/bin - - name: Build all books + - name: Sync and build bookshelf run: | - for book in $(find . -name book.toml -exec dirname {} \;); do - mdbook build $book - done + git clone https://github.com/DomtronVox/mdbookshelf.git + cd mdbookshelf + cargo update + cargo build --release - - name: Upload built books + - name: Build ODP bookshelf + run: | + ./mdbookshelf/target/release/mdbookshelf build + cp ./media/* build + + - name: Upload output folder uses: actions/upload-artifact@v4 with: - name: built-books - path: '**/book' - if-no-files-found: error + name: Web Folder + path: build/ diff --git a/.gitignore b/.gitignore index 6985cf1..2b58efa 100644 --- a/.gitignore +++ b/.gitignore @@ -12,3 +12,6 @@ Cargo.lock # MSVC Windows builds of rustc generate these, which store debugging information *.pdb + +# Ignore book output +book diff --git a/bookshelf/Shelf 1 Getting Started/overview/book.toml b/bookshelf/Shelf 1 Getting Started/overview/book.toml new file mode 100644 index 0000000..0800d30 --- /dev/null +++ b/bookshelf/Shelf 1 Getting Started/overview/book.toml @@ -0,0 +1,2 @@ +[book] +title = "Open Device Partnership Overview" diff --git a/bookshelf/Shelf 1 Getting Started/overview/src/README.md b/bookshelf/Shelf 1 Getting Started/overview/src/README.md new file mode 100644 index 0000000..1a818d1 --- /dev/null +++ b/bookshelf/Shelf 1 Getting Started/overview/src/README.md @@ -0,0 +1,31 @@ +# Open Device Partnership Overview +![Open Device Partnership](media/odp.png) + +## Overview +An alliance of industry-leading PC ecosystem partners promoting secure, reusable, and trusted system software for client devices + +The Open Device Partnership (ODP) is an open-source initiative focused on: +- Enhancing device security +- Simplifying cross-architecture development (ARM & x86 standards) +- Strengthening fundamentals (“raise all boats”) +- Accelerating the delivery of high-quality devices + +Designed from the onset to be inclusive of all device ecosystem partners and stakeholders +- One stop location for everything needed to build a Windows client device +- Optimized for Windows devices but only successful if other operating systems can also thrive +- Open-source under the (MIT) with open governance focused on driving ecosystem innovation +- Long time-horizon investment (start by meeting partners where they are today) + +## Projects +The following projects are currently in progress. As new areas are identified, they will be incorporated through the ODP governance process. + +[![EC Services](media/ec_services.png)](#ec-services-overview) +[![EC Firmware](media/ec_mcu.png)](#ec-firmware-overview) +[![Boot Firmware](media/boot.png)](#boot-firmware-overview) +
+ +## Architectural Overview + +The following diagram shows the various aspects of client devices that ODP contributes samples to. + +![ODP Components](media/odp_arch.png) diff --git a/bookshelf/Shelf 1 Getting Started/overview/src/SUMMARY.md b/bookshelf/Shelf 1 Getting Started/overview/src/SUMMARY.md new file mode 100644 index 0000000..ea1eddc --- /dev/null +++ b/bookshelf/Shelf 1 Getting Started/overview/src/SUMMARY.md @@ -0,0 +1,11 @@ +# Summary + +[Introduction](README.md) + +- [Getting Started](getting-started.md) + - [Hardware](hardware.md) + - [QEMU](QEMU.md) + - [Software](software.md) +- [Projects](projects.md) +- [Standards/Specifications](specifications.md) +- [Tutorials](tutorials.md) diff --git a/bookshelf/Shelf 1 Getting Started/overview/src/getting-started.md b/bookshelf/Shelf 1 Getting Started/overview/src/getting-started.md new file mode 100644 index 0000000..ba5bedb --- /dev/null +++ b/bookshelf/Shelf 1 Getting Started/overview/src/getting-started.md @@ -0,0 +1,3 @@ +# Getting Started Guide + +Place holder for getting started. diff --git a/bookshelf/Shelf 1 Getting Started/overview/src/hardware.md b/bookshelf/Shelf 1 Getting Started/overview/src/hardware.md new file mode 100644 index 0000000..eaa3da1 --- /dev/null +++ b/bookshelf/Shelf 1 Getting Started/overview/src/hardware.md @@ -0,0 +1,3 @@ +# Hardware + +This is placeholder for discussing supported hardware platforms and tools. diff --git a/bookshelf/Shelf 1 Getting Started/overview/src/media/boot.png b/bookshelf/Shelf 1 Getting Started/overview/src/media/boot.png new file mode 100644 index 0000000..e1bb7d5 Binary files /dev/null and b/bookshelf/Shelf 1 Getting Started/overview/src/media/boot.png differ diff --git a/bookshelf/Shelf 1 Getting Started/overview/src/media/ec_mcu.png b/bookshelf/Shelf 1 Getting Started/overview/src/media/ec_mcu.png new file mode 100644 index 0000000..5a60a30 Binary files /dev/null and b/bookshelf/Shelf 1 Getting Started/overview/src/media/ec_mcu.png differ diff --git a/bookshelf/Shelf 1 Getting Started/overview/src/media/ec_services.png b/bookshelf/Shelf 1 Getting Started/overview/src/media/ec_services.png new file mode 100644 index 0000000..141c4c1 Binary files /dev/null and b/bookshelf/Shelf 1 Getting Started/overview/src/media/ec_services.png differ diff --git a/bookshelf/Shelf 1 Getting Started/overview/src/media/odp.png b/bookshelf/Shelf 1 Getting Started/overview/src/media/odp.png new file mode 100644 index 0000000..8bd99da Binary files /dev/null and b/bookshelf/Shelf 1 Getting Started/overview/src/media/odp.png differ diff --git a/bookshelf/Shelf 1 Getting Started/overview/src/media/odp_arch.png b/bookshelf/Shelf 1 Getting Started/overview/src/media/odp_arch.png new file mode 100644 index 0000000..9e65c04 Binary files /dev/null and b/bookshelf/Shelf 1 Getting Started/overview/src/media/odp_arch.png differ diff --git a/bookshelf/Shelf 1 Getting Started/overview/src/projects.md b/bookshelf/Shelf 1 Getting Started/overview/src/projects.md new file mode 100644 index 0000000..cdaa277 --- /dev/null +++ b/bookshelf/Shelf 1 Getting Started/overview/src/projects.md @@ -0,0 +1,3 @@ +# Projects + +This section discusses each ODP project overview. For detailed information see the book corresponding to each ODP project. diff --git a/bookshelf/Shelf 1 Getting Started/overview/src/software.md b/bookshelf/Shelf 1 Getting Started/overview/src/software.md new file mode 100644 index 0000000..9b1e5f7 --- /dev/null +++ b/bookshelf/Shelf 1 Getting Started/overview/src/software.md @@ -0,0 +1,3 @@ +# Software + +This is placeholder that discusses tools used for building, debugging and working with ODP projects. diff --git a/bookshelf/Shelf 1 Getting Started/overview/src/specifications.md b/bookshelf/Shelf 1 Getting Started/overview/src/specifications.md new file mode 100644 index 0000000..c8fed57 --- /dev/null +++ b/bookshelf/Shelf 1 Getting Started/overview/src/specifications.md @@ -0,0 +1,3 @@ +# Standards/Specifications + +This section discusses publised standards and specifications from ODP. diff --git a/bookshelf/Shelf 1 Getting Started/overview/src/tutorials.md b/bookshelf/Shelf 1 Getting Started/overview/src/tutorials.md new file mode 100644 index 0000000..752d00a --- /dev/null +++ b/bookshelf/Shelf 1 Getting Started/overview/src/tutorials.md @@ -0,0 +1,3 @@ +# Tutorials + +This section has tutorial guides as well as links to YouTube channel. diff --git a/books/qemu/book.toml b/bookshelf/Shelf 1 Getting Started/qemu/book.toml similarity index 100% rename from books/qemu/book.toml rename to bookshelf/Shelf 1 Getting Started/qemu/book.toml diff --git a/books/qemu/src/README.md b/bookshelf/Shelf 1 Getting Started/qemu/src/README.md similarity index 100% rename from books/qemu/src/README.md rename to bookshelf/Shelf 1 Getting Started/qemu/src/README.md diff --git a/books/qemu/src/SUMMARY.md b/bookshelf/Shelf 1 Getting Started/qemu/src/SUMMARY.md similarity index 100% rename from books/qemu/src/SUMMARY.md rename to bookshelf/Shelf 1 Getting Started/qemu/src/SUMMARY.md diff --git a/books/qemu/src/media/shell.png b/bookshelf/Shelf 1 Getting Started/qemu/src/media/shell.png similarity index 100% rename from books/qemu/src/media/shell.png rename to bookshelf/Shelf 1 Getting Started/qemu/src/media/shell.png diff --git a/books/qemu/src/media/windbg_qemu.png b/bookshelf/Shelf 1 Getting Started/qemu/src/media/windbg_qemu.png similarity index 100% rename from books/qemu/src/media/windbg_qemu.png rename to bookshelf/Shelf 1 Getting Started/qemu/src/media/windbg_qemu.png diff --git a/books/qemu/src/mu-tianocore-build.md b/bookshelf/Shelf 1 Getting Started/qemu/src/mu-tianocore-build.md similarity index 100% rename from books/qemu/src/mu-tianocore-build.md rename to bookshelf/Shelf 1 Getting Started/qemu/src/mu-tianocore-build.md diff --git a/books/qemu/src/qemu-acpi.md b/bookshelf/Shelf 1 Getting Started/qemu/src/qemu-acpi.md similarity index 100% rename from books/qemu/src/qemu-acpi.md rename to bookshelf/Shelf 1 Getting Started/qemu/src/qemu-acpi.md diff --git a/books/qemu/src/qemu-setup.md b/bookshelf/Shelf 1 Getting Started/qemu/src/qemu-setup.md similarity index 100% rename from books/qemu/src/qemu-setup.md rename to bookshelf/Shelf 1 Getting Started/qemu/src/qemu-setup.md diff --git a/books/qemu/src/qemu-windbg.md b/bookshelf/Shelf 1 Getting Started/qemu/src/qemu-windbg.md similarity index 100% rename from books/qemu/src/qemu-windbg.md rename to bookshelf/Shelf 1 Getting Started/qemu/src/qemu-windbg.md diff --git a/books/qemu/src/qemu-windows.md b/bookshelf/Shelf 1 Getting Started/qemu/src/qemu-windows.md similarity index 100% rename from books/qemu/src/qemu-windows.md rename to bookshelf/Shelf 1 Getting Started/qemu/src/qemu-windows.md diff --git a/bookshelf/Shelf 2 Projects/Embedded Services/book.toml b/bookshelf/Shelf 2 Projects/Embedded Services/book.toml new file mode 100644 index 0000000..644f3ea --- /dev/null +++ b/bookshelf/Shelf 2 Projects/Embedded Services/book.toml @@ -0,0 +1,2 @@ +[book] +title = "Embedded Controller Services" diff --git a/bookshelf/Shelf 2 Projects/Embedded Services/src/README.md b/bookshelf/Shelf 2 Projects/Embedded Services/src/README.md new file mode 100644 index 0000000..9e1cade --- /dev/null +++ b/bookshelf/Shelf 2 Projects/Embedded Services/src/README.md @@ -0,0 +1,7 @@ +# Embedded Controller Services Overview + +Embedded Controller(EC) services includes all components required to run on application processor. +- Hafnium EC service +- EcTest driver and application +- ACPI sample code +- UEFI shared memory sample code diff --git a/bookshelf/Shelf 2 Projects/Embedded Services/src/SUMMARY.md b/bookshelf/Shelf 2 Projects/Embedded Services/src/SUMMARY.md new file mode 100644 index 0000000..2b2004b --- /dev/null +++ b/bookshelf/Shelf 2 Projects/Embedded Services/src/SUMMARY.md @@ -0,0 +1,4 @@ +# Summary + +[Introduction](README.md) + diff --git a/media/cover.png b/media/cover.png new file mode 100644 index 0000000..f669928 Binary files /dev/null and b/media/cover.png differ diff --git a/media/cover2.png b/media/cover2.png new file mode 100644 index 0000000..54e6cbb Binary files /dev/null and b/media/cover2.png differ