カーネルをビルドした後、vmlinuzとinitrdが見つかりませんか?


9

makeを使用してカーネルを構成および構築した後、とがないのですが、巨大なバイナリ(〜150MB)しかvmlinuz-<version>-default.imgありません。initrd-<version>.imgvmlinux


4
走ることを忘れましたmake bzImageか?また、モノリシックカーネルを作成しましたか?DebianのようなOSを実行していますか?もしそうなら、そしてあなたがクロスコンパイルしていないなら、カーネルを構築するより簡単な方法があります。
Alexios 2012年

OpenSUSEでコンパイルしました(ただし、最新のソースはからダウンロードしましたkernel.org)。後make menuconfig、私はタイプmakeし、それが仕事をするようにしました。
Amumu 2012年

1
make bzImagebzImageカーネルを生成する必要があります。言うmake helpいくつかの簡単な手順を参照すること。詳細な手順については、Linuxカーネルのハウツーを確認してください。すべてのmake menuconfig質問にY(適切な場合はMではなく)で答えた場合は、すべてのドライバーを適切なカーネルに含めようとしました。これは非常に悪い考えです。カーネルが大きすぎるため、カーネルは起動しません。initrd画像は、他のツールによって生成されます。
Alexios 2012年

もう一度設定を確認しました。ロード可能なカーネルモジュールのサポートを有効にしていないようです。デフォルトだと思った。もう一度コンパイルして、完了したら通知します。
Amumu

上記のコメントの多くは私にとって良い答えのように見えます。
ジェームスヤングマン

回答:


9

圧縮された画像はの下arch/xxx/boot/にあり、xxxはアーチです。たとえば、x86およびの場合、と一緒にでamd64圧縮画像を取得/usr/src/linux/arch/x86/boot/bzImageしてい/usr/src/linux/vmlinuxます。

それでもイメージがない場合bzip2は、がインストールされて機能しているかどうかを確認します(ただし、それが問題だった場合は、「bzip2が見つかりません」などの説明的なエラーメッセージが表示されます)。

また、カーネル構成では圧縮方法を選択できるため、そのカーネル設定を変更した場合、実際のファイル名と圧縮アルゴリズムは異なる場合があります。

他の人がすでに述べたように、initrdのはされていない Linuxのコンパイルプロセスによって生成されたが、他のツールで。何らかの理由で外部ファイルが必要でない限り(たとえば、を識別またはマウントするためにモジュールまたはudevが必要/)、起動するためにinitrdは必要ありません。


弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.