创建仓库
This commit is contained in:
120
系统基座文件/1/1.1/1.1.1 发行版与内核版本指纹.md
Normal file
120
系统基座文件/1/1.1/1.1.1 发行版与内核版本指纹.md
Normal file
@@ -0,0 +1,120 @@
|
||||
---
|
||||
tags: []
|
||||
date created: 星期三, 十一月 19日 2025, 3:10:38 下午
|
||||
date modified: 星期三, 十一月 19日 2025, 5:42:25 下午
|
||||
---
|
||||
|
||||
# 1.1.1 发行版与内核版本指纹
|
||||
|
||||
**1. OS 发行版完整标识 (Distro Full ID)**
|
||||
|
||||
- **关键性**:P0
|
||||
- **预期信息**:确认具体的 SP 版本(如 V10 SP1/SP2/SP3),不同版本的 Glibc 和内核基线差异极大。
|
||||
- 探测命令:
|
||||
|
||||
```bash
|
||||
cat /etc/kylin-release /etc/os-release 2>/dev/null | grep -E "PRETTY_NAME|VERSION_ID|Kylin Linux Advanced Server"
|
||||
Kylin Linux Advanced Server release V10 (GFB)
|
||||
NAME="Kylin Linux Advanced Server"
|
||||
VERSION_ID="V10"
|
||||
PRETTY_NAME="Kylin Linux Advanced Server V10 (GFB)"
|
||||
```
|
||||
|
||||
**2. CPU 架构与字节序 (Arch & Endianness)**
|
||||
|
||||
- **关键性**:P0
|
||||
- **预期信息**:必须确认为 aarch64 且为 Little Endian(小端序),这是 Feiteng S5000C 的基础特征。
|
||||
- 探测命令:
|
||||
|
||||
```bash
|
||||
lscpu | grep -E "Architecture|Byte Order"
|
||||
空
|
||||
```
|
||||
|
||||
**3. 内核发布版本号 (Kernel Release)**
|
||||
|
||||
- **关键性**:P0
|
||||
- **预期信息**:精确的内核版本字符串。驱动源码的 Header Path 必须与此完全一致。
|
||||
- 探测命令:
|
||||
|
||||
```bash
|
||||
uname -r
|
||||
4.19.90-52.23.v2207.gfb08.ky10.aarch64
|
||||
```
|
||||
|
||||
**4. 内核构建编译器版本 (Kernel GCC Version)**
|
||||
|
||||
- **关键性**:P0
|
||||
- **预期信息**:提取圆括号内的 gcc version。如果此版本与当前环境中 gcc 版本差异过大,编译内核模块时极易报错。
|
||||
- 探测命令:
|
||||
|
||||
```bash
|
||||
cat /proc/version
|
||||
Linux version 4.19.90-52.23.v2207.gfb08.ky10.aarch64 (KYLINSOFT@localhost.localdomain) (gcc version 7.3.0 (GCC)) #1 SMP Tue Apr 23 18:20:01 CST 2024
|
||||
```
|
||||
|
||||
**5. 内核启动参数全集 (Kernel Boot Cmdline)**
|
||||
|
||||
- **关键性**:P1
|
||||
- **预期信息**:检查是否已有预设的 isolcpus、hugepages 或 iommu 参数,判断基线是否纯净。
|
||||
- 探测命令:
|
||||
|
||||
```bash
|
||||
cat /proc/cmdline
|
||||
BOOT_IMAGE=/vmlinuz-4.19.90-52.23.v2207.gfb08.ky10.aarch64 root=/dev/mapper/klas-root ro rd.lvm.lv=klas/root rd.lvm.lv=klas/swap acpi=on rhgb quiet console=tty0 crashkernel=1024M,high smmu.bypassdev=0x1000:0x17 smmu.bypassdev=0x1000:0x15 video=efifb:off module_blacklist=phytium_mci_pci module_blacklist=phytium_mci audit=0
|
||||
```
|
||||
|
||||
**6. 内核构建时间戳 (Kernel Build Timestamp)**
|
||||
|
||||
- **关键性**:P2
|
||||
- **预期信息**:确认内核是原厂构建还是用户自行重新编译过的版本。
|
||||
- 探测命令:
|
||||
|
||||
```bash
|
||||
uname -v
|
||||
#1 SMP Tue Apr 23 18:20:01 CST 2024
|
||||
```
|
||||
|
||||
**7. 内核模块签名强制性 (Module Signing Policy)**
|
||||
|
||||
- **关键性**:P1
|
||||
- **预期信息**:检查 CONFIG_MODULE_SIG_FORCE。如果是 y,则加载未签名的自研驱动会被拒绝。
|
||||
- 探测命令:
|
||||
|
||||
```bash
|
||||
grep "CONFIG_MODULE_SIG" /boot/config-$(uname -r) 2>/dev/null || echo "Config check failed"
|
||||
CONFIG_MODULE_SIG=y
|
||||
# CONFIG_MODULE_SIG_FORCE Is not Set
|
||||
CONFIG_MODULE_SIG_ALL=y
|
||||
# CONFIG_MODULE_SIG_SHA1 is not set
|
||||
# CONFIG_MODULE_SIG_SHA224 is not set
|
||||
CONFIG_MODULE_SIG_SHA256=y
|
||||
# CONFIG_MODULE_SIG_SHA384 is not set
|
||||
# CONFIG_MODULE_SIG_SHA512 is not set
|
||||
CONFIG_MODULE_SIG_HASH="sha256"
|
||||
CONFIG_MODULE_SIG_KEY="certs/signing_key.pem"
|
||||
```
|
||||
|
||||
**8. 安全模块状态 (LSM Status)**
|
||||
|
||||
- **关键性**:P1
|
||||
- **预期信息**:确认 SELinux 或 Kysec(麒麟安全子系统)的状态,这是导致设备节点无权限访问的常见原因。
|
||||
- 探测命令:
|
||||
|
||||
```bash
|
||||
sestatus 2>/dev/null; getenforce 2>/dev/null; ls -d /sys/kernel/security/lsm
|
||||
SELinux status: disabled
|
||||
Disabled
|
||||
/sys/kernel/security/lsm
|
||||
```
|
||||
|
||||
**9. 页大小配置 (Page Size Configuration)**
|
||||
|
||||
- **关键性**:P1
|
||||
- **预期信息**:aarch64 架构下可能存在 4KB 或 64KB 页大小的差异。页大小不匹配会导致内存映射(mmap)失败。
|
||||
- 探测命令:
|
||||
|
||||
```bash
|
||||
getconf PAGESIZE
|
||||
65536
|
||||
```
|
||||
Reference in New Issue
Block a user