|
510 | 510 | Version compatibility |
511 | 511 | </a> |
512 | 512 |
|
513 | | -</li> |
514 | | - |
515 | | - <li class="md-nav__item"> |
516 | | - <a href="#switching-only-the-host-kmod-container-based-setups" class="md-nav__link"> |
517 | | - Switching only the host kmod (container-based setups) |
518 | | - </a> |
519 | | - |
520 | 513 | </li> |
521 | 514 |
|
522 | 515 | </ul> |
|
1286 | 1279 | Version compatibility |
1287 | 1280 | </a> |
1288 | 1281 |
|
1289 | | -</li> |
1290 | | - |
1291 | | - <li class="md-nav__item"> |
1292 | | - <a href="#switching-only-the-host-kmod-container-based-setups" class="md-nav__link"> |
1293 | | - Switching only the host kmod (container-based setups) |
1294 | | - </a> |
1295 | | - |
1296 | 1282 | </li> |
1297 | 1283 |
|
1298 | 1284 | </ul> |
@@ -1350,22 +1336,6 @@ <h2 id="version-compatibility">Version compatibility<a class="headerlink" href=" |
1350 | 1336 | <li><strong>Minor upgrades</strong> (e.g., 2.3.x → 2.4.0) — <code>agnocastlib</code> and <code>agnocast-kmod</code> must be upgraded together, as the kmod syscall API may have changed.</li> |
1351 | 1337 | <li><strong>Major upgrades</strong> — User-facing API may have breaking changes. Review the changelog before upgrading.</li> |
1352 | 1338 | </ul> |
1353 | | -<h2 id="switching-only-the-host-kmod-container-based-setups">Switching only the host kmod (container-based setups)<a class="headerlink" href="#switching-only-the-host-kmod-container-based-setups" title="Permanent link">#</a></h2> |
1354 | | -<p>When Agnocast workloads run inside a container, <code>agnocast-heaphook</code> is bundled with the container image and is swapped by rolling to a new container. In that setup, only the host-side <code>agnocast-kmod</code> needs to be replaced independently to keep the ioctl ABI in sync with the heaphook inside the container.</p> |
1355 | | -<p>The <a href="https://github.com/autowarefoundation/agnocast/blob/main/scripts/switch_kmod.bash"><code>switch_kmod.bash</code></a> script automates the host-side kmod swap:</p> |
1356 | | -<div class="highlight"><pre><span></span><code>sudo<span class="w"> </span>./scripts/switch_kmod.bash<span class="w"> </span><VERSION> |
1357 | | -<span class="c1"># e.g.</span> |
1358 | | -sudo<span class="w"> </span>./scripts/switch_kmod.bash<span class="w"> </span><span class="m">2</span>.4.0 |
1359 | | -</code></pre></div> |
1360 | | -<p>The script unloads the current module, purges every installed <code>agnocast-kmod-v*</code> package, cleans any leftover DKMS state, installs the target from apt, and verifies the new load via <code>dmesg</code>.</p> |
1361 | | -<div class="admonition warning"> |
1362 | | -<p class="admonition-title">Warning</p> |
1363 | | -<p>All Agnocast containers and ROS nodes must be stopped before running this script — the module cannot be unloaded while <code>/dev/agnocast</code> is held open.</p> |
1364 | | -</div> |
1365 | | -<div class="admonition warning"> |
1366 | | -<p class="admonition-title">Warning</p> |
1367 | | -<p>The kmod version on the host and the <code>libagnocast_heaphook.so</code> version inside the container must share the same ioctl ABI. Mismatched versions cause runtime errors. This script does not touch the container; it is the operator's responsibility to roll the container to a matching version.</p> |
1368 | | -</div> |
1369 | 1339 |
|
1370 | 1340 |
|
1371 | 1341 |
|
|
0 commit comments