我最近开始在 Ubuntu 中使用自己的自定义内核,它们运行正常,但当我按下任何组合键Ctrl+ Alt+时,都没有文本控制台Fn。我只看到 Ubuntu 启动画面。我认为这与内核配置中的图形设置有关设备驱动程序->图形支持,特别是帧缓冲区设置。我已激活 Ubuntu 提供的内核中所有活动,除了 之外的特定芯片组的 fb 驱动程序nvidiafb
,因为我有 Nvidia 卡。以下是已启用的设置:
CONFIG_FB=y
CONFIG_FB_CMDLINE=y
CONFIG_FB_NOTIFY=y
CONFIG_FB_DDC=m
CONFIG_FB_BOOT_VESA_SUPPORT=y
CONFIG_FB_CFB_FILLRECT=y
CONFIG_FB_CFB_COPYAREA=y
CONFIG_FB_CFB_IMAGEBLIT=y
CONFIG_FB_SYS_FILLRECT=m
CONFIG_FB_SYS_COPYAREA=m
CONFIG_FB_SYS_IMAGEBLIT=m
CONFIG_FB_SYS_FOPS=m
CONFIG_FB_DEFERRED_IO=y
CONFIG_FB_BACKLIGHT=y
CONFIG_FB_MODE_HELPERS=y
CONFIG_FB_TILEBLITTING=y
CONFIG_FB_VESA=y
CONFIG_FB_EFI=y
CONFIG_FB_NVIDIA=m
CONFIG_FB_NVIDIA_I2C=y
CONFIG_FB_NVIDIA_BACKLIGHT=y
我想知道哪个内核设置负责文本控制台。我配置自己的内核的策略是禁用我认为不需要的所有内容,尤其是所有包含在内部内核中的特定设备的可加载内核模块。当然,我保留了许多选项不变,因为我不知道它们是什么。
对于我的自定义内核,我一直使用该linux-source
软件包所依赖的最新内核源,当前版本是 1 月 29 日的版本。4.15.0-45.48
我使用的是 Ubuntu 18.04 LTS。
更新:我使用选项编译了一个新内核CONFIG_FRAMEBUFFER_CONSOLE=y
。使用此内核,我确实有一个文本控制台,但是,我一直在使用的专有 Nvidia 驱动程序未加载。我需要做什么才能为我的新内核安装该驱动程序?
答案1
成功了!我必须添加内核选项
CONFIG_FRAMEBUFFER_CONSOLE=y
然而,在启动新内核后,专有的 Nvidia 驱动程序不存在。我不得不
dpkg-reconfigure nvidia-dkms-390
以便为我的内核构建该驱动程序。这也nvidia.ko
为通用内核构建了模块,这让我很惊讶,因为该内核已经使用了驱动程序nvidia
。现在我想知道,如果不在,内核模块位于哪里/lib/modules/4.15.0-45-generic/updates/dkms/nvidia.ko
?