scorpiox-initContainer

Linux x64 Linux ARM64
scorpiox-init is the selective tool loader for the ScorpioX Code toolchain. It bootstraps the runtime environment, discovers available binaries, and loads only the tools required for the current session. Running as PID 1 inside ScorpioX containers, it initialises namespaces, mounts the tool filesystem, and hands off execution to the requested command — keeping startup fast and the footprint minimal.

Flags & Options

Flag Short Description Takes Value
--help -h Show help message and exit Yes
--verbose -v Enable debug logging output Yes
--version Print version information No

Usage Examples

Basic — show version and help
# Print version
$ scorpiox-init --version
scorpiox-init 1.0.0

# Show help
$ scorpiox-init --help
Run as container init — PID 1 inside a ScorpioX container
# scorpiox-init is typically invoked as the entrypoint of a container.
# It discovers tools on the mounted filesystem and execs into the target command.
$ scorpiox-unshare -- scorpiox-init /bin/sh
scorpiox-init: loading tools from /usr/local/scorpiox/bin
scorpiox-init: 36 tools available
scorpiox-init: exec /bin/sh
Verbose mode — debug tool discovery
# Use --verbose to trace namespace setup and tool loading
$ scorpiox-init --verbose -- scorpiox-bash
scorpiox-init: [debug] setting up mount namespace
scorpiox-init: [debug] bind-mounting /opt/scorpiox/tools → /usr/local/bin
scorpiox-init: [debug] scanning /usr/local/bin for scorpiox-* binaries
scorpiox-init: [debug] found: scorpiox-bash scorpiox-search scorpiox-edit ...
scorpiox-init: [debug] loading 12 requested tools
scorpiox-init: [debug] exec scorpiox-bash
$ 
Use inside Podman with selective tool loading
# Run a ScorpioX container with scorpiox-init as the init process
$ podman run --init-binary=/usr/bin/scorpiox-init \
    scorpiox/code:latest scorpiox-search "hello world"
scorpiox-init: loading tools from /usr/local/scorpiox/bin
scorpiox-init: exec scorpiox-search "hello world"
[search results appear here]
Minimal rootless container session
# Combine with scorpiox-unshare for a fully rootless dev environment
$ scorpiox-unshare --map-root-user -- scorpiox-init -v -- sx chat "explain this code"
scorpiox-init: [debug] mapped uid 1000 → 0 in user namespace
scorpiox-init: [debug] scanning tools...
scorpiox-init: [debug] exec sx chat "explain this code"
[AI response appears here]

Source & Build Info

Source File
scorpiox/scorpiox-init.c
Lines of Code
576
Dependencies
None — zero external dependencies

Related Tools