我来自于使用Gentoo,它是基于源的发行版。考虑到这一点,以及我的个人电脑中的4个硬盘驱动器,我决定进行实验,并可能切换到FreeBSD。我写这个问题的目的是:
% cat /etc/os-release
NAME=FreeBSD
VERSION=12.2-RELEASE-p3
VERSION_ID=12.2
ID=freebsd
ANSI_COLOR="0;31"
PRETTY_NAME="FreeBSD 12.2-RELEASE-p3"
>snip<在端口树中运行KDE-5版本,并将synth作为包管理器运行。
在正确安装了上述所有内容之后,我正在进行细调。我很乐意编辑配置文件,因为这是Gentoo中的主要机制。我遇到了一个问题,我最终无法独自解决,主要是因为FreeBSD文档已经过时了。请参阅:Bug 235040 -基于Lua的加载程序(8)不拾取/引导/加载器.rc.local
这只是个象征性的链接。我想在创建它之前知道,因为列表中没有链接。
# ls -al /boot/loader*
-r-xr-xr-x 3 root wheel 372736 Jan 3 18:40 /boot/loader
-r-xr-xr-x 1 root wheel 327680 Jan 3 18:40 /boot/loader_4th
-r-xr-xr-x 1 root wheel 428032 Jan 3 18:40 /boot/loader_4th.efi
-r-xr-xr-x 1 root wheel 327680 Nov 28 17:18 /boot/loader_4th.old
-r-xr-xr-x 3 root wheel 372736 Jan 3 18:40 /boot/loader_lua
-r-xr-xr-x 2 root wheel 490496 Jan 3 18:40 /boot/loader_lua.efi
-r-xr-xr-x 1 root wheel 372736 Nov 28 17:18 /boot/loader_lua.old
-r-xr-xr-x 1 root wheel 278528 Jan 3 18:40 /boot/loader_simp
-r-xr-xr-x 1 root wheel 367616 Jan 3 18:40 /boot/loader_simp.efi
-r-xr-xr-x 1 root wheel 278528 Nov 28 17:18 /boot/loader_simp.old
-r--r--r-- 1 root wheel 7492 Jan 3 18:40 /boot/loader.4th
-rw-r--r-- 1 root wheel 179 Feb 26 18:23 /boot/loader.conf
-r-xr-xr-x 2 root wheel 490496 Jan 3 18:40 /boot/loader.efi
-r--r--r-- 1 root wheel 468 Jan 3 18:40 /boot/loader.rc
-rw-r--r-- 1 root wheel 28 Feb 27 16:18 /boot/loader.rc.local12.2-RELEASE切换到12.2-STABLE会有帮助吗?我不知道,因为除了如何切换分支之外,没有任何谷歌结果出现我正在使用来自x11/nvidia-driver的D22 blob (由于没有DRM内核模块,这个驱动程序没有KMS选项):
device = GP107 [GeForce GTX 1050 Ti] 如果我引导到UEFI并使用mode命令,FreeBSD加载程序将被正确显示。在加载程序加载(以错误的分辨率)加载到加载程序提示符并使用gop set之后,我还可以选择选项3,但在每次重新启动时都必须使用这两个选项,因为我的系统默认为1024x768。是否有办法迫使UEFI永久地默认到新设置?
发布于 2021-03-04 06:16:24
我已经在FreeBSD论坛上的旧帖子中发现了@Claus提到的大多数条目,但是不管我用什么设置,我的efifb(VT)分辨率都停留在1024x768。这对我来说是不能接受的,因为我更喜欢使用控制台而不是GUI终端(Alt + Fn与Konsole)。因为这只是个人喜好,所以我一直在挖掘,最后找到了解决方案,以防它能帮助其他读者/访问者。
我的个人电脑是一个定制的OEM和包含一个MSI Z 270-A PRO。当我开始安装多个操作系统时,我使用了UEFI安装实用程序,并关闭了UEFI模式,该模式在实用程序的启动设置菜单中称为UEFI + Legacy,但更被称为CSM,并且随着时间的推移,我的所有安装都完全迁移到了UEFI。
结果显示,启用CSM禁用了Windows8.1/10 WHQL对此主板的支持,即使在迁移了所有操作系统之后,该主板仍被禁用。见下图:
[

禁用此选项,即使在启动设置中启用了Pure UEFI,也会禁用对上面照片中所示的底部2个选项的访问:
虽然我不使用Secure (个人偏好),但我在修改多个变体后发现,如果禁用了对GOP配置的访问,任何引导的操作系统或EFI存根都会卡在1024x768的基本分辨率上。换句话说,在没有WHQL支持的情况下,GOP设置在NVRAM中被标记为只读,甚至对于与Windows无关的操作系统也是如此。我不知道这是什么原因,因为WHQL仅通过确保安装的驱动程序经过数字签名并通过QC测试,在<#>Windows中提供驱动程序安全性。对于一个非Windows操作系统来说,为什么需要进行这种测试来改变分辨率,我是不知道的。
这意味着,无论我通过了FreeBSD加载程序的什么设置,在支持本机分辨率为1920x1080/1080p @60 on的监视器上,屏幕大小总是为1024x768,除非我使用了引导加载程序选项3,这是在UEFI引导到rEFInd之后发生的,并且NVRAM被标记为读/写。
我现在在boot/loader.conf中启用了Windows8.1/10 WHQL支持的D15,并具有1080 p的本地控制台分辨率。作为正确设置它的一个副作用,rEFInd也会引导到一个本机分辨率。
在找到上面的解决方案之前我尝试过的事情
我不推荐这些,但为了完整起见,我会在这里列出它们
发布于 2021-03-01 01:08:30
实际上,我已经尽可能彻底地阅读了这个问题。三次。我对每一本书都感到困惑。
你花时间描述你的设置。但你真正的根本问题是什么?你为什么坚持这样做?你为什么要这样解释错误报告?(我对此作了不同的解释)。文档实际上并没有那么糟糕,但我确实同意,在一些关键的地方,它应该会更好。但我们似乎在追逐另一只兔子。
我不运行Gentoo,所以"OS规范“对我来说是陌生的(我希望是uname -a)。启动系统的方法有很多种,但是您似乎需要很长时间,所以我们不需要深入到那里。
但是FreeBSD正处于从基于第四Lua的加载程序转移的过渡阶段。FreeBSD已经使用Forth很多年了,所以很多人都会引用它。Lua加载器是在11岁时引入的,并在12岁时默认的。
再一次,由于它被使用了这么久,一些Forthism已经悄悄地进入了/boot/loader.rc.local。这就是凯尔·埃文斯和华纳·洛什试图在你提到的bug报告中进一步解释的地方。
在现代FreeBSD系统中,您不应该篡改/boot/loader.rc.local。它的存在是因为遗产的原因。它将只由第四加载程序读取,而不是Lua加载程序读取。
如果我正确理解,您将从源代码构建所有内容,包括FreeBSD本身。在这种情况下,您可以编辑/etc/src.conf并设置:
WITH_FORTH="yes"
WITHOUT_LUA="yes"然后选择您使用的加载程序。
多年来更改加载程序设置的正确方法一直是使用loader.conf(5)。此文件由两个加载程序读取和解析。
你只需要连接你的“一半解决方案”和Bug 235040之间的点。
编辑/boot/loader.conf (它是“用户定义的”)并添加如下内容:
exec="gop set 0"
exec="gop set 2"/boot/loader.conf.local的工作原理相同,但适用于具有公共loader.conf的站点的机器特定设置。
您可以<#>编写您自己的Lua脚本,就像您可以使用的那样,但是它并不适合普通使用。
您可以写到您的决议默认为1024x768。而不是使用gop set,您可能可以使用efi_max_resolution (同样是loader.conf(5) )。
Value Resolution
480p 640x480
720p 1280x720
1080p 1920x1080
2160p 3840x2160
4k 3840x2160
5k 5120x2880
WidthxHeight WidthxHeight因此,在/boot/loader.conf中,您可以尝试:
efi_max_resolution="1080p"同样,我们也不清楚你到底有什么问题。您说明您正在使用x11/nvidia-driver。这仅与X11相关。在引导期间,应该启动vt(4)控制台驱动程序。在进行BIOS引导时,如果没有KMS驱动程序(就像您一样),它将切换到640x480x16。对于UEFI,我假设它保留了分辨率,因为它已经从文本模式切换到了图形模式。
只有在启动X11时才会使用驱动程序。不需要配置,因为它应该是自动检测的。这应该可以将您发送到像纤细这样的图形化登录管理器中,或者直接发送到桌面。
之间的切换
如果你想过一种更活泼的生活方式,那么你可以选择稳定的生活方式。或者与电流完全疯狂。但是,如果我理解了你的问题,那就没有什么区别了。
https://unix.stackexchange.com/questions/636771
复制相似问题