Skip to content

内核命令行

Linux内核在引导过程中接受命令行参数。在树莓派上,此命令行是在引导分区中名为 cmdline .txt的文件中定义的。这是一个简单的文本文件,可以使用任何文本编辑器进行编辑,例如纳米。

 sudo  nano  /boot/cmdline.txt

注意,我们必须使用sudo来编辑启动分区中的所有内容,并且cmdline.txt中的所有参数必须在同一行上(不返回回车符)。

可以使用cat/proc/cmdline来显示引导时传递给内核的命令行。它与" cmdline.txt"中的不完全相同,因为固件可以在启动内核之前对其进行更改。

命令行选项

内核命令行参数很多,其中一些由内核定义。其他的则由内核可能使用的代码定义,例如 Plymouth 初始屏幕系统。

标准条目

  • 控制台:定义串行控制台。通常有两个条目:
    • console = serial0,115200
    • console = tty1
  • root:定义根文件系统的位置,例如" root =/dev/mmcblk0p2"表示多媒体卡块 0 分区 2 。
  • rootfstype:定义 rootfs 使用哪种文件系统类型,例如rootfstype = ext4
  • 电梯:指定要使用的 I /O调度程序。 elevator = deadline表示内核对所有 I /O操作施加了最后期限,以防止请求匮乏。
  • 安静:将默认内核日志级别设置为KERN_WARNING,它会在引导过程中禁止所有非常严重的日志消息。

在 FKMS 和 KMS 模式下显示条目

固件会通过以下条目自动添加首选的分辨率和过扫描设置:

video = HDMI-A-1:1920x1080M @ 60,margin_left = 0,margin_right = 0,margin_top = 0,margin_bottom = 0''

可以通过在/boot/cmdline.txt中手动复制上面的条目并对 margin 参数进行必要的更改来修改此默认条目。此外,还可以按照标准Linux framebuffer文档中的说明添加旋转并反映参数。 )。默认情况下," margin_ *"选项是从 config .txt中的" overscan"条目中设置的(如果存在)。通过将disable_fw_kms_setup = 1添加到config.txt中,可以防止固件对命令行进行任何 KMS 特定的更改。

示例条目可能如下:

video = HDMI-A-1:1920x1080M @ 60,margin_left = 0,margin_right = 0,margin_top = 0,margin_bottom = 0,旋转= 90,reflect_x``

显示类型(" video ="条目的第一部分)的可能选项如下:

|视频选项|显示| |:---:|:---- | | HDMI-A-1 | HDMI 1(Pi4B丝印上的 HDMI 0,单个 HDMI 板上的 HDMI )| | HDMI-A-2 | HDMI 2(Pi4B丝印上的 HDMI 1)| | DSI-1 | DSI或 DPI | |复合材料 1 |复合材料

其他条目(并非详尽无遗)

  • 启动:告诉靴子通过普利茅斯模块使用启动屏幕。
  • plymouth.ignore-serial-consoles:通常,如果启用了 Plymouth 模块,它将阻止引导消息出现在任何可能存在的串行控制台上。该标志告诉 Plymouth 忽略所有串行控制台,使引导消息再次可见,就像 Plymouth 没有运行时一样。
  • dwc_otg.lpm_enable:关闭 dwc _otg驱动程序中的链路电源管理(LPM); dwc_otg驱动程序是树莓派内置的 USB 控制器的驱动程序。
  • dwc_otg.speed:设置 USB 控制器的速度。 dwc_otg.speed = 1会将其设置为全速(USB 1.0),比全速(USB 2.0)慢。除非对 USB 设备问题进行故障排除,否则不应设置此选项。
  • smsc95xx.turbo_mode:启用/禁用有线网络驱动程序涡轮模式。 smsc95xx.turbo_mode = N关闭涡轮模式。
  • usbhid.mousepoll:指定鼠标轮询间隔。如果您对无线鼠标的速度慢或不稳定有疑问,请将其设置为 0 可能会有所帮助:usbhid.mousepoll = 0