Skip to content

Revert previous applied patches in reverse order if applying patches fails and reapply patches + canary wipe dev helper improvements #1953

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Conversation

tlaurion
Copy link
Collaborator

@tlaurion tlaurion commented Apr 10, 2025

Fixes #1952

To reproduce a reproducible board image in dev cycles while rebuilding only what is necessary:

  • ./docker_repro.sh make BOARD=x230-hotp-maximized real.remove_canary_files-extract_patch_rebuild_what_changed
  • ./docker_repro.sh make BOARD=x230-hotp-maximized

This pull request includes several changes to the Makefile aimed at improving the patch application process and adding new helper functions. The most important changes include modifying the patch application logic to handle errors more gracefully and adding a helper function to manage the .canary file for coreboot git repositories.

Improvements to patch application logic:

  • Modified the patch application steps to include error handling and reapplication of patches if the initial application fails. This ensures that patches are applied correctly and any issues are addressed immediately. [1] [2]

New helper functions:

  • Added a new helper function overwrite_canary_if_coreboot_git to overwrite the coreboot git repository's .canary file with a placeholder commit ID. This helps to ensure that the build process can be restarted correctly. Restarting a new build will make sure that tarballs/git repos are cloned, patched properly (with patches reverted in reverse order then reapplied if patching fails), targets are reconfigured and finally built from changed source files. This helper should be used in dev cycles to reduce building time

Enhancements to cleaning targets:

  • Updated the real.clean, real.gitclean, real.gitclean_keep_packages, and real.remove_canary_files-extract_patch_rebuild_what_changed targets to call the new helper function overwrite_canary_if_coreboot_git. This ensures that the .canary file is managed appropriately during cleaning operations. [1] [2]

Additional cleanup:

  • Added a step to remove all files in the coreboot_dir directory (ex: build/x86/coreboot-24.12/x230-hotp-maximized) before building coreboot artifacts in it, ensuring a clean state for the building process (resolving final stage misleading errors that could happen because coreboot objdir is corrupted by stalled previous build).

@tlaurion tlaurion marked this pull request as draft April 10, 2025 23:00
@tlaurion tlaurion changed the title Revert previous applied patches in reverse order if applying patches fails and reapply patches + canary wipe dev helper improvements WiP: Revert previous applied patches in reverse order if applying patches fails and reapply patches + canary wipe dev helper improvements Apr 10, 2025
@tlaurion tlaurion force-pushed the patch_revert_if_apply_fails-canary_wipe_rebuild_improvements branch from d5f8384 to 86cd549 Compare April 11, 2025 15:15
…d updated so that it wipes things correctly

Signed-off-by: Thierry Laurion <[email protected]>
…objdir) is wiped clean on each build so coreboot stages to be stitched are clean

Signed-off-by: Thierry Laurion <[email protected]>
@tlaurion tlaurion force-pushed the patch_revert_if_apply_fails-canary_wipe_rebuild_improvements branch from 86cd549 to da38f7b Compare April 11, 2025 16:11
…ot git .canary with bogus commit, remove duplicated patches apply/reversal/reapply logic

Signed-off-by: Thierry Laurion <[email protected]>
…led logic without subshell

Signed-off-by: Thierry Laurion <[email protected]>
@tlaurion tlaurion changed the title WiP: Revert previous applied patches in reverse order if applying patches fails and reapply patches + canary wipe dev helper improvements Revert previous applied patches in reverse order if applying patches fails and reapply patches + canary wipe dev helper improvements Apr 11, 2025
@tlaurion tlaurion marked this pull request as ready for review April 11, 2025 19:48
@tlaurion
Copy link
Collaborator Author

@miczyg1 this addresses discussions under #1952

Run:

  • ./docker_repro.sh make BOARD=x230-hotp-maximized real.remove_canary_files-extract_patch_rebuild_what_changed
  • ./docker_repro.sh make BOARD=x230-hotp-maximized

…le ones under patches/*

Signed-off-by: Thierry Laurion <[email protected]>
@tlaurion tlaurion force-pushed the patch_revert_if_apply_fails-canary_wipe_rebuild_improvements branch 2 times, most recently from 66e328a to 9d7fe66 Compare April 12, 2025 20:11
… helper for reproducible builds in dev cycles

Otherwise qemu roms which injects distinct public key with entropy at each build are wiped.

TODO : revisit approach when flashrom/flashprog/qemu supports 16MB SPI flash emulation so we can use flashprog to flash internally, which will require refactoring

Signed-off-by: Thierry Laurion <[email protected]>
@tlaurion tlaurion force-pushed the patch_revert_if_apply_fails-canary_wipe_rebuild_improvements branch from 9d7fe66 to 4981e70 Compare April 13, 2025 14:21
…sgcc reusable cache layer) from being reused to speed up rebuilds

Signed-off-by: Thierry Laurion <[email protected]>
@tlaurion
Copy link
Collaborator Author

tlaurion commented Apr 13, 2025

46e6efe output of doing

./docker_repro.sh make BOARD=t480-hotp-maximized real.remove_canary_files-extract_patch_rebuild_what_changed
./docker_repro.sh make BOARD=t480-hotp-maximized
wget https://output.circle-artifacts.com/output/job/5c3d7a66-e691-4c48-9142-f4fe5cd884e6/artifacts/0/build/x86/t480-hotp-maximized/hashes.txt -O hashes.txt
HASHES1=hashes.txt
HASHES2=/home/user/heads/build/x86/t480-hotp-maximized/hashes.txt
egrep '^[0-9a-f]{64}' $HASHES1 | while read line; do HASH_REF=$(echo $line|awk -F " " {'print $1'}); FILE_REF=$(echo $line|awk -F "/" {'print $NF'}); if ! grep -q "$HASH_REF" $HASHES2; then echo "$FILE_REF doesn't match";fi; done

Give no output on egrep command: the two builds produce the same hashes for all files, outside of hashes.txt timestamps and paths:

user@heads-tests-deb12-nix:~/heads$ diff hashes.txt build/x86/t480-hotp-maximized/hashes.txt 
1,3c1,3
< 2025-04-13 14:55:58+00:00 46e6efea68fb29dd9fc47ef1945d2e7937433d2e clean
< a2c12c2c81db8302359bc1b18a5ed3f4dfa83705bbae18c423dec3f8a1771e41  /root/heads/build/x86/t480-hotp-maximized/bzImage
< e5d819c7f0970c85b633940a0831acdf2acf23fe02e66f081d0acc93816fa307  /root/heads/build/x86/t480-hotp-maximized/modules.cpio
---
> 2025-04-13 16:23:50+00:00 46e6efea68fb29dd9fc47ef1945d2e7937433d2e clean
> a2c12c2c81db8302359bc1b18a5ed3f4dfa83705bbae18c423dec3f8a1771e41  /home/user/heads/build/x86/t480-hotp-maximized/bzImage
> e5d819c7f0970c85b633940a0831acdf2acf23fe02e66f081d0acc93816fa307  /home/user/heads/build/x86/t480-hotp-maximized/modules.cpio
5,6c5
< 6d53a328ff2c765362e8c286382ba94f6a77065bebb37476c64f6afd9d2a8565  ./lib/modules/usbhid.ko
< a490ce3578155e877bf0870ab351fc328bfd7411929a5bbefece051040933ec3  ./lib/modules/e1000e.ko
---
> b1d45d47ec9bec14ab4c1e02e824638a5740341c32cc25a05b8fd9fdc89499bc  ./lib/modules/cdc_eem.ko
8,10d6
< 8c69e1222c82a1655c1d64a5f0994d80f2a00a01b83f9b720950900f18c4318c  ./lib/modules/ehci-pci.ko
< 1160ae08e83925ea4f6f594bb5215323de361e88c70ead40ca017abe9a0d2483  ./lib/modules/xhci-hcd.ko
< 33b77dd82ec21db3aca6b843510d0061c86248692928f51ed9eca23ae2c5a67c  ./lib/modules/xhci-pci.ko
11a8,9
> 1160ae08e83925ea4f6f594bb5215323de361e88c70ead40ca017abe9a0d2483  ./lib/modules/xhci-hcd.ko
> fdcd35b7f1e76065982ba316240a77ad7e61f32af93c70013286d145941bce63  ./lib/modules/cdc_ncm.ko
13d10
< 688a9f328798999b63c1ff0acf1671306c99ce0892da8b65aa1640ea3cc16efc  ./lib/modules/usbnet.ko
15,16c12,16
< fdcd35b7f1e76065982ba316240a77ad7e61f32af93c70013286d145941bce63  ./lib/modules/cdc_ncm.ko
< b1d45d47ec9bec14ab4c1e02e824638a5740341c32cc25a05b8fd9fdc89499bc  ./lib/modules/cdc_eem.ko
---
> 688a9f328798999b63c1ff0acf1671306c99ce0892da8b65aa1640ea3cc16efc  ./lib/modules/usbnet.ko
> 8c69e1222c82a1655c1d64a5f0994d80f2a00a01b83f9b720950900f18c4318c  ./lib/modules/ehci-pci.ko
> 6d53a328ff2c765362e8c286382ba94f6a77065bebb37476c64f6afd9d2a8565  ./lib/modules/usbhid.ko
> a490ce3578155e877bf0870ab351fc328bfd7411929a5bbefece051040933ec3  ./lib/modules/e1000e.ko
> 33b77dd82ec21db3aca6b843510d0061c86248692928f51ed9eca23ae2c5a67c  ./lib/modules/xhci-pci.ko
18c18
< 86174e9f8a551bc7ffe442436f542cc5458f8a27a030879191dafd1d4fc7c982  /root/heads/build/x86/t480-hotp-maximized/tools.cpio
---
> 86174e9f8a551bc7ffe442436f542cc5458f8a27a030879191dafd1d4fc7c982  /home/user/heads/build/x86/t480-hotp-maximized/tools.cpio
20,28d19
< f22fca2d78ccb8468f73addca567e0ced34d906a16248b27a8205f4711fc7f95  ./lib/libc.so
< 9b51d40a8fcb00eadfc0cf08c77b207c318e558bb46e6c4b73b396dc4fd099f4  ./lib/libcairo.so.2
< df53483805921fa7073711332d54cc8283769bdf52edc2f299600c310a6e74ab  ./lib/libcryptsetup.so.12
< e047ae96de27390ff3865e17bcb621894b0700d5fde987b1381e2ae6db26de5d  ./lib/libjson-c.so.5
< d628da11eb2d673319aaf370c4226f50bfd1ab4d306cab9032efb9ac36c3b6f8  ./lib/libaio.so.1
< e0847c33e0cbc6b071d9f8963b7fe5d23c0d47912f2a33c296fa567b774fba82  ./lib/libassuan.so.0
< 6e780835590df1f61cb0a8b53051463bc15ce719d4b4ec6b42da9b064709dc7c  ./lib/libgcrypt.so.20
< 0cfd35e5e3c73bea700807e2553e9f59a4b32c1441fa59e01c5850bdcc642d14  ./lib/libgpg-error.so.0
< 9ea5a7bb89901ce27a3ad8af52bf66ff880711d4c616b1cdc80499b486189bf3  ./lib/libksba.so.8
30d20
< 91c1cd3d90bbb1c2cdbcf117b48c4a0bd9117a146d8654141b12783eb38314e0  ./lib/libusb-1.0.so.0
32,36c22
< e5fb1c1ad7aaed1fbc7d1e58476b54e3774816b2d99f41837c70a6f1fa81e973  ./lib/libmbedcrypto.so.0
< a648f49354ddf3e4f2d8ff0af61b4c00589fa4d144a00bf38428789a9b8fc36f  ./lib/libnpth.so.0
< 340bc68571d3d3475db32a977e04a3826be8eedf2a67fc412ce85b1a36f14c64  ./lib/libcrypto.so.3
< 4717e4136eaf2065a969c3b387c307ffd0c74127deca591a4ce4c267fd599e41  ./lib/libpci.so.3.5.4
< 4717e4136eaf2065a969c3b387c307ffd0c74127deca591a4ce4c267fd599e41  ./lib/libpci.so.3
---
> 6e780835590df1f61cb0a8b53051463bc15ce719d4b4ec6b42da9b064709dc7c  ./lib/libgcrypt.so.20
37a24
> d628da11eb2d673319aaf370c4226f50bfd1ab4d306cab9032efb9ac36c3b6f8  ./lib/libaio.so.1
39,44d25
< 4a7b8fde59d89c1d6126d3089c98c214d4a4cb8b937fe64af443f4412b53137f  ./lib/libqrencode.so.3
< 2702514f22ddd383d2dde82f0265f9a0a7042dc9f5fa3e371693b5af65605b6a  ./lib/libtss2-rc.so.0
< 5dfe43c685209d67f58303d7b389ead2b1647e103e951592cdf91426e89c11b4  ./lib/libtss2-mu.so.0
< c7d471a74527b6385ab7ba0045838b707a361bf124d0a397579f1f8e2fbc18a8  ./lib/libtss2-sys.so.1
< 200858b1ca18e62e9df2ff8133baf1eb8e646fa0a877f8f91943c23325c734c1  ./lib/libtss2-esys.so.0
< a052b6f1a4b1556fc69e76ba1cf3c773c4cd400857dfbfd0497ceba85b71b2b6  ./lib/libtss2-tctildr.so.0
45a27,29
> 9b51d40a8fcb00eadfc0cf08c77b207c318e558bb46e6c4b73b396dc4fd099f4  ./lib/libcairo.so.2
> 200858b1ca18e62e9df2ff8133baf1eb8e646fa0a877f8f91943c23325c734c1  ./lib/libtss2-esys.so.0
> 0fa034924a8a1e40318d5c0031f0226433b50d54a97e95f2c21fc395bf0bcef5  ./lib/libz.so.1
46a31
> 9ea5a7bb89901ce27a3ad8af52bf66ff880711d4c616b1cdc80499b486189bf3  ./lib/libksba.so.8
49,56c34,50
< 0fa034924a8a1e40318d5c0031f0226433b50d54a97e95f2c21fc395bf0bcef5  ./lib/libz.so.1
< 607bde510609aba884b6ccdbf61110cb6465274b5129bb680ab237fe8c7e8c70  ./bin/busybox
< d9a51cb9b935fa7368b4a82fdbe93ae7d689e30f1d62e9722b3950598580b045  ./bin/kexec
< b77a871b666a60e182a046ab83e9375a53c1673dcc3c84b33fee1f09d7facb9b  ./bin/totp
< 037be3d685a105aa78f8350e6e04d858d6255d247de4398106202e5071d4699e  ./bin/hotp
< 33fd1f303b7cf69d48ce718b70329827b6024bf859d7df8ca0c5551ebfd943ee  ./bin/qrenc
< 89786e2642dec967647941ade7b1247d51807f43f40aa036d617bac3585284f7  ./bin/tpm
< ea8a63d1b1b08aadbfc9df9adb5c0dfbfda732ba2255322525752988196fc857  ./bin/lspci
---
> a052b6f1a4b1556fc69e76ba1cf3c773c4cd400857dfbfd0497ceba85b71b2b6  ./lib/libtss2-tctildr.so.0
> e047ae96de27390ff3865e17bcb621894b0700d5fde987b1381e2ae6db26de5d  ./lib/libjson-c.so.5
> 91c1cd3d90bbb1c2cdbcf117b48c4a0bd9117a146d8654141b12783eb38314e0  ./lib/libusb-1.0.so.0
> a648f49354ddf3e4f2d8ff0af61b4c00589fa4d144a00bf38428789a9b8fc36f  ./lib/libnpth.so.0
> f22fca2d78ccb8468f73addca567e0ced34d906a16248b27a8205f4711fc7f95  ./lib/libc.so
> 0cfd35e5e3c73bea700807e2553e9f59a4b32c1441fa59e01c5850bdcc642d14  ./lib/libgpg-error.so.0
> df53483805921fa7073711332d54cc8283769bdf52edc2f299600c310a6e74ab  ./lib/libcryptsetup.so.12
> c7d471a74527b6385ab7ba0045838b707a361bf124d0a397579f1f8e2fbc18a8  ./lib/libtss2-sys.so.1
> 2702514f22ddd383d2dde82f0265f9a0a7042dc9f5fa3e371693b5af65605b6a  ./lib/libtss2-rc.so.0
> 4717e4136eaf2065a969c3b387c307ffd0c74127deca591a4ce4c267fd599e41  ./lib/libpci.so.3.5.4
> 4a7b8fde59d89c1d6126d3089c98c214d4a4cb8b937fe64af443f4412b53137f  ./lib/libqrencode.so.3
> 4717e4136eaf2065a969c3b387c307ffd0c74127deca591a4ce4c267fd599e41  ./lib/libpci.so.3
> e0847c33e0cbc6b071d9f8963b7fe5d23c0d47912f2a33c296fa567b774fba82  ./lib/libassuan.so.0
> 340bc68571d3d3475db32a977e04a3826be8eedf2a67fc412ce85b1a36f14c64  ./lib/libcrypto.so.3
> 5dfe43c685209d67f58303d7b389ead2b1647e103e951592cdf91426e89c11b4  ./lib/libtss2-mu.so.0
> e5fb1c1ad7aaed1fbc7d1e58476b54e3774816b2d99f41837c70a6f1fa81e973  ./lib/libmbedcrypto.so.0
> dd8876acf8d86bc17bb1ead8e9c37b11471e349a81e1197b85f1e9fa94934d09  ./bin/io386
58d51
< a89bc1507262e48e239a55a1cdd5be00325c44b3a1b6614e865141faf16ecee8  ./bin/cryptsetup
59a53
> 8d43b6d105867d3e2965d8317a3c0bdb9501837228a21aa16760e4ff9cb9c589  ./bin/bash
61,62c55,57
< 8d54759a00e1748f636e15dc45b2c8e711303dd7754e00da5407590e7d967e54  ./bin/gpg-agent
< 65bcfcd55c52fa525c67eadb91671358608372961ceb6aa0fb1146605a8159ce  ./bin/scdaemon
---
> c5fdb0f48dc9cb4708332d8732051a6edf22ee2b7eab561d294e79b27d011a11  ./bin/whiptail
> c1480e4d52cf89fffdb94faf2fd7bfe86433c8f39ad0f2ea5d9a975604cca670  ./bin/poke
> add11a234e1ee96b7bfb84eb59308f68e5a5639e9ab2532e5cc88e6a2e12690f  ./bin/uefi
67d61
< 6ab2945a88c6f6297ab1d824ce8457c8102d28dfff4dfbcd46071eeba79418bc  ./bin/scp
69c63,68
< 5d1440a7887770b7e78cf7689512ca1b9e09b5ff8bc866ad968d346156dfbb23  ./bin/flashtool
---
> adf2b4a2ff6d338d2dfd4468909473ee57903dccaf61c446c5147752e6579e00  ./bin/cbmem
> 037be3d685a105aa78f8350e6e04d858d6255d247de4398106202e5071d4699e  ./bin/hotp
> 8d54759a00e1748f636e15dc45b2c8e711303dd7754e00da5407590e7d967e54  ./bin/gpg-agent
> 0d1e38be5fd97038ecbecb1cfea3de74e348d7cadb8cf4e698514cd5c9e373c1  ./bin/fbwhiptail
> d9a51cb9b935fa7368b4a82fdbe93ae7d689e30f1d62e9722b3950598580b045  ./bin/kexec
> 607bde510609aba884b6ccdbf61110cb6465274b5129bb680ab237fe8c7e8c70  ./bin/busybox
71c70,76
< c1480e4d52cf89fffdb94faf2fd7bfe86433c8f39ad0f2ea5d9a975604cca670  ./bin/poke
---
> b65839394339a938b99e48c0aace0fcd5a147aebeaf239733bbea00837032b48  ./bin/fsck.exfat
> ea8a63d1b1b08aadbfc9df9adb5c0dfbfda732ba2255322525752988196fc857  ./bin/lspci
> 89786e2642dec967647941ade7b1247d51807f43f40aa036d617bac3585284f7  ./bin/tpm
> b25aef1b77d5ec4ec23549b7ea1ce68f7e59cc11cef63e9b836a81451bc90bc8  ./bin/mkfs.exfat
> 6ab2945a88c6f6297ab1d824ce8457c8102d28dfff4dfbcd46071eeba79418bc  ./bin/scp
> 91e6d4355f099bb11b4dc7aa45de7ec80d6e5058117118397dc8cc7c79cfb33c  ./bin/hotp_initialize
> 33fd1f303b7cf69d48ce718b70329827b6024bf859d7df8ca0c5551ebfd943ee  ./bin/qrenc
73,75c78,79
< add11a234e1ee96b7bfb84eb59308f68e5a5639e9ab2532e5cc88e6a2e12690f  ./bin/uefi
< 0d1e38be5fd97038ecbecb1cfea3de74e348d7cadb8cf4e698514cd5c9e373c1  ./bin/fbwhiptail
< c5fdb0f48dc9cb4708332d8732051a6edf22ee2b7eab561d294e79b27d011a11  ./bin/whiptail
---
> a89bc1507262e48e239a55a1cdd5be00325c44b3a1b6614e865141faf16ecee8  ./bin/cryptsetup
> 65bcfcd55c52fa525c67eadb91671358608372961ceb6aa0fb1146605a8159ce  ./bin/scdaemon
77c81
< 91e6d4355f099bb11b4dc7aa45de7ec80d6e5058117118397dc8cc7c79cfb33c  ./bin/hotp_initialize
---
> b77a871b666a60e182a046ab83e9375a53c1673dcc3c84b33fee1f09d7facb9b  ./bin/totp
79,80d82
< 8d43b6d105867d3e2965d8317a3c0bdb9501837228a21aa16760e4ff9cb9c589  ./bin/bash
< dd8876acf8d86bc17bb1ead8e9c37b11471e349a81e1197b85f1e9fa94934d09  ./bin/io386
81a84
> 5d1440a7887770b7e78cf7689512ca1b9e09b5ff8bc866ad968d346156dfbb23  ./bin/flashtool
83,85d85
< b65839394339a938b99e48c0aace0fcd5a147aebeaf239733bbea00837032b48  ./bin/fsck.exfat
< b25aef1b77d5ec4ec23549b7ea1ce68f7e59cc11cef63e9b836a81451bc90bc8  ./bin/mkfs.exfat
< adf2b4a2ff6d338d2dfd4468909473ee57903dccaf61c446c5147752e6579e00  ./bin/cbmem
89c89
< b5d472a524b756e499a16b0176a9a5e4a381224ba56f6a69722eda44ff34323e  /root/heads/build/x86/t480-hotp-maximized/heads.cpio
---
> b5d472a524b756e499a16b0176a9a5e4a381224ba56f6a69722eda44ff34323e  /home/user/heads/build/x86/t480-hotp-maximized/heads.cpio
91,95c91,99
< afbf7d32c01d8386667c094f14091df12242de2bff382af2cd37749774d170b3  ./.bash_history
< bd6dc7c303edfe50cf157e8a75d9d035ec19e71d848e6b74524ae68bedf657c3  ./.gnupg/gpg-agent.conf
< 238705ca61d3ec230cc11db5143b1ee876041c6e4bae9ff84740862841733572  ./.gnupg/gpg.conf
< a7fe33f49c80bbb2c78da84cbbcabe1511b78babffdae46bf23f0f0548d450fe  ./bin/basic-autoboot.sh
< ff132ae13561c6f02db8f0b9565adfb14aac0d8a35fb24e8e52ef214c3118b7d  ./bin/cbfs-init
---
> 386f3d851c1ed1ea0a2e6938353ef497a7924c057473d98e1c28a14fa631087c  ./mount-boot
> df8147cd98630653da8162f173d1fbad7b41ef0d000713bfa3dc340f410f2439  ./bin/talos-init
> d70649ef6d9dc24d931cb81e8e7c86f31bc57dab6bd33b5b882894c61d8f8d44  ./bin/kexec-select-boot
> 19d8f49298a7348c3d793fe9b389e8f6ba6d81c196282a428d27546f9f926f82  ./bin/setconsolefont.sh
> 40bab1bf78fbdb9a8ce3a9a038e737a5e39c7d4721a1974ff4dd8091eb4290a2  ./bin/generic-init
> 0551687d3de455ac80149c2236808b559bb5615af6e475a9c525af8c2f2fab79  ./bin/kexec-seal-key
> 9819a37f2cae47722215dc3b1e13f242bcebbd051f4be5c802aa83a9a239bae6  ./bin/gpgv
> 9b3a1d170f14023077311e9294d0bbe168580a4470504c68f518e39689d426ca  ./bin/unseal-hotp
> 34ceb06fb30ca2354689b4690f661bd810773d9306015aba0065625871949054  ./bin/oem-system-info-xx30
97c101,105
< 24ee191391d1501b502105c9a15ca246c7d657f1199fa7efcfff1d4d4794e3d7  ./bin/change-time.sh
---
> 85ad948a0e527b80ca421aa1a6e65590fcf25774e207be5be18ec13a4aab1bbc  ./bin/key-init
> b08681caa5e5135fb4efd73fea4afa830e096e5a8a3eab53f6f6b4e6c00f746c  ./bin/wget-measure.sh
> 5cf9f923d8b362df40e85865a4268a2de368b59f12e6b370f52673e9ec4bb7b4  ./bin/oem-factory-reset
> ff132ae13561c6f02db8f0b9565adfb14aac0d8a35fb24e8e52ef214c3118b7d  ./bin/cbfs-init
> 6950250de2bfbec68237cc98fa151c86d09de8e9c646e4237d85da9e1b32d63d  ./bin/media-scan
99c107
< 7cdb945d09ea2e3767b64e2a5c907a3bda5c67ae56e7a37704b135db3fabf3f4  ./bin/flash-gui.sh
---
> ef560355e80b32f9ec55638ccbd233609d1bc45a1bff1b09229f7e1c657e0e9b  ./bin/gui-init
102,118d109
< 40bab1bf78fbdb9a8ce3a9a038e737a5e39c7d4721a1974ff4dd8091eb4290a2  ./bin/generic-init
< ba813c7ee2e4e239c8708d7e1dabdfec96ce9564e593ca0742cca3f75327ce00  ./bin/gpg-gui.sh
< 9819a37f2cae47722215dc3b1e13f242bcebbd051f4be5c802aa83a9a239bae6  ./bin/gpgv
< ef560355e80b32f9ec55638ccbd233609d1bc45a1bff1b09229f7e1c657e0e9b  ./bin/gui-init
< f3398e688f41d8f139e24c16954cc6b666db90d2b2bdfa5b6d9242b420f94de7  ./bin/gui-init-basic
< 452eb56440eb250fec2f43232b4f9ea438e146ad6f3ed6c01e810609e3149e7b  ./bin/inject_firmware.sh
< e071f9befc82ce14458c8675f7c18d1865d24b3ff272e6796c6ba4ac8130a01e  ./bin/kexec-boot
< 88aa3a98c98e4460d021052c1aced99b7908baf1cc939315c81f4791479d4588  ./bin/kexec-insert-key
< 880309f2d9773578766babdac5d49a42aa49923cd54e64098e53d2d8c2e68449  ./bin/kexec-iso-init
< b48c79bda93c1de62323a77731ad337a40dc5093577de080cbae9f8ab1573d61  ./bin/kexec-parse-bls
< a46d2e96df2aad17e857d471d73c8e6705d036d2535d4594b6f64f1bed5159c0  ./bin/kexec-parse-boot
< 6a18b0c87017b07ed969ff0ef5eaf82a54ee51d7149b828d20743930fd684475  ./bin/kexec-save-default
< eceb0adb6391b96cbc4cadf3d30b0892a0dca4678e15c4d5c1e40ee172eb540a  ./bin/kexec-save-key
< 0551687d3de455ac80149c2236808b559bb5615af6e475a9c525af8c2f2fab79  ./bin/kexec-seal-key
< 9f7bc0568182fcdaa79ef4bda7d094357ce2b51d9e7ffb8e2bd0124cd635a5fc  ./bin/kexec-sign-config
< f9bb533baadb9bbed0db747b321343c3b598c878e6766e75b134ffe46e78032e  ./bin/kexec-unseal-key
< 85ad948a0e527b80ca421aa1a6e65590fcf25774e207be5be18ec13a4aab1bbc  ./bin/key-init
120,124d110
< 6950250de2bfbec68237cc98fa151c86d09de8e9c646e4237d85da9e1b32d63d  ./bin/media-scan
< 5af5a71e68c5a63b10b30e13cefb361096a2f8d1b22548c6c15c510c3db75010  ./bin/mount-usb
< afea1afc1729b75e96ff8059cc9ae1854a1800e80aaabf706ca52cd628179e41  ./bin/network-init-recovery
< 34ceb06fb30ca2354689b4690f661bd810773d9306015aba0065625871949054  ./bin/oem-system-info-xx30
< 38d08d353ab1843ccda6d5ad582342ba117748c3147591f9d969290316301c4f  ./bin/poweroff
126,127d111
< 9d5126e29a73b48c3c76e6d80a04d71de1cb44ac00f391fcd82eabb54ab2b9af  ./bin/reboot
< e694a511f359b0983ec48df9d25fe5042f6e086f747df98540bed82b10d8c06f  ./bin/root-hashes-gui.sh
128a113,116
> b48c79bda93c1de62323a77731ad337a40dc5093577de080cbae9f8ab1573d61  ./bin/kexec-parse-bls
> 9f7bc0568182fcdaa79ef4bda7d094357ce2b51d9e7ffb8e2bd0124cd635a5fc  ./bin/kexec-sign-config
> 5af5a71e68c5a63b10b30e13cefb361096a2f8d1b22548c6c15c510c3db75010  ./bin/mount-usb
> df3cd093a7044de1903595c4159557bd9c390146f6d8efac1c1761d6cd0ceb65  ./bin/usb-autoboot.sh
130,132d117
< 19d8f49298a7348c3d793fe9b389e8f6ba6d81c196282a428d27546f9f926f82  ./bin/setconsolefont.sh
< df8147cd98630653da8162f173d1fbad7b41ef0d000713bfa3dc340f410f2439  ./bin/talos-init
< 0454b8a9c48f0e02764d52bcf077f0085763edf57598027707be7cc45d83c04b  ./bin/tpm-reset
134,137c119,120
< 62fa5c725b749df85d541cc1162d977678be73261f74d20e369715696a3a43cd  ./bin/unpack_initramfs.sh
< 9b3a1d170f14023077311e9294d0bbe168580a4470504c68f518e39689d426ca  ./bin/unseal-hotp
< e433433d7e4c223355a8985d040eb16695b8c99c4e486e0460b67d2aa374658e  ./bin/unseal-totp
< df3cd093a7044de1903595c4159557bd9c390146f6d8efac1c1761d6cd0ceb65  ./bin/usb-autoboot.sh
---
> e694a511f359b0983ec48df9d25fe5042f6e086f747df98540bed82b10d8c06f  ./bin/root-hashes-gui.sh
> f9bb533baadb9bbed0db747b321343c3b598c878e6766e75b134ffe46e78032e  ./bin/kexec-unseal-key
139,142c122,124
< b08681caa5e5135fb4efd73fea4afa830e096e5a8a3eab53f6f6b4e6c00f746c  ./bin/wget-measure.sh
< b401050fdc974834360760774c350c0f43f8e930c6dcc02046c05f12429b925d  ./bin/wipe-totp
< d70649ef6d9dc24d931cb81e8e7c86f31bc57dab6bd33b5b882894c61d8f8d44  ./bin/kexec-select-boot
< 5cf9f923d8b362df40e85865a4268a2de368b59f12e6b370f52673e9ec4bb7b4  ./bin/oem-factory-reset
---
> a7fe33f49c80bbb2c78da84cbbcabe1511b78babffdae46bf23f0f0548d450fe  ./bin/basic-autoboot.sh
> 24ee191391d1501b502105c9a15ca246c7d657f1199fa7efcfff1d4d4794e3d7  ./bin/change-time.sh
> 452eb56440eb250fec2f43232b4f9ea438e146ad6f3ed6c01e810609e3149e7b  ./bin/inject_firmware.sh
143a126,147
> 6a18b0c87017b07ed969ff0ef5eaf82a54ee51d7149b828d20743930fd684475  ./bin/kexec-save-default
> b401050fdc974834360760774c350c0f43f8e930c6dcc02046c05f12429b925d  ./bin/wipe-totp
> a46d2e96df2aad17e857d471d73c8e6705d036d2535d4594b6f64f1bed5159c0  ./bin/kexec-parse-boot
> e071f9befc82ce14458c8675f7c18d1865d24b3ff272e6796c6ba4ac8130a01e  ./bin/kexec-boot
> 7cdb945d09ea2e3767b64e2a5c907a3bda5c67ae56e7a37704b135db3fabf3f4  ./bin/flash-gui.sh
> 0454b8a9c48f0e02764d52bcf077f0085763edf57598027707be7cc45d83c04b  ./bin/tpm-reset
> afea1afc1729b75e96ff8059cc9ae1854a1800e80aaabf706ca52cd628179e41  ./bin/network-init-recovery
> f3398e688f41d8f139e24c16954cc6b666db90d2b2bdfa5b6d9242b420f94de7  ./bin/gui-init-basic
> 88aa3a98c98e4460d021052c1aced99b7908baf1cc939315c81f4791479d4588  ./bin/kexec-insert-key
> ba813c7ee2e4e239c8708d7e1dabdfec96ce9564e593ca0742cca3f75327ce00  ./bin/gpg-gui.sh
> 9d5126e29a73b48c3c76e6d80a04d71de1cb44ac00f391fcd82eabb54ab2b9af  ./bin/reboot
> 38d08d353ab1843ccda6d5ad582342ba117748c3147591f9d969290316301c4f  ./bin/poweroff
> e433433d7e4c223355a8985d040eb16695b8c99c4e486e0460b67d2aa374658e  ./bin/unseal-totp
> eceb0adb6391b96cbc4cadf3d30b0892a0dca4678e15c4d5c1e40ee172eb540a  ./bin/kexec-save-key
> 62fa5c725b749df85d541cc1162d977678be73261f74d20e369715696a3a43cd  ./bin/unpack_initramfs.sh
> 880309f2d9773578766babdac5d49a42aa49923cd54e64098e53d2d8c2e68449  ./bin/kexec-iso-init
> ad5f5c3b2869d03b81350b3dc5bb115a59d84651c695ba5547529724eb88c47a  ./etc/shells
> 0d470a27a345f800fa277d3ecc3c239d22649f181d40f8abc8a6dbb32027ac84  ./etc/motd
> b113842c31a20c6e7d384cb282686b2a5d2a65d6efdc9ae28af501a74205957a  ./etc/gui_functions
> 1bd1a48f3346cf4a68dad674411d9e5c21cc85f8ea14b2b18926e534c07a0d11  ./etc/functions
> 5cba27664958b4261ec7071c47f76b5d66d5aa9a1a5333868658f1f57c3563fb  ./etc/passwd
> 7a83d3cac3ec0807b9af9c329f305ec02aacaf062524dcf51c8052a424d6876f  ./etc/fstab
144a149,152
> c998d64f9b58c2235186f8ee75ba602d1fdb2991d94695fd687ab0e8096b6727  ./etc/mke2fs.conf
> 081ef9d5367595d16e30b4b4549d9f43537320508b4ce0788963e10e4f808857  ./etc/hosts
> bb0957cd5fd8ad6feed8b3b825153a8f1efd73862ed9509cfd995e6592a336ec  ./etc/luks-functions
> 7a696fcfba89a55a6d73fa1a03c7f071fad2141340027b17a25db249e26b9be8  ./etc/group
146,147d153
< b598d94c9d3221cfa837742f357812034e15d61d9ae190fe52bf358bf2db590b  ./etc/distro/keys/archlinux.key
< 3e503a237e9e471ecbfbe66b458eaa188aeb3aeb347c2d80bce735ed02cb8f13  ./etc/distro/keys/qubes-4.1.key
150d155
< b5832354cdba14211054ac95c995fc76dd55c055db40609bb956e2bee117fa86  ./etc/distro/keys/qubes-weekly-builds-signing-key.asc
152,161c157,159
< 7a83d3cac3ec0807b9af9c329f305ec02aacaf062524dcf51c8052a424d6876f  ./etc/fstab
< 7a696fcfba89a55a6d73fa1a03c7f071fad2141340027b17a25db249e26b9be8  ./etc/group
< b113842c31a20c6e7d384cb282686b2a5d2a65d6efdc9ae28af501a74205957a  ./etc/gui_functions
< 081ef9d5367595d16e30b4b4549d9f43537320508b4ce0788963e10e4f808857  ./etc/hosts
< c998d64f9b58c2235186f8ee75ba602d1fdb2991d94695fd687ab0e8096b6727  ./etc/mke2fs.conf
< 0d470a27a345f800fa277d3ecc3c239d22649f181d40f8abc8a6dbb32027ac84  ./etc/motd
< 5cba27664958b4261ec7071c47f76b5d66d5aa9a1a5333868658f1f57c3563fb  ./etc/passwd
< ad5f5c3b2869d03b81350b3dc5bb115a59d84651c695ba5547529724eb88c47a  ./etc/shells
< 1bd1a48f3346cf4a68dad674411d9e5c21cc85f8ea14b2b18926e534c07a0d11  ./etc/functions
< bb0957cd5fd8ad6feed8b3b825153a8f1efd73862ed9509cfd995e6592a336ec  ./etc/luks-functions
---
> b598d94c9d3221cfa837742f357812034e15d61d9ae190fe52bf358bf2db590b  ./etc/distro/keys/archlinux.key
> b5832354cdba14211054ac95c995fc76dd55c055db40609bb956e2bee117fa86  ./etc/distro/keys/qubes-weekly-builds-signing-key.asc
> 3e503a237e9e471ecbfbe66b458eaa188aeb3aeb347c2d80bce735ed02cb8f13  ./etc/distro/keys/qubes-4.1.key
163c161,163
< 386f3d851c1ed1ea0a2e6938353ef497a7924c057473d98e1c28a14fa631087c  ./mount-boot
---
> afbf7d32c01d8386667c094f14091df12242de2bff382af2cd37749774d170b3  ./.bash_history
> bd6dc7c303edfe50cf157e8a75d9d035ec19e71d848e6b74524ae68bedf657c3  ./.gnupg/gpg-agent.conf
> 238705ca61d3ec230cc11db5143b1ee876041c6e4bae9ff84740862841733572  ./.gnupg/gpg.conf
169c169
< ace7941f8032fe702a9b2541fc6159fdda1b8c142eb514bade159a4af0f62618  /root/heads/build/x86/t480-hotp-maximized/heads-t480-hotp-maximized-v0.2.0-2730-g46e6efe.rom
---
> ace7941f8032fe702a9b2541fc6159fdda1b8c142eb514bade159a4af0f62618  /home/user/heads/build/x86/t480-hotp-maximized/heads-t480-hotp-maximized-v0.2.0-2730-g46e6efe.rom

@miczyg1 comments/approval?

@tlaurion tlaurion merged commit f572998 into linuxboot:master Apr 15, 2025
47 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Makefile: Have patches reverted if they fail to apply cleanly
2 participants