内核命令行
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
。