diff --git a/.github/workflows/build-ironic-images.yaml b/.github/workflows/build-ironic-images.yaml index 3c12d639b..8118f998d 100644 --- a/.github/workflows/build-ironic-images.yaml +++ b/.github/workflows/build-ironic-images.yaml @@ -30,9 +30,34 @@ jobs: echo "yaml-files=${yaml_files}" >> $GITHUB_OUTPUT working-directory: ironic-images - build: + build-esp-image: runs-on: ubuntu-latest - needs: discover + defaults: + run: + working-directory: ironic-images + + steps: + - name: Checkout repository + uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4 + + - name: Install Dependencies + run: sudo apt update && sudo apt install -y grub-efi-amd64-signed shim-signed mtools + + - name: Create esp image + run: | + cp /usr/lib/shim/shimx64.efi.signed /tmp/bootx64.efi + cp /usr/lib/grub/x86_64-efi-signed/grubnetx64.efi.signed /tmp/grubx64.efi + dd if=/dev/zero of=/tmp/esp.img bs=4096 count=1024 + mkfs.msdos -F 12 -n ESP_IMAGE /tmp/esp.img + mmd -i /tmp/esp.img EFI EFI/BOOT + mcopy -i /tmp/esp.img -v /tmp/bootx64.efi ::EFI/BOOT/BOOTX64.efi + mcopy -i /tmp/esp.img -v /tmp/grubx64.efi ::EFI/BOOT/GRUBX64.efi + mdir -i /tmp/esp.img ::EFI/BOOT + mv /tmp/esp.img uploads/esp.img + + build-tenant-images: + runs-on: ubuntu-latest + needs: [discover, build-esp-image] defaults: run: working-directory: ironic-images diff --git a/ironic-images/README.md b/ironic-images/README.md index a234fa750..e57c9e724 100644 --- a/ironic-images/README.md +++ b/ironic-images/README.md @@ -1,3 +1,16 @@ # Undercloud Ironic Image Build -The image build process is in github actions: `.github/workflows/build-ironic-images.yaml` +Tools for building Ironic images + +## Ironic tenant image build + +The tenant images build process is in github actions: `.github/workflows/build-ironic-images.yaml` + +## Ironic ESP image build + +The ESP image build process is in github actions: `.github/workflows/build-ironic-images.yaml` + +ESP image documentation: + +* +*