Navigation

    全志在线开发者论坛

    • Register
    • Login
    • Search
    • Categories
    • Tags
    • 在线文档
    • 社区主页

    【FAQ】全志V853芯片 如何使busybox syslogd时间戳格式与kernel对齐?

    其它全志芯片讨论区
    v853 faq 技术支持
    1
    1
    221
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • q1215200171
      budbool LV 8 last edited by q1215200171

      问题背景

      部分客户使用busybox syslogd作为产品的日志管理系统,syslogd 默认的时间戳及其格式与kernel不同,在分析启动时间时不便于和kernel对比,因此tina提供了调整busybox日志格式的相关patch,本文就此进行说明。

      问题说明

      • busybox 默认时间戳是通过 time() 函数获取的(日历时间),并将其转换成如下格式
      Jan  1 00:58:45 procd: - shutdown -
      Jan  1 08:58:45 bluetoothd[1587]: Exit
      
      • 而 kernel 的时间戳是通过 local_clock 获得的,最终来源于 sched_clock,由 arch_timer 驱动的,可达 ns 级。 kernel 在输出 msg 时,会在 printk_log 结构中添加时间戳,最终被转换为如下格式:
      [    0.323034] pwm module init!
      [    0.327689] sunxi-pm debug v3.10
      
      • 由上可知,有两点区别:
        busybox 输出的是日历时间,受RTC,NTP等影响,会UTC时间同步。 而 kernel 输出的是系统启动 sched_clock 服务以来的时间。
        busybox 的输出格式带有日期量, 而 kernel 只是启动以来的时间长度值。

      解决方案

      说明
      首先,需要在 busybox 中获取到 kernel 的启动时间,这里我们可采用 clock_gettime 这个函数,该函数支持获取 CLOCK_REALTIME,CLOCK_MONOTONIC,CLOCK_BOOTTIME,CLOCK_PROCESS_CPUTIME_ID等时间值。

      然后,将获取到的时间转换为内核的输出格式。

      步骤

      1, 在 $(TINA_TOPDIR)/package 打附件补丁
      2, 执行 make menuconfig, 按照需要配置目前支持读取 CLOCK_REALTIME,CLOCK_MONOTONIC,CLOCK_BOOTTIME 等时间类型

      Base system  ---> busybox ---> System Logging Utilities  ---> [*] syslogd ---> 
      
      [*]   Support kernel stamp format.
            Choose Time Source (CLOCK_BOOTTIME)  --->
      

      附件:busybox_support_kernel_stamp.diff

      1 Reply Last reply Reply Quote Share 0
      • Referenced by  q1215200171 q1215200171 
      • Referenced by  q1215200171 q1215200171 
      • Referenced by  q1215200171 q1215200171 
      • Referenced by  q1215200171 q1215200171 
      • Referenced by  q1215200171 q1215200171 
      • Referenced by  q1215200171 q1215200171 
      • Referenced by  q1215200171 q1215200171 
      • Referenced by  q1215200171 q1215200171 
      • Referenced by  q1215200171 q1215200171 
      • Referenced by  q1215200171 q1215200171 
      • 1 / 1
      • First post
        Last post

      Copyright © 2022 深圳全志在线有限公司 粤ICP备2021084185号 粤公网安备44030502007680号

      行为准则 | 用户协议 | 隐私权政策