가상 머신에 사용자 정의 커널을 설치하는 가장 빠른 방법

가상 머신에 사용자 정의 커널을 설치하는 가장 빠른 방법

여러 가상 머신에 설치해야 하는 사용자 지정 커널이 있습니다.

이를 수행하는 한 가지 방법은 소스를 각 VM으로 전송한 다음 컴파일하고 설치하는 것입니다.

호스트에서 컴파일하고 일부 파일을 전송하거나 호스트 파일을 통해 커널을 설치할 수 있는 더 빠른 방법이 있는지 알고 싶습니다.

호스트와 게스트 OS는 모두 우분투 14.04이고 KVM을 하이퍼바이저로 사용하고 있습니다.

나는 이것을 사용했다링크커널을 컴파일하고 설치합니다.

답변1

유통업체의 포장 시스템을 사용하는 것이 좋습니다. 사용자 지정 커널 패키지를 만든 다음 가장 쉬운 방법으로 VM에 배포할 수 있습니다. 많은 배포판에서는 선호하는 패키지 관리자를 사용하여 이 작업을 수행하는 방법에 대한 지침을 제공합니다(Ubuntu의 경우 아래 참조).

커널(및/또는 기타 소프트웨어)을 자주 다시 빌드하는 경우 다음을 수행할 수 있습니다.로컬 패키지 저장소 생성(예: 호스트에서) 게스트 저장소 목록에 추가합니다. 그러면 게스트는 새 패키지가 제공되는 즉시 가져올 수 있습니다.

배포할 패키지가 몇 개뿐인 경우 호스트의 임시 로컬 패키지 캐시에 배치하는 것도 효과적입니다. Samba를 사용하여 게스트와 이 위치를 공유하거나 rsync필요한 경우 수동으로 패키지를 공유하세요.


우분투에서는사용자 정의 커널 패키지 구축다음과 같이 요약됩니다.

  1. 소스 가져오기

    • apt-get source linux-image-$(uname -r)또는
    • git clone git://kernel.ubuntu.com/ubuntu/ubuntu-<releasename>.git
  2. 빌드 환경 준비

    • sudo apt-get build-dep linux-image-$(uname -r)
  3. 커널 구성 수정

    • chmod a+x debian/rules debian/scripts/* debian/scripts/misc/*
    • fakeroot debian/rules clean
    • fakeroot debian/rules editconfigs(각각 살펴보며)
    • +myVer1첫 번째 버전 번호 끝에 로컬 버전 식별자(예: )를 추가 debian.master/changelog하면 apt공식 저장소 버전보다 최신 커널로 인식됩니다.
  4. 커널 빌드

    • fakeroot debian/rules clean
    • fakeroot debian/rules binary-headers binary-generic binary-perarch(빠른 빌드) 또는
    • fakeroot debian/rules binary(linux-tools 또는 낮은 대기 시간이 필요한 경우 속도가 느려짐)

빌드가 성공하면 사용자 정의 .deb패키지가 빌드 루트 위의 디렉터리에 있게 됩니다.

관련 정보