Darren Hart’s October 2018 Open Source Summit Europe presentation, Managing Linux Kernel Configs With Config Fragments, presents kernel configuration as a set of small, reviewable files rather than one hand-edited monolithic configuration. The talk’s examples are from the Linux 4.18.15 era, so its option counts and Dell symbols should be treated as historical reference points, not current kernel facts.
What the 2018 talk was trying to solve
Kernel configuration grows quickly. Hart’s slides plot CONFIG symbols from Linux 3.0 through 4.18 and report 17,209 CONFIG options — VMware, 2018. They also report 4,368 defconfig CONFIG options — VMware, 2018. These are presentation figures for that version range, not a measurement of today’s kernel sources.
As an Amazon Associate I earn from qualifying purchases.
The practical problem is maintaining deliberate changes across large configurations. A fragment records a focused policy, platform requirement or driver choice. Multiple fragments can then be combined and checked, making each change easier to review and update than an opaque, manually edited file.
Kconfig concepts behind a fragment
A fragment contains Kconfig symbol assignments, but a symbol is not simply an independent on/off switch. Hart’s introduction covers the basic Kconfig vocabulary:
#1 Best Overall
- Types: bool, tristate, string, hex and int.
- Prompts: whether a symbol is presented for configuration.
- Defaults: values selected when other conditions do not override them.
- Dependencies: conditions that constrain whether a symbol can be enabled.
- Select relationships: one symbol forcing another symbol’s availability or value.
Consequently, a requested value may be changed, rejected or rendered ineffective by the surrounding configuration. The slides point readers to Documentation/kbuild/kconfig-language.txt for the language’s detailed rules. That document and the target source tree should be consulted when applying the workflow to a newer kernel.
The Dell SMBIOS example
The presentation demonstrates a small fragment for Dell SMBIOS support. Its historical assignments are:
Rank #2
| Symbol | Value | Role in the example |
|---|---|---|
CONFIG_ACPI_WMI |
m |
Enables the ACPI WMI backend as a module. |
CONFIG_DELL_SMBIOS |
m |
Builds Dell SMBIOS support as a module. |
CONFIG_DELL_SMBIOS_WMI |
y |
Enables the Dell SMBIOS WMI component in the shown configuration. |
The deck associates the change with commit metadata dated 2018-10-23 and describes it as adding Dell SMBIOS support with the default ACPI WMI backend. These symbol names and relationships belong to that Linux 4.18-era example; verify availability and dependencies before using them with another kernel release.
PC Slower Than It Used to Be?
A free scan shows the junk files, broken settings and background clutter dragging Windows down - then fixes them in one click.Free scan · Windows 10 & 11Crashes, No Sound, or Screen Glitches?
Random freezes, missing sound and display glitches usually trace back to one bad driver. Find and replace yours safely.Free scan · under a minuteHow Hart organizes fragments
The talk groups fragments by the reason they exist, rather than keeping unrelated assignments in one file:
Rank #3
Distro policy
Distribution-level choices express what a kernel build should provide or omit as a matter of policy.
Machine architecture
Architecture fragments capture settings specific to the CPU family or machine class being built.
Rank #4
- Used Book in Good Condition
Platform enabling
Platform fragments turn on support required for a board, firmware environment or system platform.
Generic drivers
Generic-driver fragments hold reusable hardware support that is not tied to one particular machine.
This separation gives reviewers a way to ask why a setting exists and which builds should receive it. It also limits the blast radius of a change: a platform adjustment need not be mixed with distribution policy or unrelated drivers.
Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.A disciplined fragment workflow
- Identify the requirement. State the hardware, platform or policy problem the change addresses.
- Choose the appropriate fragment category. Put the assignment with distro policy, architecture, platform enabling or generic drivers according to its purpose.
- Generate or edit the smallest purposeful fragment. Include the symbols needed for the requirement, while respecting their types and relationships.
- Resolve dependencies in the target configuration context. A symbol’s requested value is meaningful only alongside the prerequisites and selects that Kconfig evaluates.
- Merge the fragment set through the project’s configuration process. Treat the merged result—not an individual fragment—as the configuration that will be built.
- Check for silent errors. Look for assignments that Kconfig ignored, rewrote or could not satisfy instead of assuming that a clean-looking fragment succeeded.
- Audit the final configuration. Inspect the resulting values and confirm that the intended change is present without unrelated changes.
- Commit the change with a precise explanation. Hart’s slide, “A Good Commit Contains…,” lists: “Problem description”; “Developer intent”; “Changes address the problem and match intent”; “Nothing else.”
Fragments versus a single hand-edited configuration
| Workflow choice | Strength | Risk or responsibility |
|---|---|---|
| Focused fragments | Changes are grouped by purpose and can be reviewed independently. | The merge process must detect conflicts, unmet dependencies and ignored assignments. |
| One monolithic hand-edited configuration | All values appear in one place. | It is harder to identify why a setting exists and easier for unrelated edits to travel with a change. |
Hart’s presentation advocates the fragment workflow as a management practice, not as a benchmark proving that one tool or vendor is faster. Its value is traceability: reviewers can connect a symbol assignment to a requirement and then verify the merged result.
What remains version-specific
The talk was delivered in October 2018 and its plotted range ends at Linux 4.18, including v4.18.15. Kernel symbols, defaults, dependencies and build-system behavior can change. Do not carry forward the slide counts, the Dell example or an assumed fragment-merging command as if they described a current kernel. For a present-day implementation, inspect the documentation and Kconfig definitions in the exact source tree and release you intend to build.
Free tools Windows power users keep installed
One-click scans. No signup required.
Why the workflow still matters
The enduring lesson is not a particular CONFIG value. It is the review loop: express one intent in a small fragment, organize it so its scope is obvious, merge it in the real configuration context, detect silent errors and audit the final output. That process makes kernel configuration changes explainable and limits accidental drift, whether the underlying symbols come from the 2018 example or a later kernel.
Quick Recap
Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.




