如何启用 TTY 控制台?

西穆克斯

我正在 Chromebook (Eve) 上运行 Linux (Debian 10),使用股票 Chrome OS 内核 (4.4.x) 稍作修改。除了无法通过Ctrl+ Alt+访问 TTY 控制台之外,一切都运行(大部分)正常Fn,这会按预期切换帧缓冲区( Ctrl+F1切换到 DM 和Crtl+F2切换到桌面),但似乎没有任何用于 TTY 仿真的帧缓冲区显示(屏幕只是冻结在Ctrl+ 上,F3但桌面可以通过Crtl+恢复F2)。鉴于启动时没有显示日志,我猜这是内核配置问题。内核配置中已经启用了与TTY、console、framebuffer相关的驱动选项,tty设备列在/dev. 我尝试使用库存的 Debian 10 配置编译 Chrome OS 内核(对于那些没有重叠的配置和默认配置)并且 TTY 控制台确实可用(但显然其他一些东西不起作用),所以它不是不是从 Chrome OS 内核中写出来的东西。

我比较了 Eve 和 Debian 之间的库存配置,并指出了在相同配置项上选择不同选项的位置(其中有 532 个),并注意到以下差异:

CONFIG_ITEM                         Debian      Eve
CONFIG_AGP_AMD64                    y           is not set
CONFIG_AGP_SIS                      y           is not set
CONFIG_AGP_VIA                      y           is not set
CONFIG_VGA_SWITCHEROO               y           is not set
CONFIG_DRM_FBDEV_EMULATION          y           is not set
CONFIG_DRM_LOAD_EDID_FIRMWARE       y           is not set
CONFIG_DRM_DP_CEC                   y           is not set
CONFIG_DRM_VGEM                     is not set  y
CONFIG_DRM_UDL                      is not set  y
CONFIG_DRM_CIRRUS_QEMU              is not set  m
CONFIG_FIRMWARE_EDID                y           is not set
CONFIG_FB_BOOT_VESA_SUPPORT         y           is not set
CONFIG_FB_CFB_FILLRECT              y           is not set
CONFIG_FB_CFB_COPYAREA              y           is not set
CONFIG_FB_CFB_IMAGEBLIT             y           is not set
CONFIG_FB_SYS_FILLRECT              y           is not set
CONFIG_FB_SYS_COPYAREA              y           is not set
CONFIG_FB_SYS_IMAGEBLIT             y           is not set
CONFIG_FB_SYS_FOPS                  y           is not set
CONFIG_FB_TILEBLITTING              y           is not set
CONFIG_FB_VESA                      y           is not set
CONFIG_FB_EFI                       y           is not set
CONFIG_FRAMEBUFFER_CONSOLE_ROTATION y           is not set

但是在我编译内核并将这些设置从 Debian 复制到库存的 Eve 配置后,没有任何变化。其他东西有问题,感谢帮助。

西穆克斯

在注意到 /dev/fb0 尽管已加载fbcon和帧缓冲设备模块但并不存在后,我想通了:

  1. 构建i915为可加载模块而不是内置模块,并确保fbdev启用旧版支持。(可能没有必要将其构建为可加载模块,我这样做只是为了确保我可以列入 blacklist/unload i915,但关键是选择旧版fbdev支持。)
  2. 启用帧缓冲区控制台 ( fbcon) 并将其构建为模块。
  3. 确保 tty 也已启用。
  4. 编辑/src/kernel/drivers/gpu/drm/i915/i915_drv.c并删除或注释掉所有if引用冲突帧缓冲模块的循环(只需搜索“冲突”,在 4.4.250-R89 内核源代码中就有 3 个这样的循环),否则您可能会在 make 过程中遇到错误。显然i915,ChromeOS驱动程序不希望您拥有帧缓冲区控制台。
  5. 构建内核和模块。安装到 Linux。
  6. 添加fbcon/etc/initramfs-tools/modules以在启动时加载它们(默认情况下它们不加载)。或者,您可以在需要使用 TTY 仿真时手动加载它。
  7. 更新 initramfs 和 grub。重启。您应该能够看到内核启动消息并使用Ctrl+Fn访问 TTYn。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何增加TTY控制台的数量?

来自分类Dev

如何增加TTY控制台的数量?

来自分类Dev

如何禁用虚拟控制台tty [1-6]?

来自分类Dev

如何在MacBook上访问控制台TTY?

来自分类Dev

如何在TTY(控制台)中更改字体或字体大小?

来自分类Dev

如何在TTY(控制台)中更改字体或字体大小?

来自分类Dev

Nitrous-IO控制台-如何启用/禁用控制台窗口的滚动条?

来自分类Dev

Linux控制台(TTY)中使用的字体名称

来自分类Dev

Linux控制台(TTY)中使用的字体名称

来自分类Dev

无法在控制台(tty1)中向后滚动

来自分类Dev

如何从python启用Windows控制台快速编辑模式?

来自分类Dev

如何启用DPMS(控制台消隐)?

来自分类Dev

在NetBeans中启用控制台

来自分类Dev

Openstack-autopilot并启用控制台

来自分类Dev

在 Debian 中,如何更改 X(通过 setxkbmap)和(内核)虚拟控制台 (TTY) 使用的单个用户特定文件中的键盘映射?

来自分类Dev

以与X /控制台无关的方式更改控制台(tty)和X上的键盘布局/映射?

来自分类Dev

如何从Swing或控制台访问BlockingQueue?

来自分类Dev

如何启动Play框架控制台?

来自分类Dev

如何从XSJS打印到控制台

来自分类Dev

如何查看JPM控制台警告

来自分类Dev

如何登录文件和控制台

来自分类Dev

如何控制台登录承诺?

来自分类Dev

如何从控制台读取char

来自分类Dev

Rails如何使用控制台

来自分类Dev

Unity-如何编写控制台

来自分类Dev

C#控制台如何工作?

来自分类Dev

QT控制台的屏幕如何清晰?

来自分类Dev

AngularJS:如何从控制台编辑$ scope?

来自分类Dev

如何仅要求控制台文件

Related 相关文章

热门标签

归档