-
-
Notifications
You must be signed in to change notification settings - Fork 2.8k
config/kernel: (many) change CONFIG_DUMMY=y to =m #9025
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
config/kernel: (many) change CONFIG_DUMMY=y to =m #9025
Conversation
- having CONFIG_DUMMY=y causes a fake/dummy interface `dummy0` to be _always_ present - that in turn can confuse things like cloud-init in nocloud-net mode - changing it to module, it can still be used (just modprobe) - I found this using `linux-rk35xx-vendor`, but I reason it applies to all kernels; most other kernels already have it `=m`
WalkthroughThis PR systematically changes the CONFIG_DUMMY kernel configuration option from built-in (y) to module (m) across 12 different kernel configuration files spanning multiple board and architecture targets (Rockchip, Snapdragon, UEFI, and WSL2). Changes
Estimated code review effort🎯 2 (Simple) | ⏱️ ~15 minutes
Possibly related PRs
Suggested reviewers
Poem
Pre-merge checks and finishing touches✅ Passed checks (3 passed)
✨ Finishing touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
SuperKali
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I confirm
tabrisnet
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Nothing obviously wrong.
|
✅ This PR has been reviewed and approved — all set for merge! |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 0
🧹 Nitpick comments (1)
config/kernel/linux-rk322x-edge.config (1)
2050-2050: Consistent with PR intent; keep dummy as loadable module.Prevents default dummy0 while preserving availability via modprobe. Consider a release note: users can enable with “modprobe dummy” if needed.
📜 Review details
Configuration used: Path: .coderabbit.yaml
Review profile: CHILL
Plan: Pro
Disabled knowledge base sources:
- Jira integration is disabled by default for public repositories
You can enable these sources in your CodeRabbit configuration.
📒 Files selected for processing (12)
config/kernel/linux-rk322x-current.config(1 hunks)config/kernel/linux-rk322x-edge.config(1 hunks)config/kernel/linux-rk322x-legacy.config(1 hunks)config/kernel/linux-rk35xx-vendor.config(1 hunks)config/kernel/linux-sm8250-current.config(1 hunks)config/kernel/linux-sm8250-edge.config(1 hunks)config/kernel/linux-uefi-arm64-cloud.config(1 hunks)config/kernel/linux-uefi-x86-cloud.config(1 hunks)config/kernel/linux-wsl2-arm64-current.config(1 hunks)config/kernel/linux-wsl2-arm64-edge.config(1 hunks)config/kernel/linux-wsl2-x86-current.config(1 hunks)config/kernel/linux-wsl2-x86-edge.config(1 hunks)
🧰 Additional context used
🧠 Learnings (18)
📓 Common learnings
Learnt from: EvilOlaf
Repo: armbian/build PR: 8428
File: config/boards/lckfb-taishanpi.csc:5-9
Timestamp: 2025-07-25T03:51:50.830Z
Learning: When reviewing PRs in the Armbian build system, U-Boot defconfig files and patches may be added as part of the PR changes but might not be visible in the current repository clone state during review. It's important to check the actual PR file changes directly via GitHub or the PR API to get the complete picture of what files are being added or modified.
Learnt from: EvilOlaf
Repo: armbian/build PR: 8428
File: config/boards/lckfb-taishanpi.csc:5-9
Timestamp: 2025-07-25T03:51:50.830Z
Learning: When reviewing PRs in the Armbian build system, U-Boot defconfig files and patches may be added as part of the PR changes but might not be visible in the current repository clone state during review. It's important to check the actual PR file changes directly via GitHub API (https://api.github.com/repos/armbian/build/pulls/{pr_number}/files) to get the complete picture of what files are being added or modified, especially for U-Boot patches that will be applied during the build process.
Learnt from: EvilOlaf
Repo: armbian/build PR: 8328
File: lib/functions/compilation/patch/drivers_network.sh:542-545
Timestamp: 2025-06-24T10:08:40.313Z
Learning: In the Armbian build system, when a PR removes build support for a specific kernel version, version check issues for that removed version become practically irrelevant even if they appear incorrect in isolation. Context about which kernel versions are being deprecated/removed is important for understanding the impact of version-related code changes.
Learnt from: tabrisnet
Repo: armbian/build PR: 8661
File: lib/functions/compilation/armbian-kernel.sh:194-201
Timestamp: 2025-09-22T21:52:01.225Z
Learning: In lib/functions/compilation/armbian-kernel.sh, the kernel_config_modifying_hashes array is not universally required for all kernel configuration functions - some functions like armbian_kernel_config__netkit() operate without it, and adding entries with '=m' would be incorrect when the actual result might be '=y' for options already built-in.
Learnt from: tabrisnet
Repo: armbian/build PR: 8661
File: lib/functions/compilation/armbian-kernel.sh:194-201
Timestamp: 2025-09-22T21:52:01.225Z
Learning: In lib/functions/compilation/armbian-kernel.sh, the kernel_config_modifying_hashes array is not universally required for all kernel configuration functions - some functions like armbian_kernel_config__netkit() operate without it, and adding entries with '=m' would be incorrect when the actual result might be '=y' for options already built-in.
Learnt from: EvilOlaf
Repo: armbian/build PR: 8968
File: patch/u-boot/u-boot-sunxi/arm64-dts-sun50i-h6-orangepi.dtsi-Rollback-r_rsb-to-r_i2c.patch:36-36
Timestamp: 2025-11-20T18:20:11.985Z
Learning: The rewrite-patches tool (REWRITE_PATCHES=yes) in the Armbian build system can inadvertently introduce semantic changes when the u-boot/kernel git base revision differs from expected state. The tool applies patches, commits them, and re-exports them using git format-patch, which can cause the re-exported patch to reflect the base revision's state rather than preserving the original patch intent. This is particularly problematic for device tree changes like interrupt specifications. The tool currently lacks validation mechanisms to detect such semantic drift, and affected patches must be manually corrected after rewriting.
Learnt from: igorpecovnik
Repo: armbian/build PR: 8849
File: config/boards/radxa-e54c.csc:14-28
Timestamp: 2025-11-02T20:49:56.719Z
Learning: In Armbian board configuration files (config/boards/*.conf, *.csc, etc.), do not use kernel_config_set, kernel_config_set_m, kernel_config_set_y, or custom_kernel_config__* functions to modify kernel configuration. Kernel configuration is associated with LINUXFAMILY/BOARDFAMILY, not individual BOARD. Board-specific kernel modifications cause inconsistency in kernel packages published to the apt repository because boards within a family share the same kernel packages. Kernel configuration changes must be made in the appropriate kernel config file (e.g., config/kernel/linux-*-*.config) or in family configuration files (config/sources/families/*.conf, *.inc) instead.
Learnt from: igorpecovnik
Repo: armbian/build PR: 8705
File: .github/workflows/rewrite-kernel-configs.yml:96-169
Timestamp: 2025-10-03T11:42:46.660Z
Learning: In the Armbian build repository's kernel config rewrite workflow (.github/workflows/rewrite-kernel-configs.yml), deletion of kernel config files does not need to be handled. The workflow intentionally only captures ACMR (added/copied/modified/renamed) changes and does not need to propagate deletions to the aggregator.
Learnt from: tabrisnet
Repo: armbian/build PR: 8661
File: lib/functions/compilation/armbian-kernel.sh:194-199
Timestamp: 2025-09-25T18:37:00.330Z
Learning: In PR armbian/build#8661, line 235 of lib/functions/compilation/armbian-kernel.sh already contains the corrected comment "BPF link support for netfilter hooks" for NETFILTER_BPF_LINK, not the misleading "BPF_SYSCALL" comment that was flagged during review.
Learnt from: tabrisnet
Repo: armbian/build PR: 8661
File: lib/functions/compilation/armbian-kernel.sh:194-199
Timestamp: 2025-09-25T18:37:00.330Z
Learning: In PR armbian/build#8661, line 235 of lib/functions/compilation/armbian-kernel.sh already contains the corrected comment "BPF link support for netfilter hooks" for NETFILTER_BPF_LINK, not the misleading "BPF_SYSCALL" comment that was flagged during review.
Learnt from: tabrisnet
Repo: armbian/build PR: 8661
File: lib/functions/compilation/armbian-kernel.sh:194-201
Timestamp: 2025-09-22T21:52:01.225Z
Learning: The kernel_config_set_m function in lib/functions/compilation/armbian-kernel.sh preserves existing 'y' (built-in) settings and only sets options to 'm' (module) when they are not already built-in, achieving "prefer modules but allow built-ins" behavior.
Learnt from: tabrisnet
Repo: armbian/build PR: 8661
File: lib/functions/compilation/armbian-kernel.sh:194-201
Timestamp: 2025-09-22T21:52:01.225Z
Learning: The kernel_config_set_m function in lib/functions/compilation/armbian-kernel.sh preserves existing 'y' (built-in) settings and only sets options to 'm' (module) when they are not already built-in, achieving "prefer modules but allow built-ins" behavior.
Learnt from: igorpecovnik
Repo: armbian/build PR: 8789
File: config/kernel/linux-sunxi64-edge.config:839-839
Timestamp: 2025-10-22T07:56:19.424Z
Learning: In Linux kernel configuration, some `=y` (builtin) options are infrastructure or feature flags that enable subsystems or features for modular drivers, rather than directly compiling code into the kernel. For example, in Armbian wireless configs, options like CONFIG_SPARD_WLAN_SUPPORT=y, CONFIG_SC23XX=y, CONFIG_WCN_BSP_DRIVER_BUILDIN=y, CONFIG_UNISOC_WIFI_PS=y are module infrastructure/feature enablers, while the actual drivers (CONFIG_WLAN_UWE5621=m, CONFIG_WLAN_UWE5622=m) remain as loadable modules. These infrastructure options don't cause kernel bloat.
Learnt from: rpardini
Repo: armbian/build PR: 8820
File: config/sources/families/include/meson64_common.inc:51-53
Timestamp: 2025-10-26T12:56:29.185Z
Learning: In the Armbian build framework, scripts/config correctly handles kernel configuration option names both with and without the CONFIG_ prefix, so opts_m+=("CONFIG_RTL8822CS") and opts_m+=("RTL8822CS") are both valid and will work correctly.
Learnt from: tabrisnet
Repo: armbian/build PR: 8678
File: config/kernel/linux-bcm2711-edge.config:859-861
Timestamp: 2025-09-27T21:47:58.020Z
Learning: In the Armbian build system, kernel configuration files in config/kernel/ are generated through an automated process: taking previous config → applying scripted changes from armbian-kernel.sh → running kernel's `make oldconfig` → processing by Armbian machinery back into config files. This automated process properly handles kernel configuration dependencies and reduces the likelihood of manual configuration errors.
Learnt from: tabrisnet
Repo: armbian/build PR: 0
File: :0-0
Timestamp: 2025-08-30T06:56:33.372Z
Learning: In Armbian kernel configuration, the BTRFS configuration logic preserves existing settings (whether built-in 'y' or module 'm') and only sets BTRFS_FS to module when it was previously disabled or not set, achieving "allow but not require" flexibility while maintaining backward compatibility.
📚 Learning: 2025-09-22T21:52:01.225Z
Learnt from: tabrisnet
Repo: armbian/build PR: 8661
File: lib/functions/compilation/armbian-kernel.sh:194-201
Timestamp: 2025-09-22T21:52:01.225Z
Learning: The kernel_config_set_m function in lib/functions/compilation/armbian-kernel.sh preserves existing 'y' (built-in) settings and only sets options to 'm' (module) when they are not already built-in, achieving "prefer modules but allow built-ins" behavior.
Applied to files:
config/kernel/linux-sm8250-edge.configconfig/kernel/linux-wsl2-arm64-edge.configconfig/kernel/linux-rk322x-legacy.configconfig/kernel/linux-rk322x-current.configconfig/kernel/linux-wsl2-arm64-current.configconfig/kernel/linux-rk322x-edge.configconfig/kernel/linux-wsl2-x86-edge.configconfig/kernel/linux-wsl2-x86-current.configconfig/kernel/linux-uefi-arm64-cloud.configconfig/kernel/linux-uefi-x86-cloud.configconfig/kernel/linux-sm8250-current.config
📚 Learning: 2025-09-27T21:50:15.915Z
Learnt from: tabrisnet
Repo: armbian/build PR: 8678
File: config/kernel/linux-sunxi64-current.config:94-94
Timestamp: 2025-09-27T21:50:15.915Z
Learning: When kernel config files are generated through Armbian's automated process (previous config → armbian-kernel.sh changes → make oldconfig → Armbian machinery processing), manual config file edits are not appropriate since they would be overwritten. Deprecated option handling should be implemented in the automated tooling instead.
Applied to files:
config/kernel/linux-sm8250-edge.configconfig/kernel/linux-wsl2-arm64-edge.configconfig/kernel/linux-rk322x-legacy.configconfig/kernel/linux-rk322x-current.configconfig/kernel/linux-wsl2-arm64-current.configconfig/kernel/linux-wsl2-x86-edge.configconfig/kernel/linux-wsl2-x86-current.configconfig/kernel/linux-rk35xx-vendor.configconfig/kernel/linux-uefi-arm64-cloud.configconfig/kernel/linux-uefi-x86-cloud.configconfig/kernel/linux-sm8250-current.config
📚 Learning: 2025-09-27T21:47:58.020Z
Learnt from: tabrisnet
Repo: armbian/build PR: 8678
File: config/kernel/linux-bcm2711-edge.config:859-861
Timestamp: 2025-09-27T21:47:58.020Z
Learning: In the Armbian build system, kernel configuration files in config/kernel/ are generated through an automated process: taking previous config → applying scripted changes from armbian-kernel.sh → running kernel's `make oldconfig` → processing by Armbian machinery back into config files. This automated process properly handles kernel configuration dependencies and reduces the likelihood of manual configuration errors.
Applied to files:
config/kernel/linux-sm8250-edge.configconfig/kernel/linux-wsl2-arm64-edge.configconfig/kernel/linux-rk322x-legacy.configconfig/kernel/linux-rk322x-current.configconfig/kernel/linux-wsl2-arm64-current.configconfig/kernel/linux-rk322x-edge.configconfig/kernel/linux-wsl2-x86-edge.configconfig/kernel/linux-wsl2-x86-current.configconfig/kernel/linux-rk35xx-vendor.configconfig/kernel/linux-uefi-arm64-cloud.configconfig/kernel/linux-sm8250-current.config
📚 Learning: 2025-10-22T07:56:19.424Z
Learnt from: igorpecovnik
Repo: armbian/build PR: 8789
File: config/kernel/linux-sunxi64-edge.config:839-839
Timestamp: 2025-10-22T07:56:19.424Z
Learning: In Linux kernel configuration, some `=y` (builtin) options are infrastructure or feature flags that enable subsystems or features for modular drivers, rather than directly compiling code into the kernel. For example, in Armbian wireless configs, options like CONFIG_SPARD_WLAN_SUPPORT=y, CONFIG_SC23XX=y, CONFIG_WCN_BSP_DRIVER_BUILDIN=y, CONFIG_UNISOC_WIFI_PS=y are module infrastructure/feature enablers, while the actual drivers (CONFIG_WLAN_UWE5621=m, CONFIG_WLAN_UWE5622=m) remain as loadable modules. These infrastructure options don't cause kernel bloat.
Applied to files:
config/kernel/linux-sm8250-edge.configconfig/kernel/linux-wsl2-arm64-edge.configconfig/kernel/linux-rk322x-legacy.configconfig/kernel/linux-rk322x-current.configconfig/kernel/linux-wsl2-arm64-current.configconfig/kernel/linux-rk322x-edge.configconfig/kernel/linux-wsl2-x86-edge.configconfig/kernel/linux-wsl2-x86-current.configconfig/kernel/linux-rk35xx-vendor.configconfig/kernel/linux-uefi-arm64-cloud.configconfig/kernel/linux-uefi-x86-cloud.configconfig/kernel/linux-sm8250-current.config
📚 Learning: 2025-08-02T05:46:10.664Z
Learnt from: EvilOlaf
Repo: armbian/build PR: 0
File: :0-0
Timestamp: 2025-08-02T05:46:10.664Z
Learning: In the Armbian build system, the KERNEL_CONFIGURE=yes switch is deprecated. The recommended approach for kernel configuration is now to use the `kernel-config` build command, which provides a more structured way to configure kernel options.
Applied to files:
config/kernel/linux-sm8250-edge.configconfig/kernel/linux-wsl2-arm64-edge.configconfig/kernel/linux-rk322x-legacy.configconfig/kernel/linux-wsl2-arm64-current.configconfig/kernel/linux-wsl2-x86-edge.configconfig/kernel/linux-wsl2-x86-current.configconfig/kernel/linux-rk35xx-vendor.configconfig/kernel/linux-uefi-arm64-cloud.config
📚 Learning: 2025-09-27T21:49:55.796Z
Learnt from: tabrisnet
Repo: armbian/build PR: 8678
File: config/kernel/linux-sm8250-current.config:78-80
Timestamp: 2025-09-27T21:49:55.796Z
Learning: In the Armbian build system, kernel configuration files are generated through an automated process: taking previous config → applying scripted changes from armbian-kernel.sh → running kernel's `make oldconfig` → processing by Armbian machinery back into config files. This automated process properly handles kernel configuration dependencies and reduces the likelihood of manual configuration errors.
Applied to files:
config/kernel/linux-sm8250-edge.configconfig/kernel/linux-rk322x-legacy.configconfig/kernel/linux-wsl2-arm64-current.configconfig/kernel/linux-rk322x-edge.configconfig/kernel/linux-wsl2-x86-edge.configconfig/kernel/linux-wsl2-x86-current.configconfig/kernel/linux-rk35xx-vendor.configconfig/kernel/linux-uefi-arm64-cloud.configconfig/kernel/linux-sm8250-current.config
📚 Learning: 2025-09-27T21:50:04.845Z
Learnt from: tabrisnet
Repo: armbian/build PR: 8678
File: config/kernel/linux-sm8250-edge.config:80-82
Timestamp: 2025-09-27T21:50:04.845Z
Learning: In the Armbian build system, kernel configuration files are generated through this automated process: taking previous config → applying scripted changes from armbian-kernel.sh → running kernel's `make oldconfig` → processing by Armbian machinery back into config files. This automated process properly handles kernel configuration dependencies and reduces the likelihood of manual configuration errors.
Applied to files:
config/kernel/linux-sm8250-edge.configconfig/kernel/linux-rk322x-legacy.configconfig/kernel/linux-wsl2-arm64-current.configconfig/kernel/linux-rk322x-edge.configconfig/kernel/linux-wsl2-x86-current.configconfig/kernel/linux-rk35xx-vendor.configconfig/kernel/linux-uefi-arm64-cloud.configconfig/kernel/linux-sm8250-current.config
📚 Learning: 2025-11-02T20:49:56.719Z
Learnt from: igorpecovnik
Repo: armbian/build PR: 8849
File: config/boards/radxa-e54c.csc:14-28
Timestamp: 2025-11-02T20:49:56.719Z
Learning: In Armbian board configuration files (config/boards/*.conf, *.csc, etc.), do not use kernel_config_set, kernel_config_set_m, kernel_config_set_y, or custom_kernel_config__* functions to modify kernel configuration. Kernel configuration is associated with LINUXFAMILY/BOARDFAMILY, not individual BOARD. Board-specific kernel modifications cause inconsistency in kernel packages published to the apt repository because boards within a family share the same kernel packages. Kernel configuration changes must be made in the appropriate kernel config file (e.g., config/kernel/linux-*-*.config) or in family configuration files (config/sources/families/*.conf, *.inc) instead.
Applied to files:
config/kernel/linux-sm8250-edge.configconfig/kernel/linux-wsl2-arm64-edge.configconfig/kernel/linux-rk322x-legacy.configconfig/kernel/linux-rk322x-current.configconfig/kernel/linux-wsl2-arm64-current.configconfig/kernel/linux-rk322x-edge.configconfig/kernel/linux-wsl2-x86-edge.configconfig/kernel/linux-rk35xx-vendor.configconfig/kernel/linux-uefi-arm64-cloud.configconfig/kernel/linux-uefi-x86-cloud.configconfig/kernel/linux-sm8250-current.config
📚 Learning: 2025-09-22T21:52:01.225Z
Learnt from: tabrisnet
Repo: armbian/build PR: 8661
File: lib/functions/compilation/armbian-kernel.sh:194-201
Timestamp: 2025-09-22T21:52:01.225Z
Learning: In lib/functions/compilation/armbian-kernel.sh, the kernel_config_modifying_hashes array is not universally required for all kernel configuration functions - some functions like armbian_kernel_config__netkit() operate without it, and adding entries with '=m' would be incorrect when the actual result might be '=y' for options already built-in.
Applied to files:
config/kernel/linux-sm8250-edge.configconfig/kernel/linux-wsl2-arm64-edge.configconfig/kernel/linux-rk322x-legacy.configconfig/kernel/linux-rk322x-current.configconfig/kernel/linux-wsl2-arm64-current.configconfig/kernel/linux-rk322x-edge.configconfig/kernel/linux-wsl2-x86-edge.configconfig/kernel/linux-wsl2-x86-current.configconfig/kernel/linux-uefi-arm64-cloud.configconfig/kernel/linux-uefi-x86-cloud.configconfig/kernel/linux-sm8250-current.config
📚 Learning: 2025-08-30T06:56:33.372Z
Learnt from: tabrisnet
Repo: armbian/build PR: 0
File: :0-0
Timestamp: 2025-08-30T06:56:33.372Z
Learning: In Armbian kernel configuration, the BTRFS configuration logic preserves existing settings (whether built-in 'y' or module 'm') and only sets BTRFS_FS to module when it was previously disabled or not set, achieving "allow but not require" flexibility while maintaining backward compatibility.
Applied to files:
config/kernel/linux-wsl2-arm64-edge.config
📚 Learning: 2025-08-11T22:00:13.411Z
Learnt from: rafayahmed317
Repo: armbian/build PR: 8484
File: config/kernel/linux-rk35xx-vendor.config:904-906
Timestamp: 2025-08-11T22:00:13.411Z
Learning: In the linux-rk35xx-vendor kernel, the LTE driver options (CONFIG_LTE, CONFIG_LTE_RM310, CONFIG_LTE_EM05) are defined as boolean in drivers/net/lte/Kconfig and cannot be built as modules - they must be either built-in (=y) or disabled.
Applied to files:
config/kernel/linux-wsl2-arm64-edge.configconfig/kernel/linux-wsl2-arm64-current.configconfig/kernel/linux-wsl2-x86-edge.configconfig/kernel/linux-wsl2-x86-current.configconfig/kernel/linux-rk35xx-vendor.config
📚 Learning: 2025-08-30T04:13:16.457Z
Learnt from: tabrisnet
Repo: armbian/build PR: 0
File: :0-0
Timestamp: 2025-08-30T04:13:16.457Z
Learning: Armbian kernel configuration files like linux-filogic-current.config are autogenerated overlays on top of arch defconfig. Comments added manually will be lost during future updates by maintainers, and explicit "CONFIG_OPTION is not set" statements aren't needed for mutually exclusive options since these are overlay configs that only specify changes from the base configuration.
Applied to files:
config/kernel/linux-rk322x-current.configconfig/kernel/linux-rk322x-edge.configconfig/kernel/linux-wsl2-x86-current.configconfig/kernel/linux-rk35xx-vendor.configconfig/kernel/linux-sm8250-current.config
📚 Learning: 2025-10-26T12:56:29.185Z
Learnt from: rpardini
Repo: armbian/build PR: 8820
File: config/sources/families/include/meson64_common.inc:51-53
Timestamp: 2025-10-26T12:56:29.185Z
Learning: In the Armbian build framework, scripts/config correctly handles kernel configuration option names both with and without the CONFIG_ prefix, so opts_m+=("CONFIG_RTL8822CS") and opts_m+=("RTL8822CS") are both valid and will work correctly.
Applied to files:
config/kernel/linux-rk322x-current.config
📚 Learning: 2025-10-26T10:41:35.118Z
Learnt from: HackingGate
Repo: armbian/build PR: 8665
File: config/boards/photonicat2.csc:4-4
Timestamp: 2025-10-26T10:41:35.118Z
Learning: In the Armbian build system, rk3576 boards consistently use BOARDFAMILY="rk35xx" for both vendor and edge kernel targets. The rk35xx family configuration sources rockchip64_common.inc, which provides edge and current kernel branch definitions, making these branches available even though they're not defined directly in rk35xx.conf.
Applied to files:
config/kernel/linux-rk322x-edge.config
📚 Learning: 2025-11-08T06:39:24.527Z
Learnt from: EvilOlaf
Repo: armbian/build PR: 8886
File: patch/kernel/rk35xx-vendor-6.1/dt/rk3528-nanopi-rev01.dts:9-9
Timestamp: 2025-11-08T06:39:24.527Z
Learning: In Armbian's Rockchip vendor kernel branches (rk35xx-vendor), device tree files may not require the same headers as mainline Linux. For example, input key definitions like KEY_BACK and KEY_VOLUMEUP may be handled differently in BSP kernels and don't necessarily need explicit includes like <dt-bindings/input/input.h> that would be required in mainline kernel device trees.
Applied to files:
config/kernel/linux-rk35xx-vendor.config
📚 Learning: 2025-10-03T11:42:46.660Z
Learnt from: igorpecovnik
Repo: armbian/build PR: 8705
File: .github/workflows/rewrite-kernel-configs.yml:96-169
Timestamp: 2025-10-03T11:42:46.660Z
Learning: In the Armbian build repository's kernel config rewrite workflow (.github/workflows/rewrite-kernel-configs.yml), deletion of kernel config files does not need to be handled. The workflow intentionally only captures ACMR (added/copied/modified/renamed) changes and does not need to propagate deletions to the aggregator.
Applied to files:
config/kernel/linux-rk35xx-vendor.config
📚 Learning: 2025-03-31T12:57:13.880Z
Learnt from: libiunc
Repo: armbian/build PR: 8033
File: config/kernel/linux-starfive2-vendor.config:43-43
Timestamp: 2025-03-31T12:57:13.880Z
Learning: For StarFive2 platform kernel configurations, maintain alignment with vendor-provided configurations rather than modifying security settings like SECCOMP. This ensures hardware compatibility as intended by the manufacturer.
Applied to files:
config/kernel/linux-uefi-x86-cloud.config
🔇 Additional comments (11)
config/kernel/linux-uefi-x86-cloud.config (1)
285-285: Aligns cloud defaults with common practice.Dummy no longer appears by default; keep an eye out for any early‑boot tooling that assumed dummy0 (unlikely in cloud profiles).
config/kernel/linux-wsl2-x86-current.config (1)
404-404: Good change: make dummy NIC optional (module).Avoids always‑present dummy0 that can confuse cloud‑init; module remains available via modprobe when needed.
config/kernel/linux-rk35xx-vendor.config (1)
645-646: Verify CONFIG_DUMMY=m alignment across vendor kernel configs.The comment claims this change aligns rk35xx with other vendor families, but verification of related CONFIG_DUMMY settings in other rockchip-rk*-vendor.config files and any vendor-specific dummy module dependencies is needed to confirm consistency.
config/kernel/linux-rk322x-legacy.config (1)
1633-1633: CONFIG_DUMMY=m is a sound approach for preventing dummy0 initialization at boot while preserving admin access viamodprobe dummyorip link add dummy0 type dummy. This avoids potential cloud-init/nocloud-net confusion on legacy kernels without removing functionality.Recommend verifying that no Armbian scripts or services explicitly depend on dummy0 being present at boot, though this is unlikely given the module approach.
config/kernel/linux-uefi-arm64-cloud.config (1)
274-275: Cloud images: avoid phantom NIC by making DUMMY modular.Right choice for cloud targets; dummy0 won't appear unless explicitly created. Consider a brief release note for users who relied on dummy0 for routing/tests.
config/kernel/linux-sm8250-edge.config (1)
384-384: Consistent modularization of dummy — LGTM.Matches current and other families; consider a short changelog entry noting dummy0 removal by default and how to re-enable.
config/kernel/linux-sm8250-current.config (1)
381-381: Aligns with "prefer modules" policy; prevents stray dummy0.Keeps functionality via explicit load; reduces surprises in early boot networking. Verify no family overlays revert this to
=yby checking for additionalCONFIG_DUMMY=entries across kernel configs.config/kernel/linux-rk322x-current.config (1)
2016-2016: CONFIG_DUMMY=m is a good modular configuration for the dummy NIC driver.This avoids the default dummy0 device being created, which can prevent cloud-init/nocloud-net mis-detection while still allowing the driver to be loaded explicitly via
modprobe dummywhen needed. If this change was made via Armbian'srewrite-kernel-configworkflow, ensure it remains consistent across the board's other kernel config variants. If this is a manual edit, apply the change throughuserpatches/kernel/instead to avoid it being overwritten by the automated config generation process.config/kernel/linux-wsl2-x86-edge.config (1)
401-401: WSL2: make dummy a module — sensible default.Avoids an unnecessary dummy0 in guests; users can load it for tests with
modprobe dummyor/etc/modules-load.d/dummy.conf. Verify that no WSL2-specific documentation or build scripts in this repository assume dummy0 exists and adjust if needed.config/kernel/linux-wsl2-arm64-edge.config (1)
395-395: Verify that direct config edits are the correct approach for Armbian's automated kernel config generation.The change is functionally correct (CONFIG_DUMMY=m is valid), but based on Armbian's documented process, kernel config files are auto-generated via
armbian-kernel.sh→make oldconfig→ processing pipeline. Direct manual edits to config files risk being overwritten during regeneration.Consider whether this change (and the other 11 similar changes across kernel configs) should instead be implemented via the
kernel_config_set_m()function inlib/functions/compilation/armbian-kernel.shto ensure persistence through the automated pipeline.Additionally, please verify that all 12 affected kernel config files mentioned in the PR summary have been updated consistently with this change.
config/kernel/linux-wsl2-arm64-current.config (1)
402-402: Consistent change across kernel configs — same verification concern as linux-wsl2-arm64-edge.config.This file shows the same CONFIG_DUMMY=m change as the edge variant. The concern about direct config file editing in Armbian's auto-generated pipeline applies here as well. Please confirm the implementation strategy is appropriate for the full set of 12 affected kernel configs.
dummy0to bealways present
linux-rk35xx-vendor, but I reason it applies toall kernels; most other kernels already have it
=mSummary by CodeRabbit
✏️ Tip: You can customize this high-level summary in your review settings.