busybox dmesg 이전 타임스탬프 형식

busybox dmesg 이전 타임스탬프 형식

저는 오래된 커널(3.14.29)을 실행하는 arm 보드를 개발 중입니다.

dmesg출력을 가져와서 전달 하려고 합니다 .bootgraph.pl커널 부팅 시퀀스의 SVG를 생성합니다. 그러나 dmesg출력을 전달한 후 bootgraph.pl다음을 얻습니다.

Illegal division by zero at bootgraph.pl line 179

busybox dmesg좀 더 조사한 후에 타임스탬프 출력이 표준이 아니라는 것을 발견했습니다 .

예를 들어, dmesgutil-linux에서 제공하는 표준에서 출력은 다음과 같습니다.

[    0.037644] calling  trace_init_flags_sys_exit+0x0/0x14 @ 1
[    0.037650] initcall trace_init_flags_sys_exit+0x0/0x14 returned 0 after 0 usecs
[    0.037656] calling  trace_init_flags_sys_enter+0x0/0x14 @ 1
[    0.037661] initcall trace_init_flags_sys_enter+0x0/0x14 returned 0 after 0 usecs
[    0.037666] calling  init_hw_perf_events+0x0/0x150 @ 1
[    0.037670] hw perfevents: enabled with arm/armv8-pmuv3 PMU driver, 7 counters available
[    0.037697] initcall init_hw_perf_events+0x0/0x150 returned 0 after 0 usecs
[    0.037701] calling  cpu_suspend_init+0x0/0xa4 @ 1
[    0.037707] initcall cpu_suspend_init+0x0/0xa4 returned 0 after 0 usecs
[    0.037713] calling  spawn_ksoftirqd+0x0/0x64 @ 1
[    0.057161] initcall spawn_ksoftirqd+0x0/0x64 returned 0 after 19531 usecs

출력은 busybox dmesg다음과 같습니다.

[    0.037644@0] calling  trace_init_flags_sys_exit+0x0/0x14 @ 1
[    0.037650@0] initcall trace_init_flags_sys_exit+0x0/0x14 returned 0 after 0 usecs
[    0.037656@0] calling  trace_init_flags_sys_enter+0x0/0x14 @ 1
[    0.037661@0] initcall trace_init_flags_sys_enter+0x0/0x14 returned 0 after 0 usecs
[    0.037666@0] calling  init_hw_perf_events+0x0/0x150 @ 1
[    0.037670@0] hw perfevents: enabled with arm/armv8-pmuv3 PMU driver, 7 counters available
[    0.037697@0] initcall init_hw_perf_events+0x0/0x150 returned 0 after 0 usecs
[    0.037701@0] calling  cpu_suspend_init+0x0/0xa4 @ 1
[    0.037707@0] initcall cpu_suspend_init+0x0/0xa4 returned 0 after 0 usecs
[    0.037713@0] calling  spawn_ksoftirqd+0x0/0x64 @ 1
[    0.057161@0] initcall spawn_ksoftirqd+0x0/0x64 returned 0 after 19531 usecs

두 번째 출력의 문제는 @ 기호 뒤에 숫자 [0.037661 @0]가 붙는 것입니다. 이 하위 문자열을 모두 제거한 후 bootgraph.pl로그를 구문 분석하고 SVG를 생성할 수 있었습니다.

그래서 제 질문은 이 문자열(@0)이 무엇을 참조하는지 입니다. busybox dmesg 출력에서 ​​이를 제거할 수 있나요?

편집하다:busybox dmesg보드가 부팅될 때 직렬 콘솔을 보면 (두 번째 형식)과 동일한 메시지가 표시되므로 @digit문제는 버전 3.14.29 이후의 형식이 다른 이전 커널과 관련된 것 같습니다. 커널? 아니면 마더보드 공급업체가 커널에 추가한 것입니까?

관련 정보