系统设置

打开 esp32-config 的 System,可修改主机名、登录密码、时间和开机程序。 以下命令均在开发板上以 root 身份运行。

主机名和登录密码

选择 Hostname,输入名称,再选择 Save and apply。 主机名立即生效,并在启动时恢复。也可以使用命令行:

esp32-config system hostname my-s31

选择 Change login password 可设置 root 账户的密码。 菜单会打开系统密码提示,要求输入两遍新密码。 修改后,开发板的登录服务使用新密码。对应命令为:

esp32-config system password

日期和时间

选择 Date and time → Time zone and automatic time。 选择已安装的时区,例如 America/Los_Angeles 或 Asia/Shanghai, 再选择是否使用网络时间服务器。系统会自动应用该时区的夏令时规则。 镜像按 configs/esp32-config-timezones.list 安装九个选定时区,并不包含完整时区库; 可用名称列在 /usr/share/esp32-config/timezones 中。

例如,选择洛杉矶时间并启用网络校时:

esp32-config system time configure America/Los_Angeles 1 pool.ntp.org
esp32-config system time status

参数分别为 ZONE、AUTOMATIC(0 或 1)和 SERVER。 默认时区是 Etc/UTC,自动校时初始为关闭。保存的设置会在启动时恢复。 自动校时需要可用的网络连接。

立即请求一次校时:

esp32-config system time sync

此操作最多等待 30 秒,并报告校时是否完成。启用时间服务本身不代表时钟已经同步。

离线使用时,选择 Set date and time manually,或运行:

esp32-config system time set '2026-09-26 12:00:00'

将示例替换为所选时区的当前本地时间。手动设置会关闭自动校时, 并修改运行中的时钟;断电后需要重新设置时间或启用网络校时。 保存的时区设置会保留。

开机运行程序

将可执行文件或可执行的 shell 脚本放到持久存储中。 例如,为已有脚本添加执行权限:

chmod +x /root/start-player.sh

选择 Startup program → Program and arguments,输入绝对路径, 再将每个参数各写在一行。参数按原样传递;管道、重定向和其他 shell 命令应写在脚本内。 选择 Run at startup → Enabled,让程序随 Linux 启动。

对应命令为:

esp32-config system autostart configure /root/start-player.sh
esp32-config system autostart enable
esp32-config system autostart start
esp32-config system autostart status

需要参数时,将它们放在 configure 后,按正常 shell 规则使用引号:

esp32-config system autostart configure /root/start-player.sh --volume 50

修改程序或开机开关不会重启正在运行的程序。 需要立即使用新设置时,先选择 Stop program,再选择 Start saved program。 即使没有启用开机运行,也可以单独启动一次已保存的程序。 关闭开机运行会保留当前实例;以下命令分别取消开机运行并停止当前程序:

esp32-config system autostart disable
esp32-config system autostart stop

程序以 root 身份运行,不接收控制台输入。 请让程序保持在前台运行,以便启动器跟踪退出状态并停止它。 每次启动只运行一次,退出后不会自动重启。 放在可移动存储上的应用需要对应存储卷先完成挂载。

页面显示当前运行状态和上次退出状态。也可以运行 esp32-config system autostart status 查看结果。 上次运行结果是临时数据,重启后清除;程序选择和参数会保留。

启动器会丢弃标准输出和标准错误。应用需要日志时,可在脚本中将输出写入合适的文件, 并限制日志大小。配置的备份方法见配置。