한 시스템에서 커널을 빌드하고 다른 시스템에 설치

한 시스템에서 커널을 빌드하고 다른 시스템에 설치

내 호스트 컴퓨터에 Linux 커널을 구축하고 이를 VWware 가상 컴퓨터에서 사용하고 싶습니다. 이제 그들은 모두 동일한 우분투 커널을 사용합니다.

내 호스트에서 makemake configure. 그렇다면 실행하기 make modules_install전에 대상 컴퓨터에 어떤 파일을 복사해야 합니까 make install?

또 무엇을 해야 합니까?

답변1

gertvdijk의 답변에 대해 논평하고 싶지만 논평할 담당자가 충분하지 않습니다.

rpm-pkg, deb-pkg, snap-pkg가 make의 실행 가능한 대상이므로 지금 필요한지 모르겠습니다.

우분투의 경우 다음을 사용하고 싶을 것 같습니다.

make bindeb-pkg

make deb-pkg(소스를 포함해야 하는 경우 사용)

RPM 배포판(RHEL, Fedora, CentOS)에서는 rpm-pkg/binrpm-pkg를 사용할 수 있습니다.

make help모든 옵션은 커널 패키징 섹션을 참조하세요.

Kernel packaging:
    rpm-pkg             - Build both source and binary RPM kernel packages
    binrpm-pkg          - Build only the binary kernel RPM package
    deb-pkg             - Build both source and binary deb kernel packages
    bindeb-pkg          - Build only the binary kernel deb package
    snap-pkg            - Build only the binary kernel snap package (will connect to external hosts)
    tar-pkg             - Build the kernel as an uncompressed tarball
    targz-pkg           - Build the kernel as a gzip compressed tarball
    tarbz2-pkg          - Build the kernel as a bzip2 compressed tarball
    tarxz-pkg           - Build the kernel as a xz compressed tarball
    perf-tar-src-pkg    - Build perf-5.2.0.tar source tarball
    perf-targz-src-pkg  - Build perf-5.2.0.tar.gz source tarball
    perf-tarbz2-src-pkg - Build perf-5.2.0.tar.bz2 source tarball
    perf-tarxz-src-pkg  - Build perf-5.2.0.tar.xz source tarball

답변2

이를 수행하는 "가장 좋은" 방법은 패키지로 빌드하는 것입니다. 그런 다음 동일한(주) Ubuntu 버전을 실행하는 모든 컴퓨터에 배포하고 설치할 수 있습니다.

소스 코드에서 일반 커널을 빌드하기 위해 make-kpkg커널을 패키지로 빌드할 수 있는 도구가 있습니다. 기타 주요 장점: 간단한 패키지 제거를 통한 손쉬운 복구, 패키지 관리 자동 트리거(예: DKMS 재구축) 등

우분투 커뮤니티 위키에서커널/컴파일 대체 빌드 방법이를 수행하는 방법에 대한 몇 가지 단계가 제공됩니다.

기본적으로 업스트림 문서에서 커널을 빌드하는 것과 동일하지만 make시스템에 무작정 설치하는 대신 "가짜 루트" 환경에서 빌드하고 이를 사용하여 패키지를 만듭니다.

fakeroot make-kpkg --initrd --append-to-version=-some-string-here \
  kernel-image kernel-headers

.deb그러면 다른 컴퓨터로 전송하고 다음을 사용하여 설치할 수 있는 바이너리가 생성됩니다.

dpkg -i mykernelfile-image.deb mykernelfile-headers.deb ...

관련 정보