native: bash + SHELL + jq + file for onboard Claude CLI master
On the G7 user reports Claude Code CLI complains "SHELL env var isn't set" and some Bash-tool commands don't run. Init has HOME+PATH but no SHELL; busybox's sh applet lacks bashisms (arrays, process subs, \$'…' escapes) that CLI internals and user commands rely on. init: export SHELL=/bin/sh, TERM=xterm-256color, COLORTERM=truecolor, EDITOR=/bin/vi so tty-based tools like Claude's repl get reasonable color + editor behavior. docker-build.sh: - Bundle real GNU bash (from the builder image) + its shared-lib deps at /bin/bash. Claude's Bash tool `bash -c "…"` now hits actual bash, not busybox-pretending-to-be-sh. - Additional busybox applets: pwd tty logger clear reset man less more tac nl fold cmp hexdump md5sum sha256sum sha512sum base64 nslookup ping traceroute pgrep pkill timeout stty sysctl free uptime uname usleep unzip zcat — common CLI ergonomics. - Bundle jq, file, strace if present — common debug tools. jq is critical for any JSON poking from the shell. Dockerfile.builder: explicit bash + file installs so the above always have a source in the builder image (they would mostly be there anyway but the list is now self-documenting). Audio: still investigating. G7 now reports 3 sdmode toggles (was 10,686) confirming the 10ms/40ms SOF buffer fix works. hw:0,0 correctly opens "Speakers" per /proc/asound. Remaining gap is apparently in the DSP → I2S → amp path at the signal level, not the ALSA/kernel/GPIO layers — testable via the speaker.mjs piece now that ac-native boots cleanly. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>