Files
UniXNU/examples/device/README.md
T

2.5 KiB

Device template

This template selects shared SM8550 and iPadOS 17.7.11 support. Complete the hardware inputs before building.

  1. Copy this directory to UniXNU-<device> and read AGENTS.md.
  2. Set the board name, description, firmware paths, and complete component selection. Add the shared UniXNURamDiskDxe and filesystem dependencies to the firmware DSC and FDF using the firmware integration guide.
  3. Pin a reviewed SoC commit in feeds.toml.
  4. Fill the DTS model, compatible values, memory map, CPU selection, and peripherals.
  5. List firmware sources and hashes in proprietary-files.txt.
  6. Set partition geometry and payload inputs from the device's records.
  7. Complete each area in porting.toml, including ownership paths, findings and completion criteria.
  8. Enable the template CI workflow and require its Porting record check on the official device branch.
  9. Set example = false, select the defconfig, fetch, and inspect status --json.

The zero memory range and REQUIRED_ values identify inputs to complete. patches/xnu/series lists board patches in application order. package/ contains board packaging. Shared resources come from the selected SoC and component sources.

porting.toml is the shared maintainer and agent record. The site renders it from the device commit pinned in UniXNU's devices.toml. Publish that pin with the English and Chinese device pages. Put board driver submodules in this device repository. See the record guide and UFS guide.

python3 scripts/porting-record.py check --device ../UniXNU-example

Run this command from UniXNU.

Local builds and boot diagnosis

Copy unixnu.example.toml to unixnu.local.toml in the main checkout and fill in device inputs using the configuration reference. Read boot arguments before changing the command line. Rebuild the payload and boot image after argument changes. Use the green-bar diagnosis for stalls at loader handoff. Record the last confirmed stage and relevant logs.