정적 하드웨어를 사용하면 커널을 업데이트할 때마다 dtb를 다시 컴파일해야 합니까?

정적 하드웨어를 사용하면 커널을 업데이트할 때마다 dtb를 다시 컴파일해야 합니까?

내가 이해한 바로는 검색/열거를 위한 버스 지원이 없는 시스템(주로 임베디드 시스템)에서 dtb 파일은 하드웨어를 설명하고 커널이 이를 메모리에 로드한 후 사용할 수 있도록 하는 데 사용됩니다.

그렇다면 그러한 시스템의 커널만 업데이트한다고 가정하면 dtb도 업데이트해야 합니까? 하드웨어에 대해서만 설명하고 하드웨어가 변경되지 않았으니 간단히 재사용할 수는 없을까?

내 라즈베리 파이에 업데이트된 커널을 설치하는 동안 이 문제가 발생했습니다.공식 빌드 문서그리고 내가 찾을 수 있는 다른 모든 튜토리얼에서는 dtb 파일 컴파일 및 복사에 대해 명시적으로 언급하고 있으므로 하드웨어가 변경되지 않기 때문에 이 단계가 실제로 필요한지 궁금합니다.

답변1

주로 커널과 장치 트리는 서로 독립적이어야 합니다. 따라서 그렇습니다. 일반적으로 이전 dtb와 함께 새로 컴파일된 커널을 사용할 수 있으며 그 반대의 경우도 마찬가지입니다.

물론 장치 트리가 특정 버전의 장치 드라이버에 의존하거나 새 커널에 다른 장치 트리 속성이 필요한 경우에는 더 이상 그렇지 않습니다.

이제 새로운 dtb를 구축하는 것은 dtc몇 밀리초의 문제이고 튜토리얼 작성자는 일부 패치가 실제로 dts 또는 dtsi 파일을 변경했는지 알지 못한다는 점을 고려하면 커널과 함께 dtb를 구축하고 배포하는 것이 좋습니다.

관련 정보