# Linux reference environment and tool checks

The course reference is **CentOS Stream 10**. Perform exercises as an ordinary user in a disposable home-directory workspace. Administrative commands in the lessons are explanatory unless an approved lab explicitly says otherwise.

## Verify the environment

```bash
cat /etc/os-release
uname -r
printf 'shell=%s\n' "$SHELL"
command -v bash
bash --version
```

Record the output and date. If your distribution differs, note it because package names and installed tools may also differ. Do not change a shared machine merely to match an example.

## Verify optional engineering tools

Check only tools required by the exercise. `command -v` prints an executable path or returns a nonzero status. When a tool exists, run its documented version command. Typical tools include `iverilog`, `verilator`, `yosys`, `gtkwave`, `python3`, `shellcheck`, `make`, `cmake`, and `ninja`. A missing tool is a reportable result; do not fetch an unapproved binary.

For Python work, use a virtual environment inside your workspace and record package versions. Exercises must state their tested tool versions and installation requirements. Do not modify the system Python installation or download proprietary tools or design data for practice.

## Evidence checklist

For each tool run, retain the source revision, exact command, working directory, environment variables relevant to the tool, tool version, exit status, stdout, stderr, generated files and SHA-256 checksums. Remove secrets, private hostnames and personal data before sharing evidence.
