Embedded Linux
Documentation

Version Latest

The board's system and boot time

A board's CPU, memory, processes, systemd units, mounts, network, kernel modules and kernel log read over SSH with read-only commands, confirmed unit, signal and module actions, boot time from systemd-analyze and initcalls, and snapshot exports.

Each board in the Targets view has a System group, read over SSH with read-only commands (a POSIX shell and BusyBox applets). It replaces the remote system views of the vendor IDEs.

State: modelled on a QEMU arm64 board (Linux 6.8.0, BusyBox 1.36.1 init, Dropbear 2022.83, a loadable module, initcall_debug): processes, modules, interfaces, kernel log levels, 283 initcalls and probes, following /dev/kmsg, a signal refused for a reused PID then sent, modprobe -r; on systemd 255 as PID 1 of a container behind OpenSSH 9.6p1: units, journal, systemd-analyze time, blame, critical-chain and plot, restart, stop and start; on a BusyBox stand-in: what the image lacks reported; the running app. Not run on a real board (such as the i.MX 8M Plus) or a real boot with firmware and loader phases, with thermal zones, on Windows, with util-linux dmesg -w, through sudo -n, with bootchart files, or on Wind River Linux images.

The System group

Expanding System reads:

  • CPU use per CPU and the load average, cpufreq and thermal zones;
  • memory from /proc/meminfo, with CMA;
  • processes and threads with RSS and PSS from smaps_rollup;
  • Services: systemd units with state, file state, main PID and result, failed units first (init scripts on images without systemd);
  • mounts and storage, network interfaces with addresses and counters, kernel modules;
  • Kernel Log with counts per level.

What the image lacks (no systemd, no ip, no module support) is said in the group. Refresh Target System reads it again; Set Target System Refresh Interval... reads it every 2 to 60 seconds while the group is open and the view shown (neuralInverse.embeddedLinux.targetSystemRefreshSeconds; 0 reads only on request). Each read is one SSH session.

Units, processes and modules

These change the board, and each asks first with the board and the exact command:

  • Start Unit on Target..., Stop Unit on Target..., Restart Unit on Target... run systemctl;
  • Send Signal to Process on Target..., Terminate Process (SIGTERM)... and Kill Process (SIGKILL)... signal only the process that was read (a reused PID is refused);
  • Remove Kernel Module on Target... runs modprobe -r.

Show Unit Journal on Target... opens a unit's journal as a document. Open Kernel Log of Target opens the kernel log; Follow Kernel Log of Target keeps it updating until Stop Following Kernel Log of Target.

Boot time

Open Boot Time of Target opens the boot time editor:

  • systemd-analyze time with its phases (firmware and loader when systemd reports them), Critical Chain and Slowest Units (blame), and Show Plot for systemd-analyze plot;
  • on every image, the kernel's start of init and the slowest initcalls and probes, when the board booted with initcall_debug on the kernel command line (the editor says how to add it to U-Boot's bootargs);
  • bootchart files.

Export a snapshot

Export Target System Snapshot... writes the board's system as JSON or text, for comparing boots or releases.

Agent tools

Four read-only tools read the system, journals and boot time; units, signals and module removal are three tools that always ask first.

Next: Debug on the board.

Last reviewed 17 October 2026View as Markdown

The board's system and boot time · Docs · Neural Inverse