ChrisOS Research Project Technical systems documentation

Source reference: scripts/check-dev-env.sh

In this chapter

Deterministic source record. The complete textual file is reproduced below; this page does not replace architectural interpretation in the authored chapters.

File identity

Field Value
Path scripts/check-dev-env.sh
Lines 50
Bytes 1135
SHA-256 2b9799318179780838da8afc3f6260c421ce233835c80739371027141561c8ea
ChrisOS revision 92fb561574bd929522ea005b9fd433138bea3236

Detected syntactic dependencies

Line Include
— No preprocessor include detected.

Detected symbols

Line Symbol
— No C-like function definition detected by the scanner.

Complete source

The following block is the complete textual file at the recorded revision. No lines are elided, abbreviated or paraphrased.

#!/usr/bin/env sh
set -eu

required="git make gcc ld nasm xorriso qemu-system-x86_64 python3"
optional="qemu-system-riscv64 clang ld.lld sdl2-config"
missing=0

echo "ChrisOS development environment"
echo "==============================="
echo
echo "Required tools:"
for cmd in $required; do
  if command -v "$cmd" >/dev/null 2>&1; then
    printf "  [ok]      %s\n" "$cmd"
  else
    printf "  [missing] %s\n" "$cmd"
    missing=1
  fi
done

echo
echo "Optional capabilities:"
for cmd in $optional; do
  if command -v "$cmd" >/dev/null 2>&1; then
    printf "  [ok]       %s\n" "$cmd"
  else
    printf "  [optional] %s\n" "$cmd"
  fi
done

echo
if [ -e /dev/kvm ]; then
  if [ -r /dev/kvm ] && [ -w /dev/kvm ]; then
    echo "  [ok]      /dev/kvm is readable/writable (interactive make run can use KVM)"
  else
    echo "  [warning] /dev/kvm exists but is not accessible to this user"
  fi
else
  echo "  [optional] /dev/kvm not found (TCG-based QEMU gates still work)"
fi

if [ "$missing" -ne 0 ]; then
  echo
  echo "One or more required tools are missing."
  exit 1
fi

echo
echo "Core ChrisOS build prerequisites are available."

Role of this record

The atlas guarantees file-by-file traceability. Responsibility, invariants, ownership, concurrency, security, performance and subsystem interactions belong in authored chapters and must cite this file when applicable.

Document record
ID: source-2b97993181797808 Reviewed source: 92fb561574bd Class: generated-source-reference