使用 U-Boot 的 OpenFlow 交换机

使用 U-Boot 的 OpenFlow 交换机

我有一个棘手的问题,想知道是否有人可以解决它。

我这里有一个使用 u-boot 作为引导加载程序的 openflow 交换机。它有一个运行交换机软件的主 Linux 系统。然后它还有另一个备份系统,用于升级主系统,因此您无需干扰正在运行的系统。

通常的升级过程是重命名 /boot/uImage,这样 u-boot 就找不到它了,也不会自动启动。现在,您使用 u-boot 手动启动到备份系统,它位于 /dev/sda2 上。现在,您挂载主系统所在的 /dev/sda1。您删除 /dev/sda1 上的所有内容,提取新的系统映像并将其提取到 /dev/sda1。这包括一个新的 /boot/uImage,因此一旦您重新启动,它就会自动启动到新系统。

我的问题是,在这一切过程中出现了问题。我猜是在解压新图像时出现了一些文件损坏。

现在 u-boot 启动了新映像,但该映像并未完全启动。主要缺少的是通过串行、ssh 和 telnet 连接时的 shell,因此无法向 Linux 系统发出命令。

另外 u-boot 的启动延迟为 0,这意味着我无法中止自动启动。

我尝试在启动期间按住 CTRL-C、CTRL-B 或 CTRL-U(按照 Google 告诉我的方式),但它们都没有中止自动启动。

您是否还有其他想法我可以尝试停止自动启动?

我已经打开了,存储直接在板上,没有办法断开存储。

答案1

解决方案相当愚蠢和简单,但谷歌没有告诉我。我所需要做的就是在启动时按下(不要按住)CTRL-C,然后快速按下 CTRL-U。可能只是那一块板,但它在这里有效。

相关内容