Dockerfile writing tips

WALT relies on the famous docker technology to pack its OS images. For some users, this underlying technology may remain unnoticed (e.g., when just using high level tools such as walt image shell). However, if you want to build a new image from scratch, or make the image build process more reproducible, working with a Dockerfile is the solution. This post proposes a few tips and best practices regarding the writing of Dockerfiles. ...

January 1, 2026 · 18 min

Auto-completion features

The walt command line tool provides handy auto-completion features (since WALT 8.0 for bash, and WALT 9.0 for zsh). This post describes how to set up auto-completion (if not working directly on the WALT server), presents some of its features, and provides a few insights of how it works. Setup (if needed) Bash and zsh auto-completion are automatically set up when you install or upgrade the WALT server. So if you use walt directly on the server (typically using your SSH account) there is no setup step needed. However, if you use the walt client tool on another machine, you will have to follow the few setup steps described in the documentation page for enabling the shell completion, and repeat these steps when you upgrade this walt client tool. ...

November 1, 2025 · 4 min

Python scripting

Historically, the walt command was the only way to interact with a WALT platform. So, to automate experiments, users had to resort to shell scripts. Since then, a handy python scripting feature was introduced with WALT 8.0. This post proposes a short overview of this feature. You can get more details by looking at the related documentation pages. Python setup If not already in a python virtual environment, we should initialize one and activate it: ...

October 1, 2025 · 5 min

WALT basics: virtual nodes

WALT is best known for working with Raspberry Pi boards. Early versions of the software proposed only this kind of node. Virtual nodes were then introduced in WALT 2.0, in April 2019. The main purpose at this time, for us, was to ease the setup of automated tests of the WALT software. But virtual nodes could also be used for experiments. Six years later, various features have been added to virtual nodes, making them even more handy and useful, as this post will recap. ...

September 1, 2025 · 9 min

Hybrid boot modes

The default boot mode of WALT nodes, network boot mode, was described in the previous post. Experience confirms that it is suitable for most experiments. The alternative boot mode we describe below can be used when this is not the case. Network boot mode: short reminder Let’s start with a short reminder about the default boot mode of WALT nodes, i.e., network boot mode. Refer to the previous post for more details. As of WALT version 10, the network boot mode can be described by the following figure: ...

July 1, 2025 · 7 min

Network boot mode

Unlike various other systems such as Mender or Kubernetes, WALT was designed from the ground-up for experimentation and testing, not for building production systems. In this context, the default boot mode of WALT nodes (i.e., network boot mode) has some interesting features. However, some of the consequences of this mode may surprise new users. Reproducibility at each reboot If you are used to WALT, you probably noticed the message displayed when using walt node shell: ...

June 1, 2025 · 8 min

Transparent CPU Emulation

WALT offers powerful tools to customize an OS image, as demonstrated in the previous blog post. Upon reflection, the curious user might wonder how the WALT server, which has a classical x86 CPU, can customize OS images that often target a different CPU architecture (e.g., an ARM CPU architecture for a Raspberry Pi image). How can a command such as walt image shell handle this scenario? Introduction Let us consider the command walt image shell specifically.1 ...

May 1, 2025 · 5 min

WALT basics: Customizing an OS

OS customization is a very easy task with WALT, and it is probably one of the most popular features. Users can very quickly adapt one or more OS images to their research experiment or industrial test, and then boot these custom OS images on nodes in a snap. Let’s start by a quick reminder. Behind the scene, WALT OS images are just docker-compatible container images. However: WALT only uses this container image format for packaging OS images. The deployment on nodes relies on Network Boot instead. Unlike a usual container image, a WALT image contains not only an application but the whole OS, including a Linux kernel and bootloader scripts. For more info, check out the blog post presenting the concept of Network bootable containers. ...

April 1, 2025 · 6 min

The Trackexec System

This post is a bit more developer-oriented than usual. It describes a powerful python source code tracing system recently introduced in WALT. You can get more details by looking at the new developer documentation we introduced with WALT 9.0, more precisely at this page. Purpose of Trackexec Since WALT 9.0, the server component now includes a powerful tracing system called Trackexec. It is useful for replaying a previous run of the python code, for post-mortem analysis, or for analyzing code paths. ...

March 1, 2025 · 6 min

Installing WALT: switches and nodes

The last post (January 2025) described how to install a WALT server machine. Right after installation, it was already usable for experiments with virtual nodes. Today we will connect real equipment (switches and Raspberry Pi nodes) to this platform. As usual, you can get more details in the documentation pages for switch and node installation. Connecting a network switch For this kind of mini-platform, we recommend Netgear GS110TP switches. They provide PoE (Power-over-Ethernet) and they allow remote management using SNMP, two optional but highly recommended features WALT can make use of. ...

February 1, 2025 · 9 min