Files
Inbox/系统基座文件/1/1.1/1.1.1 发行版与内核版本指纹.md
2025-12-11 07:24:36 +08:00

3.8 KiB
Raw Blame History

tags, date created, date modified
tags date created date modified
星期三, 十一月 19日 2025, 3:10:38 下午 星期三, 十一月 19日 2025, 5:42:25 下午

1.1.1 发行版与内核版本指纹

1. OS 发行版完整标识 (Distro Full ID)

  • 关键性P0

  • 预期信息:确认具体的 SP 版本(如 V10 SP1/SP2/SP3不同版本的 Glibc 和内核基线差异极大。

  • 探测命令:

    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 的基础特征。

  • 探测命令:

    lscpu | grep -E "Architecture|Byte Order"

3. 内核发布版本号 (Kernel Release)

  • 关键性P0

  • 预期信息:精确的内核版本字符串。驱动源码的 Header Path 必须与此完全一致。

  • 探测命令:

    uname -r
    4.19.90-52.23.v2207.gfb08.ky10.aarch64
    

4. 内核构建编译器版本 (Kernel GCC Version)

  • 关键性P0

  • 预期信息:提取圆括号内的 gcc version。如果此版本与当前环境中 gcc 版本差异过大,编译内核模块时极易报错。

  • 探测命令:

    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 参数,判断基线是否纯净。

  • 探测命令:

    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

  • 预期信息:确认内核是原厂构建还是用户自行重新编译过的版本。

  • 探测命令:

    uname -v
    #1 SMP Tue Apr 23 18:20:01 CST 2024
    

7. 内核模块签名强制性 (Module Signing Policy)

  • 关键性P1

  • 预期信息:检查 CONFIG_MODULE_SIG_FORCE。如果是 y则加载未签名的自研驱动会被拒绝。

  • 探测命令:

    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麒麟安全子系统的状态这是导致设备节点无权限访问的常见原因。

  • 探测命令:

    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失败。

  • 探测命令:

    getconf PAGESIZE
    65536