커널 시작에서 dmesg AKA 커널 로그를 단일 .txt 파일로 덤프하는 방법은 무엇입니까?

커널 시작에서 dmesg AKA 커널 로그를 단일 .txt 파일로 덤프하는 방법은 무엇입니까?

저는 SATA 호스트 장치 통신을 이해하려고 노력하고 있으며 이를 위해 커널 드라이버 코드에 많은 디버그 메시지를 넣었습니다. 이제 메시지 수가 너무 많아서 dmesg 로그에서 장치 열거에 대한 초기 메시지를 볼 수 없습니다. 마찬가지로 dmesg가 메시지를 받을 수 있도록 링 버퍼 크기를 늘리기 위해 CONFIG_LOG_BUF_SHIFT(=21) 구성 변수를 수정했지만 여전히 같은 문제에 직면해 있습니다.

그렇다면 커널 부팅의 모든 dmesg를 특정 파일에 기록할 수 있는 방법이 있습니까?

귀하의 도움에 미리 감사의 말씀을 전하고 싶습니다.

답변1

당신은 그것을 사용할 수 있습니다 :

cat /var/log/dmesg > file.txt

그리고 다음을 사용하세요:

head /var/log/dmesg

dmesg의 첫 번째 줄을 보려면.

자세한 사양은 "헤드"를 참조하세요. ">" 기호는 "cat"의 출력을 "file.txt"로 리디렉션합니다.

답변2

dmesg로그를 표준 출력으로 인쇄하는 명령이 있습니다 . 표준 출력을 텍스트 파일로 리디렉션할 수 있습니다.

dmesg > /path/to/dmesg.txt

이것을 연장할 수 있습니다. 정말 유용한 옵션은 ~/.profile로그인 시 dmesg의 출력을 추가하는 행을 파일(홈 디렉터리)에 추가하는 것입니다. 한 줄만 추가하면 됩니다:

dmesg >> /path/to/dmesg.txt

처음 몇 행(0.000000개의 메시지)만 원하는 경우 head다음과 같이 파이프할 수 있습니다.

표준 출력을 사용하십시오.

dmesg | head

또는 head저장된 .txt 파일을 사용하세요.

head /path/to/dmesg.txt

이상입니다. 도움이 되었으면 좋겠습니다!

편집하다:그런데 여기에는 0.000000개의 메시지가 포함되어 있습니다.

관련 정보