![initramfs를 사용하여 트리 모듈과 커널에서 빌드할 때 순환 종속성을 피하는 방법은 무엇입니까?](https://linux55.com/image/192333/initramfs%EB%A5%BC%20%EC%82%AC%EC%9A%A9%ED%95%98%EC%97%AC%20%ED%8A%B8%EB%A6%AC%20%EB%AA%A8%EB%93%88%EA%B3%BC%20%EC%BB%A4%EB%84%90%EC%97%90%EC%84%9C%20%EB%B9%8C%EB%93%9C%ED%95%A0%20%EB%95%8C%20%EC%88%9C%ED%99%98%20%EC%A2%85%EC%86%8D%EC%84%B1%EC%9D%84%20%ED%94%BC%ED%95%98%EB%8A%94%20%EB%B0%A9%EB%B2%95%EC%9D%80%20%EB%AC%B4%EC%97%87%EC%9E%85%EB%8B%88%EA%B9%8C%3F.png)
커널을 크로스 컴파일하고 있으며 장치 공급업체에서 제공한 트리 외부 커널 모듈이 있습니다. 커널이 처음에 빌드된 후 모듈이 제대로 실행되었습니다.
이제 커널에서 initramfs를 활성화하려고 합니다. 커널 모듈은 initramfs 이미지에 포함되어야 합니다. 이로 인해 순환 종속성이 발생합니다.
- 커널은 initramfs 이미지 파일(에 설정됨
CONFIG_INITRAMFS_SOURCE
) 에 따라 다릅니다. - initramfs 이미지 파일은 트리 외부 커널 모듈에 따라 다릅니다.
- 트리 외부 커널 모듈은 빌드 중인 커널에 따라 다릅니다.
내 최선의 해결책은 다음과 같습니다.
- initramfs rootfs 이미지에 대한 빈 파일을 만듭니다.
- 커널 빌드
- 빌딩 블록
- 실제 initramfs 이미지 빌드
- 커널 재구축
그러나 이로 인해 make
종속성 추적이 중단되고 정상적인 개발 주기 동안 불필요한 재구축이 많이 발생합니다. 실제로 전체 커널을 빌드하지 않고도 트리 외부 모듈에 필요한 도구를 빌드할 수 있는 커널 빌드 타겟이 있습니까?