Install ConsolePi¶
The ConsolePi installer is a one-line command that pulls the installer script from GitHub and runs it. It supports both interactive and silent modes.
For a lab / homelab setup with sensible defaults, silent mode is much faster and easier to reproduce.
Upstream source
The installer script is fetched directly from the
Pack3tL0ss/ConsolePi
repository on GitHub — that's the canonical upstream project by
Wade Wells. If you're curious what the installer does before
running it (recommended for any curl-into-bash install), the source
is at
installer/install.sh.
The working silent-install command¶
Run this as the pi user (the installer will prompt for sudo internally):
wget -q https://raw.githubusercontent.com/Pack3tL0ss/ConsolePi/master/installer/install.sh -O /tmp/ConsolePi
sudo bash /tmp/ConsolePi \
--silent \
-p 'YourPassword' \
--us \
--tz America/New_York \
-L \
-6
Flag by flag:
| Flag | Meaning |
|---|---|
--silent |
No interactive prompts; use defaults + explicit flags for everything |
-p 'YourPassword' |
Password for the new consolepi user that gets created. Single-quote it. |
--us |
Set locale, WLAN regulatory domain, and keyboard to US. Use --locale <cc> if you want something else. |
--tz America/New_York |
Set the system timezone. Use your own tz. |
-L |
Auto-launch consolepi-menu on consolepi user login. Nice UX for SSH-in-and-pick-a-port. |
-6 |
Disable IPv6. Simplifies things for a LAN-only device. Skip if you need IPv6. |
Full list: sudo bash /tmp/ConsolePi --help (after downloading it).
What the installer does (~8 minutes on a Pi 3B+)¶
The install runs in three internal phases:
- Prep phase — clones the ConsolePi repo, installs system deps
(
ser2net,python3-*,nginx,openvpn,dnsmasq,hostapd,avahi-utils, and about 50 more packages). - Config phase — normally interactive, but silent mode drives it from your flags.
- Deploy phase — sets up the ConsolePi services, systemd units, ser2net config, udev rules, mDNS advertisement, cleanup timer.
Total time on a Pi 3B+ with a decent SD card: about 8 minutes. Longer on a slower Pi or slower internet.
What gets installed¶
Services (systemd):
ser2net— presents attached serial adapters as telnet ports 9000-9007 (ttyACM0-ttyACM7) and 8001-8008 (ttyUSB0-ttyUSB7)consolepi-api— REST API on:5000for programmatic controlconsolepi-mdnsreg— advertises this ConsolePi over mDNSconsolepi-mdnsbrowse— discovers other ConsolePis on the LANconsolepi-cleanup— periodic housekeeping timer
User account:
consolepi— new local user, member ofdialout,consolepi,sudo. Password is whatever you set with-p. Home directory is/home/consolepi/. On SSH login, auto-launchesconsolepi-menuif you used-L.
Command shortcuts (available on $PATH for the consolepi user via
/etc/profile.d/consolepi.sh):
consolepi-menu— interactive session pickerconsolepi-addconsole— add / rename serial adapter aliasesconsolepi-details— show attached adapters + their statusconsolepi-showaliases— list current adapter aliasesconsolepi-help— full command referenceconsolepi-upgrade— update the ConsolePi installationconsolepi-status— service health- 25+ others, see
consolepi-help
A watchable install (if you'd rather monitor)¶
Run the installer in a screen or tmux session so you can detach and
reattach:
sudo apt install -y screen
screen -S consolepi-install
# Then run the wget + install command inside screen
# Ctrl-A then D to detach; `screen -r consolepi-install` to reattach
Or just background it and tail the log:
nohup sudo bash /tmp/ConsolePi --silent -p 'YourPassword' --us \
--tz America/New_York -L -6 > /tmp/consolepi-install.log 2>&1 &
tail -f /tmp/consolepi-install.log
What "success" looks like¶
The installer prints a lot; watch for the final banner near the end:
You may see:
The most common single warning is:
That's benign if you're not using Bluetooth serial. Ignore.
Reboot¶
The installer says a reboot is required; take it:
Wait ~40 seconds for it to come back, then SSH in again.
Next¶
Head to Verify Install to confirm everything came up cleanly.