You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何配置BeagleBone Black(BBB)通电后保持关机状态

如何配置BeagleBone Black(BBB)通电后保持关机状态,等待按键开机

嘿,这个需求我之前帮不少朋友解决过,完全可以实现!BBB默认通电就自动启动,但我们可以通过调整u-boot的启动逻辑,让它通电后进入待机状态,只有当你按下电源按键时才启动系统。下面是具体的操作步骤:

步骤1:进入u-boot命令行

BBB启动时会有几秒的倒计时(默认3秒),你需要在这个时间段内进入u-boot的交互模式:

  • 如果有串口连接BBB的调试串口(UART0),在启动倒计时期间按任意键即可进入u-boot shell。
  • 如果没有串口,开机时按住板载的用户按键(S2),直到看到启动停止并进入命令行界面。

步骤2:修改u-boot环境变量

进入u-boot后,我们需要设置自定义启动命令,让系统检测电源按键状态后再决定是否启动:

  1. 先查看当前的bootcmd变量(这是u-boot默认的启动命令),输入:

    printenv bootcmd
    

    你会看到类似run mmcboot的输出,这是默认从SD卡/eMMC启动的命令。

  2. 设置新的bootcmd变量,让它循环检测电源按键(对应GPIO30)的状态,只有当按键被按下时才执行启动命令:

    setenv bootcmd 'gpio input 30; if test $gpio_val -eq 0; then run mmcboot; else sleep 1; run bootcmd; fi'
    

    解释一下:BBB的电源按键连接到GPIO30,默认是高电平(值为1),按下后会被拉低(值为0)。上面的命令会持续检测GPIO30的状态,当检测到按键按下(值为0)时,就执行默认的mmcboot启动系统;否则每隔1秒重新检测一次,保持待机状态。

  3. 保存修改后的环境变量,确保重启后生效:

    saveenv
    

步骤3:验证功能

现在断开BBB的电源,重新接通,你会发现BBB不再自动启动了。按下板载的电源按键(PWR_BUTTON),系统就会正常启动;关机后再次通电,依然会保持关机状态,等待按键触发。

额外注意事项

  • 如果你的BBB使用的是较旧的u-boot版本,可能需要调整GPIO的编号或者检测逻辑,可以通过gpio list命令查看可用的GPIO引脚确认。
  • 确保系统中的电源按键功能正常,默认情况下BBB的电源按键已经配置为软关机和开机触发,不需要额外修改系统配置。

内容的提问来源于stack exchange,提问作者Jirka RCK

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.21 08:13:57