Requirements
- Target platform
- OpenClaw
- Install method
- Manual import
- Extraction
- Extract archive
- Prerequisites
- OpenClaw
- Primary doc
- SKILL.md
Build SONiC (Software for Open Networking in the Cloud) switch images from sonic-buildimage. Use when building VS/ASIC images, configuring build parallelism/...
Build SONiC (Software for Open Networking in the Cloud) switch images from sonic-buildimage. Use when building VS/ASIC images, configuring build parallelism/...
Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.
I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Tell me what you changed and call out any manual steps you could not complete.
I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Summarize what changed and any follow-up checks I should run.
cd sonic-buildimage make init make configure PLATFORM=vs # or broadcom, mellanox, etc. make SONIC_BUILD_JOBS=4 target/sonic-vs.img.gz For dev builds (skip tests): add BUILD_SKIP_TEST=y.
Two-phase build via GNU Make โ slave.mk โ sonic-slave Docker container: Bookworm phase โ compile all packages (debs, python wheels, Docker images) into target/debs/bookworm/ Trixie phase โ assemble final image from phase 1 packages into target/debs/trixie/ Makefile invokes Makefile.work with different BLDENV per phase. The configure target creates per-distro directories.
All knobs in rules/config. Override in rules/config.user (gitignored, persists across rebases).
KnobDefaultRecommendedEffectSONIC_CONFIG_BUILD_JOBS14Parallel top-level package buildsSONIC_CONFIG_MAKE_JOBS$(nproc)defaultCompiler threads per packageBUILD_SKIP_TESTny (dev)Skip unit testsSONIC_BUILD_MEMORYunset24gDocker --memory โ contains OOM in containerSONIC_DPKG_CACHE_METHODnonerwcacheCache .deb packages for incremental buildsDEFAULT_BUILD_LOG_TIMESTAMPnonesimpleTimestamps in build logsSONIC_CONFIG_USE_NATIVE_DOCKERD_FOR_BUILDunsetyHost Docker daemon instead of DinD
SONIC_CONFIG_BUILD_JOBS = 4 BUILD_SKIP_TEST = y SONIC_BUILD_MEMORY = 24g DEFAULT_BUILD_LOG_TIMESTAMP = simple
Rule of thumb: JOBS ร 6GB โค available RAM. JOBS=1: ~3h VS build, ~10GB RAM JOBS=4: significant speedup, ~20GB RAM JOBS=8: OOM risk on <48GB RAM Why JOBS=1 is slow: 64/194 packages depend on libswsscommon (critical path bottleneck). JOBS=1 leaves most cores idle.
Without limits, parallel builds can trigger the kernel OOM killer on any host process. # Container-scoped OOM (host stays healthy): SONIC_BUILD_MEMORY = 24g # Or via CLI: make SONIC_BUILDER_EXTRA_CMDLINE="--memory=24g" ...
SONIC_DPKG_CACHE_METHOD = rwcache SONIC_DPKG_CACHE_SOURCE = /var/cache/sonic/artifacts
SONIC_VERSION_CACHE_METHOD = cache
make target/debs/bookworm/sonic-utilities_1.2-1_all.deb make target/docker-syncd-vs.gz ls target/debs/bookworm/ | grep <name>
When to clean: after branch switch, rebase, or unexplained failures. rm -rf target/* # always full clean, not selective make configure PLATFORM=vs make SONIC_BUILD_JOBS=4 target/sonic-vs.img.gz Stale artifacts (.bin, squashfs) confuse make into skipping phases.
make init # after clone or pull git submodule update --init --force src/<module> # fix corrupted submodule SSH clone is more reliable than HTTPS (HTTPS can give HTTP 500).
For detailed troubleshooting, see references/troubleshooting.md.
See references/prerequisites.md for host setup (Docker, Python, jinjanator).
See references/vs-platform.md for VS-specific details (TAP devices, port mapping, sai.profile, oper speed).
Single commit per PR (squash before push) git commit -s for DCO sign-off Rebase to latest master before force-push Add tests โ run BUILD_SKIP_TEST=n at least once Monitor CI after push
Code helpers, APIs, CLIs, browser automation, testing, and developer operations.
Largest current source with strong distribution and engagement signals.