‌关于(sigmstar) echo 32 > /sys/class/mstar/msys/booting_time 命令的解析

背景:

        在嵌入式 Linux 系统中,向 /sys/class/mstar/msys/booting_time 写入数值(如 echo 32)的操作本质是通过 ‌sysfs 接口触发内核模块记录启动时间‌。

1. 命令作用与底层机制

  • 功能‌:该命令通过用户空间向内核传递参数,通知 MStar 平台的内核驱动记录系统启动时间。
  • 实现原理‌:
    • sysfs 接口‌:/sys/class/mstar/msys/booting_time 是 MStar 驱动注册的 sysfs 属性文件,其写入操作会调用内核模块的 store() 函数‌1。
    • 数值含义‌:写入的数值(如 32)可能是以下两种作用之一:
      1. 触发信号‌:无论写入何值(数值本身无意义),均触发驱动记录当前时间戳,并计算从 Bootloader 到此刻的耗时。
      2. 阶段标识‌:数值代表启动阶段编号(如 32 表示用户空间初始化完成),驱动根据预设逻辑统计对应阶段的耗时‌2。

‌2. 典型应用场景

  • 启动阶段标记‌:
    • 在启动脚本(如 /etc/init.d/rcS)中,通过 echo 分阶段写入数值:
      echo 1 > /sys/class/mstar/msys/booting_time  # 内核初始化完成
      echo 2 > /sys/class/mstar/msys/booting_time  # 文件系统挂载完成
      echo 3 > /sys/class/mstar/msys/booting_time  # 用户空间服务启动完成
      
    • 驱动根据数值区分阶段,记录各阶段耗时(需驱动代码支持)‌。
  • 启动完成通知‌:
    • 在启动流程末尾写入任意值(如 32),驱动计算总启动时间并记录到日志或文件

3. 与其他系统的对比

平台/接口启动时间记录方式特点
MStar 平台写入 /sys/class/mstar/msys/booting_time 触发驱动计时厂商定制,需内核支持
通用 Linux 系统通过 dmesg 查看内核日志时间戳,或使用 systemd-analyze标准化,无需驱动修改
U-Boot 打点在 Bootloader 中记录时间戳,通过内核驱动读取并计算跨阶段统计(Bootloader + Kernel)

总结

    echo 32 > /sys/class/mstar/msys/booting_time 的本质是通过 ‌用户空间与内核驱动的交互‌,触发启动时间记录。其核心依赖 MStar 平台的内核实现,写入的数值可能是触发信号或阶段标识

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值