X-OpenWrt/NOTES_X86_CONFIG_OPTIMIZATI...

2.2 KiB

x86_64 X/Y/Z Config Optimization Todo

Updated: 2026-06-29

Scope

  • Configs/x86_64-X
  • Configs/x86_64-Y
  • Configs/x86_64-Z
  • .github/workflows/X-x86_64_X.yml
  • .github/workflows/X-x86_64_Y.yml
  • .github/workflows/X-x86_64_Z.yml

Current Profile Notes

  • X: broad x86_64 profile with SmartDNS, Docker, WiFi firmware/drivers, IPv6, storage/network modules, and a larger LuCI package set.
  • Y: service-heavy x86_64 profile with SmartDNS, Passwall, AdGuardHome, Docker/Diskman, IPv6, and standard x86 image outputs.
  • Z: compact x86_64 profile with Passwall, AdGuardHome, Diskman/Netdata, standard x86 image outputs, and Image Builder enabled.

Todo

  • Extract shared target/image basics into one common x86_64 fragment, then keep X/Y/Z as small profile fragments.
  • After a successful build, run OpenWrt scripts/diffconfig.sh for X/Y/Z and remove redundant selected dependencies.
  • Decide the Z Image Builder policy: upload generated Image Builder artifacts, intentionally ignore them, or disable CONFIG_IB/CONFIG_IB_STANDALONE.
  • Standardize line endings and final newlines for Configs/x86_64-Y and Configs/x86_64-Z in a dedicated formatting-only commit.
  • Build a profile matrix that records intentional package deltas between X, Y, and Z.
  • Remove or relocate stale KERNEL_PATCHVER comments because they do not affect OpenWrt .config behavior.
  • Confirm each profile's CONFIG_GRUB_IMAGES, CONFIG_VMDK_IMAGES, CONFIG_VDI_IMAGES, CONFIG_VHDX_IMAGES, and upload globs still match the intended release artifacts.
  • Keep CONFIG_DEVEL, CONFIG_CCACHE, and other CI-only build toggles out of tracked config files.
  • If config fragments are introduced, add a small generation/check script so committed full configs can be reproduced.
  • Re-test X/Y/Z after cleanup with make defconfig and compare generated .config changes before committing behavior changes.

Do Not Mix

  • Do not normalize CRLF/LF while changing config semantics.
  • Do not remove dependency-selected CONFIG_PACKAGE_* lines until a successful diffconfig.sh pass proves they are redundant.
  • Do not change package selections in the same commit as documentation-only comment updates.