如何使用 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。相反,您也需要它:对于本地系统来说,它必须看起来像一个串行端口,无论它对于其他设备来说是什么样子。