龙芯UEFI使用详解 #
1. UEFI主界面及设置语言 #
在串口或者显示界面下显示BDS
字样的时候(如下图), 按方向下(↓
)或F2
即可进入Setup
界面, 即主界面。
光标默认在语言设置
,可以通过方向键选择,示例为修改语言。
2. 主板信息 #
进入主板信息,可以查看BIOS版本、主板型号、CPU名字等相关硬件基础信息,如下图:
2.1 PCIE信息 #
选择PCIe设备信息
可以查看主板的PCIe的全部信息,如下图:
2.2 USB信息 #
选择USB设备信息
可以查看主板的USB的全部信息,如下图:
3. 设置系统时间 #
操作系统时间通常默认使用rtc时钟,所以可以在固件下设置rtc时间以改变操作系统的默认时间。(当操作系统不通过rtc时间同步时,此方法不一定生效,关于系统下的配置,本文不作讨论)
4. 安全设置 #
安全设置包括如下内容:安全启动、恢复出厂设置、BIOS密码配置、固件更新等。
4.1 安全启动配置 #
在下图界面中,可以看到安全启动相关的配置,包括状态和开启开关,同事包含相关自定义配置。
安全启动开启后,BIOS会开启自身校验功能,对普通用户来说,安全性提高的同时,会对启动速度产生一定影响。
4.2 恢复出厂设置 #
如下图,按照提示执行恢复出厂设置后,原先所有在BIOS下保存的个人配置(如启动顺序、传统启动模式等)都将会被重置。
4.3 BIOS密码设置 #
BIOS密码分为管理员密码和普通用户密码,其中当设定管理员密码后,则必须解锁管理员密码才可进一步更改相关配置,TODO.
4.4 固件更新 #
固件更新应该是目前龙芯用户最关心的功能,截止目前(2024/12/13),龙芯UEFI下的固件更新功能可额外指定三项功能,如下图,分别是: 是否保留SMBIOS信息、是否保留BIOS配置(如启动顺序)、是否校验要更新的BIOS文件等。
倘若无需修改,则可以通过选择文件
进入文件列表,并加载相应的BIOS文件。
PS: UEFI固件下通常仅支持NTFS、FAT、EXT2/3/4等格式的文件系统,由于国内系统镜像制备流程不是非常规范,导致在不同阶段的UEFI下默认可能还支持ISO9660格式的文件系统,在高级选项中可配。
PS:第一步选择设备时,设备名非常冗长难以理解,但在其中通常有NVME、SATA、USB等字样可供判断。
PS:此方式仅支持烧录UEFI文件,不支持PMON、U-Boot等其他文件。
5. 电源设置 #
电源设置中仅包含定时唤醒功能
,如下图:
6. 高级设置 #
高级设置中包含许多用户关心的配置,包括PCIe特性、启动模式配置、其他兼容配置等。
6.1 PCI总线设置 #
在PCI总线配置中有如下配置选项:
开启4G以上地址空间支持,等同于可以设置PCIe的Bar地址为64位地址,即支持使用更大Bar空间的设备,当使用一些高端显卡等需要较大的Bar空间的设备,优先考虑此配置。
SR-IOV支持,即PCIe设备虚拟化,开启并插入支持SR-IOV的设备后,将会为虚拟设备预留Bus和内存资源,当设备较多,资源占用较大时,若需要适用此功能,应该考虑开启
4G以上地址空间支持
的功能配合使用。解锁Bar限制,开启后将解锁BAR的最大空间地址,即支持设备使用大于4G空间的Bar. 同样应与
4G以上地址空间支持
的功能配合使用。GPU模拟开关,在固件下显卡设备通常没有专用驱动,即需要模拟程序驱动显卡,而模拟程序针对特殊或高端显卡时,可能会无法正常模拟,此时使用模拟程序或许会导致固件卡死,因而显卡无法正常点亮时,可以考虑使用集显配置完成后,关闭EMU功能再通过独显进入系统,可使系统下显卡可用。
6.2.1 传统启动模式 #
由于Loongarch架构早期对兼容性考虑的不足,导致有新旧世界两种系统,针对两种系统,固件也对应着两种传参。
PS: 选项为
传统启动
,关闭时可起新世界系统,开启时启动旧世界系统。
6.2.2 ISO文件系统支持 #
与传统启动模式类似,早期的国产系统厂商通常将系统文件直接打包成ISO9660格式的系统镜像,不带有任何分区信息,与诸如debian上游等iso制作有着些许区别。
PS: 如何判断ISO文件系统支持是否需要启用:
执行
fdisk -l iso_filename
,有EFI分区的则不需要启用,否则需要启用。 如下debian则不需要启用, Loongnix-server则需要启用:
debian:
root@aosc [ mxd ] # fdisk -l /work/iso/debian-live-12.2.0-amd64-gnome.iso
Disk /work/iso/debian-live-12.2.0-amd64-gnome.iso: 3.18 GiB, 3419209728 bytes, 6678144 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0xe4ed1d81
Device Boot Start End Sectors Size Id Type
/work/iso/debian-live-12.2.0-amd64-gnome.iso1 * 64 6678143 6678080 3.2G 0 Empty
/work/iso/debian-live-12.2.0-amd64-gnome.iso2 6908 17147 10240 5M ef EFI (FAT-12/16/32)
Loongnix-server:
root@aosc [ mxd ] # fdisk -l /work/iso/Loongnix-server-8.4.0.livecd.loongarch64.iso
Disk /work/iso/Loongnix-server-8.4.0.livecd.loongarch64.iso: 1.81 GiB, 1938675712 bytes, 3786476 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
6.3 基础显示 #
龙芯目前支持多种显示设备,包括桥片提供的集显、pcie提供的显卡、bmc提供的显示。
龙芯固件支持配置优先使用哪种设备作为显示,如下图。
PS: 配置为自动时的优先级:显卡 > BMC > 集显
6.4 系统管理核心配置 #
此项包括龙芯平台的动态调频调压策略配置,由于更完善的功能尚未推出,暂不介绍
7. 设备管理 #
龙芯平台支持对设备进行开关,包括SATA、USB、网口、唤醒设置、IO虚拟化、电源恢复策略、7A桥片提供的PCIE控制器等,详情如下图:
- SATA开关
- USB开关
- 网口开关
PS: 龙芯平台的网口0和网口1分别为每个7A桥片的GNET, 倘若没有或不是,则不可通过此项控制
- 唤醒设置
- IO虚拟化开关
即IOMMU控制器开关,开启后可在虚拟机中对设备直通访问。
- 电源恢复策略
控制电源上电时的行为,如可以配置每一次按下电源键为开机,则当电源通电时即会开机,具体配置如下:
- 7A桥片提供的PCIE控制器开关
7A桥片提供F0、F1、G0、H四个控制器,可分别通过BIOS进行开关、速率调整、带宽配置,如下图:
8. 启动管理 #
通过启动管理选项,可直接选择启动某一设备:
PS: Enter Setup即UEFI 设置界面,选择后会回到上一页。
PS:UEFI Shell为UEFI下的终端,可实现更灵活复杂的操作,详情可参考 如何从UEFI命令行启动到系统
PS:选择设备时,设备名非常冗长难以理解,但在其中通常有NVME、SATA、USB等字样可供判断。
UEFI Shell如下:
9. 启动维护管理 #
启动维护管理包括启动选项配置、驱动选项配置、控制台配置、文件引导等内容,如下图:
9.1 启动选项 #
在此项配置中,可以增加/删除启动选项、调整启动选项的顺序、禁用/启用某个启动项,也可以按照设备类型来调整启动选项。
如下为部分示例:
- 调整启动项
PS: 回车后通过+或-按键调整。
- 删除启动选项
- 禁用启动选项
- 按设备类型调整启动项
9.2 驱动选项配置 #
通过此项配置可以实现加载自定义或卸载已有驱动。
如社区同学做出了睿频的EFI驱动,即可通过此项设置加载:
9.3 控制台配置 #
此项用于配置stdout、stdin、stderr三项内容,并提供丰富可用的功能:
以最常用的输出设备为例,即通常为显示设备,但当偶尔显示设备无法点亮时,可以通过设置控制台输出设备的模式来使串口显示(配置为100x31或更小):
10. 保存退出 #
修改相应配置后,大多数需要重启后生效,除F10
快捷键外,可通过此项保存,并选择重启或关机。