커널 빌드 시간이 깁니다.

커널 빌드 시간이 깁니다.

커널 빌드 시간과 관련된 작은 문제가 있습니다. 지저분한 글을 써서 죄송합니다. 나는 이것이 정말 끔찍하다. :D 우리 팀은 qemu를 사용하여 우리 제품의 Linux 커널을 다시 빌드하고 있습니다. 우리 모두는 적어도 어느 정도 유사한 하드웨어를 공유합니다(자세한 내용은 나중에 참조). 흥미롭게도 컴파일 시간은 호스트마다 크게 다를 수 있습니다. 3~5분과 1시간의 차이에 대해 이야기합니다.

청소 후 측정해 보세요. 우리는 모두 qemu-arm을 사용하여 전체 시스템(우리가 개발하는 장치의 시스템)의 설치 이미지에서 bash를 에뮬레이션하여 구축했습니다. 시스템 자체가 실행되고 있지 않습니다. chroot+arm bash 시뮬레이션하고, 다른 arm 프로그램을 실행하고, 호스트 커널을 호출하면 됩니다. 호스트 3개 중 2개는 호스트에서 Windows를 실행하므로 전체 Linux(Ubuntu VM) 내에 추가로 패키지됩니다. 모든 호스트는 사용 가능한 모든 코어를 활용합니다.

사용된 하드웨어 및 소프트웨어에 대한 전체 재구축 시간 및 설명:

  1. 호스트 1. Win + Hyper-V는 Ubuntu 20(커널 5.4.3)을 에뮬레이트합니다. I7 8세대 6코어입니다. 16GB RAM. 8은 VM 시간 3분 50초를 의미합니다.
  2. 호스트 2. Win + VMBox(하드웨어 가상화) Ubuntu 18(커널은 알 수 없지만 5+). I7 9번 6번 코어. 약 30분 정도 소요됩니다. 가상 머신용 메모리는 6GB입니다.
  3. 호스트 3. Linux(manjaro). 커널 5.8. I7 6번째 4코어. 40GB RAM. qemu는 Ubuntu VM 없이 호스트에서 실행됩니다. 시간은 약 1 시간입니다.

하드웨어는 약간 다르지만 그러한 차이를 만들기에는 충분하지 않습니다. 프로세서는 거의 동일합니다. 9세대는 8세대보다 더 심하네요. 숫자 6이 범위를 벗어났습니다. 하드웨어 기반(가속) 가상화는 호스트가 없으면 문제가 되지 않습니다. (Linux와 Windows 사이에 약간의 차이가 있을 수도 있습니다. 하지만 궁극적으로 Linux를 기반으로 구축되었기 때문에 큰 의미는 없습니다. Arch/Debian 차이가 없는 것 같습니다.) 램은 최소한이면 상관없습니다. 나는 그것이 모든 상황에서 사실이라고 생각합니다.

이 데이터 중 어느 것도 의미가 없기 때문에 이 글을 씁니다. 또한 이 구성에서 빌드 시간에 영향을 미치는 요소가 무엇인지 알아내려고 노력했지만 보시다시피 매우 구체적입니다. 큰 성공은 없었습니다.

어떤 사양/설정이 빌드에 영향을 미치는지 알고 있나요?

관심과 시간, 글쓰기 스타일에 감사드립니다 ;-)

관련 정보