mirror of
https://github.com/DragonOS-Community/DragonOS.git
synced 2025-06-09 23:46:48 +00:00
- add tools/doc_translator.py - translated docs into English Signed-off-by: longjin <longjin@DragonOS.org>
115 lines
2.5 KiB
Markdown
115 lines
2.5 KiB
Markdown
:::{note}
|
|
**AI Translation Notice**
|
|
|
|
This document was automatically translated by `Qwen/Qwen3-8B` model, for reference only.
|
|
|
|
- Source document: kernel/configuration/config.md
|
|
|
|
- Translation time: 2025-05-19 01:41:17
|
|
|
|
- Translation model: `Qwen/Qwen3-8B`
|
|
|
|
Please report issues via [Community Channel](https://github.com/DragonOS-Community/DragonOS/issues)
|
|
|
|
:::
|
|
|
|
# Kernel Compilation Configuration Guide
|
|
|
|
## Principle
|
|
|
|
  Within the kernel directory, the kernel configuration is set using `kernel.config`. This file is parsed in a manner similar to a TOML file, and then the configuration of each module's `d.config` is parsed to determine the status of features.
|
|
|
|
## Example
|
|
|
|
**kernel.config**
|
|
|
|
```toml
|
|
[[module.include]]
|
|
name = "init"
|
|
path = "src/init/"
|
|
enable = "y"
|
|
description = ""
|
|
|
|
[[module.include]]
|
|
name = "mm"
|
|
path = "src/mm/"
|
|
enable = "y"
|
|
description = ""
|
|
```
|
|
|
|
- **[[module.include]]:** Adds the module to the include list
|
|
- **name:** Module name
|
|
- **path:** Module path, where the `d.config` file is located
|
|
- **enable:**
|
|
- **y:** Enabled, parse the `d.config` file of the module
|
|
- **n:** Disabled, do not parse
|
|
- **description:** Description of the module
|
|
|
|
**src/mm/d.config**
|
|
|
|
```toml
|
|
[module]
|
|
name = "mm"
|
|
description = ""
|
|
|
|
[[module.include]]
|
|
name = "allocator"
|
|
path = "src/mm/allocator/"
|
|
enable = "y"
|
|
description = ""
|
|
|
|
[[module.features]]
|
|
name = "mm_debug"
|
|
enable = "y"
|
|
description = ""
|
|
```
|
|
|
|
- **[module]:** Current module
|
|
- **name:** Name of the current module
|
|
- **description:** Description of the module
|
|
- **[[module.include]]:** Modules included in the current module, same as in `kernel.config`
|
|
- **[[module.features]]:** Features in the current module
|
|
- **name:** Feature name
|
|
- **enable:** Whether the feature is enabled
|
|
- **y:** Enabled
|
|
- **n:** Disabled
|
|
- **description:** Description of the feature
|
|
|
|
*The following are the `d.config` files of other modules:*
|
|
|
|
**src/mm/allocator/d.config**
|
|
|
|
```toml
|
|
[module]
|
|
name = "allocator"
|
|
description = ""
|
|
|
|
[[module.features]]
|
|
name = "allocator_debug"
|
|
enable = "y"
|
|
description = ""
|
|
```
|
|
|
|
**src/init/d.config**
|
|
|
|
```toml
|
|
[module]
|
|
name = "init"
|
|
description = ""
|
|
|
|
[[module.features]]
|
|
name = "init_debug"
|
|
enable = "y"
|
|
description = ""
|
|
```
|
|
|
|
All features enabled in the `d.config` files of the activated modules will be ultimately generated into the `D.config` file in the kernel directory. That is, `D.config` is the final kernel compilation configuration, as follows:
|
|
|
|
**D.config**
|
|
|
|
```
|
|
init_debug = y
|
|
allocator_debug = y
|
|
mm_debug = y
|
|
```
|