あるシステムからカーネルを構築し、別のシステムにインストールする

あるシステムからカーネルを構築し、別のシステムにインストールする

私のホストコンピュータにLinuxカーネルを構築し、それをVWware仮想マシンで使用したいと思います。今、彼らはすべて同じUbuntuカーネルを使用しています。

私のホストmakemake configure。それでは、実行するmake modules_install前にターゲットコンピュータにどのファイルをコピーする必要がありますかmake install

また何をすべきですか?

答え1

gertvdijkの答えについてコメントしたいのですが、コメントする担当者が十分ではありません。

rpm-pkg、deb-pkg、snap-pkgがmakeの実行可能なターゲットなので、今必要なのかわかりません。

Ubuntuの場合は、以下を使用したいと思います。

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の再構築など)

UbuntuコミュニティWikiからカーネル/コンパイル代替ビルド方法これを行う方法のいくつかのステップが提供されます。

デフォルトでは、アップストリームドキュメントからカーネルをビルドするのと同じですが、システムにランダムにインストールするのではなく、make「偽のルート」環境でビルドしてそれを使用してパッケージを作成します。

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

.debこれにより、別のコンピュータに転送し、次を使用してインストールできるバイナリが作成されます。

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

関連情報