3.5 KiB
Repository layout
UniXNU assembles independent SoC, device, and component repositories.
UniXNU/
AGENTS.md
components.toml
unixnu
scripts/unixnu/
profiles/arch/arm64/
profiles/os/
drivers/
kits/
patches/
package/
examples/device/
docs/
| Repository | Responsibility |
|---|---|
UniXNU |
Build tools, component catalog, ARM64 support, OS profiles, template, UEFI package, documentation site |
UniXNU-<soc>-common |
Shared SoC configuration, DTSI, platform operations, patch series |
UniXNU-<device> |
Board DTS, peripherals, selected components, partitions, packaging |
| Component repositories | Drivers, libraries, loaders, tools |
uefi-<device> |
UEFI platform integration |
The site source, navigation, translations, assets, configuration, and deployment
workflow are maintained in UniXNU. Each maintained repository has a concise
README and root AGENTS.md linking to its relevant pages.
Sources
The component catalog records canonical IDs, source revisions, dependencies, build commands, outputs, and runtime identifiers. The resolver selects sources from the catalog, device feeds, submodules, and local overrides. See the configuration reference for resolution precedence.
| Kind | Assembled path | Contents |
|---|---|---|
driver |
drivers/<ID> |
Driver source and reference plist |
kit |
kits/<ID> |
Library or tool |
patch |
patches/<name> |
Patch set |
script |
scripts/ |
Build or verification scripts |
package |
package/ |
UEFI package |
refer |
refer/<name> |
External source |
soc |
Selected profile root | SoC profile and shared hardware support |
Format 2 applies ARM64, SoC, OS, and device profiles. The assembled target is
out/<device>/<os_profile>/<config>/tree. Modules are linked, scripts are copied,
and device package/ appears as kits/<board.kit>. Patched sources and generated
files stay in the target output tree.
Component work
- Read
AGENTS.md, searchcomponents.toml, and inspect existing interfaces. - Put shared controller or protocol code in its component repository.
- Put SoC operations and resources in the SoC repository and board policy in the device repository.
- Record source identity, revision, dependencies, build command, outputs, and runtime identifiers.
- Update consumers, README, root
AGENTS.md, and English/Chinese site pages together. - Run the affected build commands and record host and hardware results separately.
Canonical names use hardware scope, protocol, or function. Repository renames preserve history and pinned revisions. Compatibility aliases use official source identity; community sources keep their own identity.
Commit scope
| Prefix | Subject |
|---|---|
feat(<area>) |
New capability |
fix(<area>) |
Defect repair |
docs |
Documentation |
build(<area>) |
Build system |
chore |
Maintenance |
Commit messages describe changes. Documentation describes current behavior.
Device records and source ownership
Main-repository submodules provide shared components. Device repositories own
board driver submodules. The catalog supports discovery and selection. Official
devices maintain porting.toml for maintainers and agents; the site renders the
revision pinned in devices.toml. Code changes update the corresponding findings
or evidence. See the record guide.