Grub 和 USB 串行支持

Ale*_*ato 5 linux grub usb

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

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

serial --unit=0 --speed=9600 --word=8 --parity=no --stop=1
terminal serial
Run Code Online (Sandbox Code Playgroud)

但是用usb串口转换器?在 linux 中/dev/ttyUSB0,我可以使用它来查看启动消息。

小智 3

我自己没有尝试过,但我在 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
Run Code Online (Sandbox Code Playgroud)

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
Run Code Online (Sandbox Code Playgroud)

然后在 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
Run Code Online (Sandbox Code Playgroud)

支持以下芯片/协议:

usbdebug
ftdi
pl2303
Run Code Online (Sandbox Code Playgroud)

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