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-analyzetime with its phases (firmware and loader when systemd reports them), Critical Chain and Slowest Units (blame), and Show Plot forsystemd-analyze plot;- on every image, the kernel's start of init and the slowest initcalls and probes, when the board booted with
initcall_debugon 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.