启动
您可以验证各种安全功能的状态。
注意: 请记住在 SELinux 宽松模式下运行所有的 SSH 命令。未来将支持强制模式。有关如何连接到设备的说明,请参阅《高通 Linux 构建指南》 ➝ 如何操作 ➝ 如何 SSH。
验证 TZ/设备配置/虚拟机监控程序镜像加载
XBL 日志包含有关 TZ/设备配置/虚拟机监控程序镜像加载的信息。
例如:
-
设备配置(DEVCFG)
B - 1206031 - QSEE Dev Config - Image Load, Start D - 763 - Auth Metadata D - 549 - Segments hash check D - 13054 - QSEE Dev Config - Image Loaded, Delta - (53248 Bytes)
-
TZ
B - 1228113 - QSEE - Image Load, Start D - 26382 - Auth Metadata D - 22234 - Segments hash check D - 88999 - QSEE - Image Loaded, Delta - (4027792 Bytes)
-
虚拟机监控程序
B - 1402237 - QHEE - Image Load, Start D - 26383 - Auth Metadata D - 7045 - Segments hash check D - 35258 - QHEE - Image Loaded, Delta - (1491024 Bytes)
-
APDP
B - 978348 - APDP - Image Load, Start D - 42212 - Auth Metadata D - 458 - Segments hash check D - 48434 - APDP - Image Loaded, Delta - (17332 Bytes)
验证安全启动
XBL 日志包含设备的安全启动状态。这些日志包括有关启动接口、安全启动状态、启动配置、JTAG ID、OEM ID 和序列号的信息。
示例日志:
S - Format: Log Type - Time(microsec) - Message - Optional Info
S - Log Type: B - Since Boot(Power On Reset), D - Delta, S - Statistic
S - QC_IMAGE_VERSION_STRING=BOOT.MXF.1.0.c1-00037-KODIAKLA-1
S - IMAGE_VARIANT_STRING=SocKodiakLAA
S - OEM_IMAGE_VERSION_STRING=hu-apasunur-hyd
S - Boot Interface: USB
S - Secure Boot: On
S - Boot Config @ 0x00786070 = 0x000000c1
S - JTAG ID @ 0x00786130 = 0x001970e1
S - OEM ID @ 0x00786138 = 0x00000000
S - Serial Number @ 0x00786134 = 0x4172f1dd
验证 SELinux 状态
- 验证内核配置:
CONFIG_SECURITY_SELINUX=y
-
通过 SSH 连接到设备。
-
运行以下 seinfo 命令查看 SELinux 启用状态及其他详细信息:
Statistics for policy file: /sys/fs/selinux/policy Policy Version: 33 (MLS enabled) Target Policy: selinux Handle unknown classes: allow Classes: 131 Permissions: 423 Sensitivities: 16 Categories: 1024 Types: 4376 Attributes: 319
-
从控制台或通过 SSH 连接到设备,验证 SELinux 强制状态:
$ getenforce enforcing - 如果 SELinux 设置为启用
验证 PIL 镜像加载 – 示例日志
模块 | 日志 |
---|---|
WLAN(remoteproc1) | 730, 0x00000000000459B4 | 8.700828: remoteproc remoteproc1: Remote processor 8a00000. Remoteproc is now up |
cDSP(remoteproc3) | 735, 0x00000000000465A3 | 8.794052: remoteproc remoteproc3: Remote processor a300000. Remoteproc is now up |
aDSP(remoteproc2) | 741, 0x00000000000469FC | 8.828033: remoteproc remoteproc2: Remote processor 3000000.remoteproc is now up |
MODEM(remoteproc0) | 1035, 0x000000000006B78B |
A660_zap | sh-5.1# dmesg | grep gfx [7.822629] kgsl-iommu SoC@0:QCOM, kgsl-iommu@3da0000:gfx3d_user: Adding to iommu group 15 [7.870446] kgsl-3d 3d00000.qcom, kgsl-3d0: bound SoC@0:QCOM, kgsl-iommu@3da0000:gfx3d_user (ops kgsl_mmu_cb_component_ops [msm_kgsl]) |
video(Vpu20_1v.mbn) | sh-5.1# dmesg | grep video [7.094229] videodev: Linux video capture interface: v2.00 [7.847469] qcom-iris aa00000.video-codec: Adding to iommu group 17 [7.856647] qcom-iris aa00000.video-codec: no reset clocks found [10.131119] [drm] [msm-dsi-warn]: [nt36672e LCD video mode DSI novatek panel with DSC] fall back to default te-pin-select [10.188079] [drm:dsi_display_bind [msm_drm]] [msm-dsi-info]: Successfully bind display panel 'QCOM, mdss_dsi_nt36672e_fhd_plus_120_video ’ |
验证 Qualcomm TEE MINK/GPTEE API 的可用性
-
验证设备上的库是否存在:
/usr/lib/ libmink* libGPMTEE* libGPTEE*
-
验证 mink 监听服务是否在运行:
ps -ef | grep qtee_supplicant 并确保 qtee_supplicant 正在运行 ps -ef | grep ssgtzd
验证 SMC 调用驱动程序状态
- 通过 SSH 连接到设备。
- 验证 /dev/smcinvoke 节点是否存在:
ls -l /dev/smcinvoke
验证 Qualcomm WES 状态
拥有 Qualcomm Linux 随附的专有软件完全访问权限的用户可以验证 Qualcomm WES 状态。如果您有访问权限,请参阅《Qualcomm Linux 安全指南 - 附录》→ 启动。
检查 RPMB 配置状态
通过 SSH 连接到设备并运行以下命令:
sh-5.1# rpmbClient smci -p 1
将显示以下消息: