diff --git a/.github/workflows/build-image.yaml b/.github/workflows/build-image.yaml index c58f4c7..e5f4fb8 100644 --- a/.github/workflows/build-image.yaml +++ b/.github/workflows/build-image.yaml @@ -16,9 +16,11 @@ jobs: - name: Maximize build space uses: easimon/maximize-build-space@master with: - root-reserve-mb: 1024 + root-reserve-mb: 4096 swap-size-mb: 1024 remove-dotnet: 'true' + remove-android: 'true' + remove-haskell: 'true' - name: download repo uses: actions/checkout@v4 @@ -31,7 +33,7 @@ jobs: with: name: shimboot_${{ matrix.board }} path: data/shimboot_${{ matrix.board }}.bin - compression-level: 9 + compression-level: 7 - name: create release uses: softprops/action-gh-release@v1 diff --git a/patch_rootfs.sh b/patch_rootfs.sh index be12f50..ae679ca 100755 --- a/patch_rootfs.sh +++ b/patch_rootfs.sh @@ -10,7 +10,7 @@ print_help() { } assert_root -assert_deps "git gunzip" +assert_deps "git gunzip depmod" assert_args "$3" copy_modules() { @@ -33,7 +33,11 @@ copy_modules() { #decompress kernel modules if necessary - debian won't recognize these otherwise local compressed_files="$(find "${target_rootfs}/lib/modules" -name '*.gz')" if [ "$compressed_files" ]; then - find "${target_rootfs}/lib/modules" -name "*.gz" | xargs gunzip -k + echo "$compressed_files" | xargs gunzip + for kernel_dir in "$target_rootfs/lib/modules/"*; do + local version="$(basename "$kernel_dir")" + depmod -b "$target_rootfs" "$version" + done fi } diff --git a/website/index.html b/website/index.html index e2ceb7e..6e35731 100644 --- a/website/index.html +++ b/website/index.html @@ -86,7 +86,7 @@ Alternatively, you can run each of the steps manually: 6. Run `sudo ./build.sh image.bin path_to_shim data/rootfs` to generate a disk image at `image.bin`. Booting the Image: -1. Obtain a shimboot image by downloading a prebuilt one or building it yourself. +1. Obtain a shimboot image by downloading a prebuilt one or building it yourself. 2. Flash the shimboot image to a USB drive or SD card. Use the Chromebook Recovery Utility or dd if you're on Linux. 3. Enable developer mode on your Chromebook. If the Chromebook is enrolled, follow the instructions on the sh1mmer website (see the "Executing on Chromebook" section). 4. Plug the USB into your Chromebook and enter recovery mode. It should detect the USB and run the shimboot bootloader.