console介绍
在/etc/default/grub
配置文件中,console
参数用于设置控制台输出设备和相关设置。它的语法为:
console=device,options
其中,device
表示要使用的控制台设备,可以是以下之一:
console=ttyS0
:使用串口设备作为控制台输出设备。这通常是在服务器中使用的方式。console=tty0
:使用系统的物理控制台(即显示器和键盘)作为控制台输出设备。
options
是可选的,用于设置控制台的其他选项。常见的选项包括:
options=115200
:设置控制台的波特率为115200,即设置控制台的数据传输速率为115200 bps。
例如,console=ttyS0,115200
表示使用串口设备ttyS0,并将波特率设置为115200。
这个参数的作用是指定内核将输出信息发送给哪个设备,以及设备的相关设置(如波特率)。在引导过程中,内核的启动信息将显示在指定的控制台设备上,方便调试和观察系统启动过程。
#修改grub配置文件后需要重启kdump生效
GRUB 配置文件中的启动项中使用案例
例如:/etc/default/grub配置文件
GRUB_CMDLINE_LINUX="crashkernel=512M resume=/dev/mapper/rhel-swap rd.lvm.lv=rhel/root rd.lvm.lv=rhel/swap console=ttyS0,115200"
这行配置是用来设置内核启动参数的。下面是对每个参数的解释:
crashkernel=512M
:用于指定用于内核转储的预留内存大小为512MB。当系统发生崩溃时,内核将转储到这个预留的内存区域中。resume=/dev/mapper/rhel-swap
:指定用作系统休眠恢复的交换分区(swap)的设备路径。在系统休眠以后,内核将使用这个分区来恢复系统状态。rd.lvm.lv=rhel/root
:指定根文件系统所在的逻辑卷(LVM)。这个参数告诉内核去哪个逻辑卷上找到根文件系统。rd.lvm.lv=rhel/swap
:指定交换分区所在的逻辑卷(LVM)。这个参数告诉内核去哪个逻辑卷上找到交换分区。console=ttyS0,115200
:指定将输出显示到串口(ttyS0)上,并设置波特率为115200。
请注意,GRUB 的配置文件路径可能因不同的 Linux 发行版而有所不同。通常,它位于 “/boot/grub/grub.cfg” 或 “/etc/default/grub”。修改 GRUB 配置文件后,可能需要重新生成 GRUB 的配置文件或执行相关命令来使更改生效。
grub配置文件中console=tty0与console=ttyS0,115200的区别
/etc/default/grub
是Linux系统中用于配置GRUB引导加载程序的文件。其中的console=tty0
和console=ttyS0,115200
是用于配置内核启动时的控制台输出。
-
console=tty0
表示将控制台输出重定向到系统的物理控制台,也就是显示器和键盘。这是默认的设置,适用于直接连接到显示器和键盘的系统。 -
console=ttyS0,115200
表示将控制台输出重定向到串口设备ttyS0,并设置波特率为115200。这通常用于远程管理和调试,通过串口连接到系统的远程控制台。
这两个选项可以同时配置,但它们在使用上有一些区别:
-
如果只配置了
console=tty0
,系统将只输出到物理控制台,而不会输出到串口设备。这适用于直接连接到显示器和键盘的系统。 -
如果只配置了
console=ttyS0,115200
,系统将只输出到串口设备,而不会输出到物理控制台。这适用于通过串口连接到系统的远程控制台。 -
如果同时配置了这两个选项,系统会尝试同时输出到物理控制台和串口设备。这样可以同时在本地和远程进行观察和调试。
同时配置这两个选项不会产生冲突,系统会根据优先级进行处理。通常,如果同时配置了这两个选项,系统会优先使用串口设备进行控制台输出,如果串口设备不可用或连接失败,则会回退到物理控制台。
这样的配置可以提供更灵活的控制台输出方式,无论是本地还是远程,都能够方便地进行系统管理和调试。