Forum Discussion
Unless I'm misunderstanding something about kernel configuration, that doesn't really help. I am working on deploying a Linux kernel on an Agilex device. Here are the steps as I see them:
1. Clone linux-socfpga and, with `ARCH=arm64`, run
make defconfig
2. Add custom configurations based on the particular needs for my kernel, such as including drivers for FPGA IP or adding debug features for use during development. This is done with a custom config fragment file and
./scripts/kconfig/merge_config.sh -O ./ ./.config ./config-fragment-linux
3. Build the kernel:
make Image dtbs modules
4. Deploy the modules in the root filesystem (using a full SD card boot).
5. Deploy kernel image, dtb, other bootloader binaries, and FPGA bitstream onto SD card.
6. Boot the Agilex board.
At this point, I could use your script to extract the running config from the target board, bring it to the Linux source path, and use
make savedefconfig
to extract the non-default configurations (i.e. those configs that differ from arch/arm64/config/defconfig). But I already know what the non-default configurations were, I set them in the config fragment. This doesn't solve my fundamental problem, which is that there are hundreds of configs set in arch/arm64/config/defconfig that don't apply to the Altera SoCs with Arm64 processors. For example, configs enabling different vendor platforms and peripherals
What I want is for there to be a defconfig in the Linux source tree which is specific for Altera boards with Arm64 HPS. There is such a config for Cyclone/Arria devices at arch/arm/config/socfpga_defconfig.