initramfs를 사용하여 트리 모듈과 커널을 구축할 때 순환 종속성을 어떻게 피할 수 있나요?

initramfs를 사용하여 트리 모듈과 커널을 구축할 때 순환 종속성을 어떻게 피할 수 있나요?

커널을 크로스 컴파일하고 있는데 장치 공급업체에서 제공한 트리 커널 모듈이 없습니다. 원래 커널이 빌드된 다음에는 모듈이 제대로 작동했습니다.

이제 커널에서 initramfs를 활성화하려고 합니다. 커널 모듈은 initramfs 이미지에 포함되어야 합니다. 이로 인해 순환 종속성이 발생합니다.

  • 커널은 initramfs 이미지 파일(에 설정됨 CONFIG_INITRAMFS_SOURCE) 에 따라 다릅니다.
  • initramfs 이미지 파일은 트리 커널 모듈 외부에 따라 다릅니다.
  • 트리 외부 커널 모듈은 빌드 중인 커널에 따라 다릅니다.

내가 가진 가장 좋은 해결 방법은 다음과 같습니다.

  1. initramfs rootfs 이미지에 대한 빈 파일을 만듭니다.
  2. 커널 빌드
  3. 모듈 빌드
  4. 실제 initramfs 이미지 빌드
  5. 커널을 다시 빌드하세요

그러나 이로 인해 make종속성 추적이 중단되고 정상적인 개발 주기 동안 불필요한 재구축이 많이 발생합니다. 실제로 전체 커널을 빌드하지 않고 트리 외부 모듈에 필요한 도구를 빌드하는 커널 빌드 대상이 있습니까?

관련 정보