有人能解释一下这些内核命令行参数吗?

有人能解释一下这些内核命令行参数吗?
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash nomodeset video=uvesafb:mode_option=1280x800-24,mtrr=3,scroll=ywrap"

这句话什么意思?

有人可以逐字逐句地解释一下吗?

答案1

安静的禁用大部分日志消息(显示为dmesg 命令)。


我觉得选项启动普利茅斯服务来自初始内存盘在内核经过一些初始化代码之后,Plymouth 会向您显示发行版的徽标或 systemd 初始化的日志。


模式设置是禁用内核模式设置(又名 KMS)在启动过程中。模式设置使内核能够控制图形硬件本身并更改 GPU 的模式(图形或文本模式、分辨率、旋转等),这是为了制作流畅、无闪烁的启动画面(上面的选项),但它可能会导致某些图形硬件出现问题甚至黑屏。禁用它会强制内核使用 BIOS 模式。有关更多信息,请参阅这个答案


视频选项是提到视频模式选项。一些全局选项将在底层 GPU 中使用。并且uvesafb实际上是一种通用的帧缓冲区驱动程序利用了电子视频标准协会协会。mode_option=1280x800-24是指1280x80024颜色深度或者又称每像素位数(红色、绿色和蓝色通道各为 8 位)。

地铁=3 表示写合并属性。它实际上是一种缓存技术,用于缓冲读/写请求,以便稍后以突发模式释放它们,以更好地利用带宽并防止一致的读/写循环和资源耗尽。

由于读/写操作不是按顺序发布的,如果在大多数程序中使用,可能会导致严重的错误和问题(线程安全是基于这些操作按顺序完成的假设),但在帧缓冲区中,无序内存操作不是问题(当一帧在不到 50 毫秒的时间内渲染完成时,您不必关心屏幕上图像的左上角是先绘制还是先绘制左下角)。因此在帧缓冲区操作中使用它(我们正在讨论帧缓冲区驱动程序uvesafb) 是有道理的。它可以大大提高性能。

然而,内核中 MTRR API 的使用几乎完全被淘汰,取而代之的是页面归因表因为使用 PAT,您可以更好地控制想要缓存的内存区域,并且它具有比 MTRR 更多的属性。

最后,scroll=选项将获得以下三个可能值之一:

伊潘:使用 VESA 保护模式接口启用显示平移。可见屏幕只是视频内存的一个窗口,控制台滚动是通过更改窗口的开始来完成的。此选项仅在 x86 上可用,并且是该架构上的默认选项。

包裹:与 ypan 相同,但假设您的 gfx 板可以环绕视频内存(即,如果到达视频内存末尾,则从顶部开始读取)。比 ypan 更快。仅适用于 x86。

重绘:通过重新绘制屏幕受影响的部分来滚动,这是非 x86 上的默认设置。

实际上,当您处于文本模式时,它可以设置滚动操作的模式(例如文本模式控制台而不是图形模式)

您可以阅读有关该驱动程序的更多信息这里


如果您想了解有关内核命令行选项的更多信息,请查看官方文档


希望能帮助到你。

相关内容