我将一个新脚本放入 /etc/init.d 中,并使用 update-rc.d 将其安装到其他 rc#.d 子目录中。不幸的是我犯了两个愚蠢的错误:
- 该脚本运行一个长时间运行的命令(netcat),但我忘记在
&
它后面加上 - 该脚本在启动顺序的早期安装(S10)。
现在我无法 ssh 输入。我认为问题是我的脚本阻止了启动(因为我忘记了&
),因此启动 sshd 的 rc 脚本永远不会运行。
但我陷入困境,因为 ssh 通常是我登录该板的唯一方法。我尝试过连接 USB 键盘和 HDMI 显示器,但显示器上没有显示任何内容,也无法登录。我认为该板可能已配置为甚至不尝试驱动显示器。
有人有什么建议吗?我能想到的选项有:
- 重新映像电路板。 (我不想这样做。)
- 使用 FTDI 串行电缆。 (我没有那根电缆,但我从 Digi-Key 订购了一根。)
- 将板作为 USB 文件系统安装在另一台计算机上,并从 /etc/rcS.d/ 中删除有问题的符号链接。 (这似乎不起作用;我怀疑该板未配置 OTG。)
- 让开发板启动到单用户模式,绕过像我这样的 rc 脚本。 (不过,完全不知道如何做到这一点。)
有人还有其他建议吗?有人知道即使启动尚未完成,通过 FTDI 登录是否可能有效?
答案1
回答我自己的问题:是的,FTDI 串行电缆可以工作,可以访问引导加载程序和(可能)单用户模式等内容。
(就我而言,仅连接 FTDI 电缆不足以修复我的错误 rc 脚本,因为我的错误 rc 脚本太糟糕了,甚至在进入单用户模式的路径上也运行,所以它让我无法幸运的是,我能够查看并销毁有问题的文件。从 u-boot 本身,这解决了问题,现在系统再次启动。我永远不会再犯这个错误。)
答案2
如果您等不及选项 2,请选择选项 1