Create and boot a QNX target
target_createBuild a new QNX OS 8.0 QEMU image in an isolated directory, boot it headless, and wait for root SSH access so you can create a ready-to-use QNX test target.
Instructions
Build a new QNX OS 8.0 QEMU image with mkqnximage in its own directory and boot it headless (KVM when available), then wait until root SSH works. Takes 20 s to 3 minutes. Fails with target_exists if the name is taken; a failed build or boot is cleaned up (QEMU stopped, directory removed, mkqnximage log kept). The SSH host keys mkqnximage generates are pinned. Extra mkqnximage options are restricted to: --aslr, --boot-size, --data-inodes, --data-size, --hostname, --perl, --python, --secpol, --secure-procfs, --sys-inodes, --sys-size, --time-servers, --tz, --valgrind (form --opt=value). The image runs dumper with sequential core names (unless --secpol is set), so crashing programs leave distinct core files.
Tool call template
Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.
{
"id": 1,
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"arguments": {
"name": "<name>"
},
"name": "target_create"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| ram | No | Guest RAM, e.g. 1G or 2048M | 1G |
| arch | No | Target CPU architecture | x86_64 |
| cpus | No | Guest CPUs (1-4) | |
| name | Yes | Target name such as 'tb' (lowercase letters, digits, '-', '_'); must be inside the server allowlist | |
| options | No | Extra mkqnximage options, e.g. ['--hostname=dev1', '--data-size=512'] | |
| boot_timeout_s | No | Seconds to wait for SSH after boot |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||