English | 한국어
- Choose driver ownership:
- First-party kernel bridge:
drivers/bridges/<class>/<name>/.
- Shared driver API/helper:
drivers/libs/<name>/.
- Prebuilt/vendor module:
vendor/... plus manifest.
- Add workspace membership for source-based Rust drivers.
- Add
RUSTOS.package.toml.
- Use
kind = "bridge-driver" and execution_domain = "kernel" for bridge
modules.
- Use
[build] builder = "module-image" for Rust bridge modules.
- Use
[install] path = "system/drivers/<class>/<name>.ko".
- Add
[autoload] metadata when the driver should be loaded by device policy.
- Put firmware or prebuilt external inputs under
vendor/.
- Run
cargo xtask check, then cargo xtask build-driver-modules, then
cargo xtask stage or full cargo xtask build.
[autoload]
name = "example"
class = "display"
bus = "pci"
priority = 10
when = "vfs-ready"
aliases = ["pci:vendor=0x1234,class=0x03"]
provider_group = "display-primary"
fallback_only = false
- Driver artifact is staged under
build/image/system/drivers/....
system/registry/kernel/loadable-drivers.tsv contains the expected metadata.
- Driver logs use category
driver, or a more specific category such as
display, usb, input, or storage.
- driver ownership을 선택합니다.
- first-party kernel bridge:
drivers/bridges/<class>/<name>/
- shared driver API/helper:
drivers/libs/<name>/
- prebuilt/vendor module:
vendor/...와 manifest
- source 기반 Rust driver는 workspace member에 추가합니다.
RUSTOS.package.toml을 추가합니다.
- bridge module에는
kind = "bridge-driver", execution_domain = "kernel"을 사용합니다.
- Rust bridge module에는
[build] builder = "module-image"를 사용합니다.
[install] path = "system/drivers/<class>/<name>.ko"를 사용합니다.
- device policy로 load되어야 하면
[autoload] metadata를 추가합니다.
- firmware나 prebuilt external input은
vendor/ 아래에 둡니다.
cargo xtask check, cargo xtask build-driver-modules, 그 다음
cargo xtask stage 또는 full cargo xtask build를 실행합니다.
[autoload]
name = "example"
class = "display"
bus = "pci"
priority = 10
when = "vfs-ready"
aliases = ["pci:vendor=0x1234,class=0x03"]
provider_group = "display-primary"
fallback_only = false
- driver artifact가
build/image/system/drivers/... 아래에 stage됩니다.
system/registry/kernel/loadable-drivers.tsv에 예상 metadata가 포함됩니다.
- driver log는
driver category 또는 display, usb, input, storage
같은 더 구체적인 category를 사용합니다.