Grub 和 USB 串行支持

Grub 和 USB 串行支持

如何使用 USB 串行转换器访问 grub 菜单?

我知道串行控制台中可以有 grub 菜单,将这些行放入 grub.conf 中:

serial --unit=0 --speed=9600 --word=8 --parity=no --stop=1
terminal serial

但是用USB串口转换器呢?在 Linux 中是这样/dev/ttyUSB0,我可以用它来查看启动消息。

答案1

我自己没有尝试过,但我在 coreboot wiki 上找到了此信息(https://www.coreboot.org/GRUB2#On_a_USB_serial_or_USB_debug_adapter

要启用串口,首先找出你的USB串口槽的名称:

insmod nativedisk # needed not to get the disk disapearing when insmoding the *hci
insmod ehci
insmod ohci
insmod uhci
insmod usb
insmod usbserial_pl2303
insmod usbserial_ftdi
insmod usbserial_usbdebug
terminal_output

Terminal_output 命令应该打印它:

grub> terminal_output 
Active output terminals:
serial_usb1 gfxterm 
Available output terminals:
console vga_text serial 
Here we can see "serial_usb1" so we now know that its name is usb1

然后在 grub.cfg 上添加以下内容:

insmod nativedisk
insmod ehci
insmod ohci
insmod uhci
insmod usb
insmod usbserial_pl2303
insmod usbserial_ftdi
insmod usbserial_usbdebug
serial --speed=115200 --word=8 --parity=no --stop=1 usb1
terminal_output --append serial_usb1
terminal_input --append serial_usb1

支持以下芯片/协议:

usbdebug
ftdi
pl2303

维基百科已经过时了,但答案似乎是合法的。

答案2

我想串行输出只有在串行端口的默认地址有东西的情况下才有效。当内核开始输出时,它并不知道USB是什么。 USB 转串口转换器可以做到这一点:对于其他设备来说它看起来像串行端口,但对于系统本身来说就像 USB。相反,您也需要它:对于本地系统来说,它必须看起来像一个串行端口,无论它对于其他设备来说是什么样子。

相关内容