从 Micro SD 启动后与 Beaglebone Black 的终端连接
Terminal connection to Beaglebone Black after Booting from Micro SD
我刚刚开始使用微型 SD 卡启动 BBB。我按照以下说明将 BeagleBone Black Debian Wheezy 7.0.0 映像加载到微型 SD 卡上:
http://elinux.org/Beagleboard:Debian_On_BeagleBone_Black
直到现在我一直在从 BBB 上的闪存启动并使用迷你 USB 到 USB 电缆以及使用 FTDI 电缆的 USB 到 TTL 串行。在这两种情况下,我都可以用开发板打开一个终端 session。
我的问题是:从微型 SD 卡启动时,我还可以使用两个串行连接之一打开终端 session。
当我按照启动说明进行操作时,电路板确实启动了(如 LED 所示),但终端仍未连接。
网站上有一条说明:
"Also make sure you have a keyboard, mouse, display, and Ethernet connected" 我在想,当 BBB 从 SD 卡启动时,映像未配置为通过 USB 连接打开终端 session,只能通过以太网连接。
感谢您的见解。
谢谢
吉姆
我没有使用 BBB 甚至 Debian 的具体经验,但这里有一些信息可能会有所帮助。
首先,为了使用串行控制台,必须在启用该选项的情况下编译内核。通过快速 google 搜索,我猜测 Debian 内核确实启用了串行控制台支持,所以希望这方面应该没问题。
下一个方面是需要告诉内核应该将哪个串行端口用作控制台。这是用 'console' 内核命令行参数指定的,看起来像这样:
console=ttyS0,115200
内核从引导加载程序获取其命令行参数。据我所知,Beaglebone 使用 UBoot,并配置为从一个名为 uEnv.txt
的文件中读取它们,该文件应与内核一起放在引导分区中。此文件应包含一行文本
optargs= console=ttyS0,115200
如果该文件已经存在,只需将 'console=...' 添加到任何现有参数。
完成此操作后,Linux 应将串行端口视为控制台,以逗号后显示的波特率进行配置。当内核启动时,您应该开始看到内核输出,但您仍然可能无法使用串行端口登录。为此,您需要在文件 /etc/inittab
中添加一行,告诉系统启动一个名为 getty
的程序到串口,它允许您登录。
因此,编辑 /etc/inittab
并添加如下一行:
s0:2345:respawn:/sbin/getty -L 115200 ttyS0 vt102
不用说,如果您甚至无法登录机器,编辑这些文件可能会带来一些挑战。您可能必须将 SD 卡安装到另一个 linux 系统上,以便您可以修改所需的文件。
希望在执行此操作并以新配置启动系统后,您将能够通过串行端口登录。
一些参考资料:
我刚刚开始使用微型 SD 卡启动 BBB。我按照以下说明将 BeagleBone Black Debian Wheezy 7.0.0 映像加载到微型 SD 卡上: http://elinux.org/Beagleboard:Debian_On_BeagleBone_Black
直到现在我一直在从 BBB 上的闪存启动并使用迷你 USB 到 USB 电缆以及使用 FTDI 电缆的 USB 到 TTL 串行。在这两种情况下,我都可以用开发板打开一个终端 session。 我的问题是:从微型 SD 卡启动时,我还可以使用两个串行连接之一打开终端 session。
当我按照启动说明进行操作时,电路板确实启动了(如 LED 所示),但终端仍未连接。
网站上有一条说明: "Also make sure you have a keyboard, mouse, display, and Ethernet connected" 我在想,当 BBB 从 SD 卡启动时,映像未配置为通过 USB 连接打开终端 session,只能通过以太网连接。 感谢您的见解。 谢谢 吉姆
我没有使用 BBB 甚至 Debian 的具体经验,但这里有一些信息可能会有所帮助。
首先,为了使用串行控制台,必须在启用该选项的情况下编译内核。通过快速 google 搜索,我猜测 Debian 内核确实启用了串行控制台支持,所以希望这方面应该没问题。
下一个方面是需要告诉内核应该将哪个串行端口用作控制台。这是用 'console' 内核命令行参数指定的,看起来像这样:
console=ttyS0,115200
内核从引导加载程序获取其命令行参数。据我所知,Beaglebone 使用 UBoot,并配置为从一个名为 uEnv.txt
的文件中读取它们,该文件应与内核一起放在引导分区中。此文件应包含一行文本
optargs= console=ttyS0,115200
如果该文件已经存在,只需将 'console=...' 添加到任何现有参数。
完成此操作后,Linux 应将串行端口视为控制台,以逗号后显示的波特率进行配置。当内核启动时,您应该开始看到内核输出,但您仍然可能无法使用串行端口登录。为此,您需要在文件 /etc/inittab
中添加一行,告诉系统启动一个名为 getty
的程序到串口,它允许您登录。
因此,编辑 /etc/inittab
并添加如下一行:
s0:2345:respawn:/sbin/getty -L 115200 ttyS0 vt102
不用说,如果您甚至无法登录机器,编辑这些文件可能会带来一些挑战。您可能必须将 SD 卡安装到另一个 linux 系统上,以便您可以修改所需的文件。
希望在执行此操作并以新配置启动系统后,您将能够通过串行端口登录。
一些参考资料: