Forum Discussion
Your understanding is excellent, and your process is well-structured. You're absolutely right in identifying the key issue: arch/arm64/configs/defconfig is too broad and includes configurations for platforms that are irrelevant to Intel SoCFPGA (like NXP, Broadcom, etc.).
You're also right that savedefconfig isn't a magic bullet — while it gives you only the non-default config options, it still starts from the global default (arch/arm64/configs/defconfig), which is the root of the problem you're trying to solve.
You want a clean, minimal defconfig just for Intel SoCFPGA ARM64 platforms (like Agilex, Stratix 10, etc.) — similar to arch/arm/configs/socfpga_defconfig that exists for the 32-bit ARM family.
Unfortunately, as of now: There is no upstream or Intel-maintained SoCFPGA-specific defconfig for ARM64 boards (like Agilex or Stratix 10).
Intel’s linux-socfpga fork assumes you start from defconfig + fragment, and doesn’t ship a dedicated socfpga_agilex_defconfig for arm64.
Your current approach is correct and you're on the right track by:
Using a fragment config to include only what you need
Building a custom defconfig based on your working config
Trimming with savedefconfig after boot to remove irrelevant noise
That script you wrote — automating extraction, cleanup, and placing a proper socfpga_agilex_defconfig — is exactly what Intel should provide but doesn’t.
Once you’ve confirmed your minimal config works, you can treat it as a private defconfig for your team or even contribute it upstream if desired.