web-dev-qa-db-ja.com

なぜ私の最初のramdiskはとても大きいのですか?

カーネルバージョン3.0.0-14に付属のUbuntu11.10を実行しています。 3.1.0ブランチからカーネルをダウンロードしてビルドしました。新しいカーネルをインストールした後、/boot/initrd.img-3.1.0ファイルが巨大であることがわかりました。私の/boot/initrd.img-3.0.0-14-genericは約13MBですが、114MBです。明らかに不要な膨らみを解消したい。

新しいカーネルを構築するとき、元のカーネルの構成を維持するために、/boot/config-3.0.0-14-genericをビルドディレクトリの.configにコピーしました。 make oldconfigを実行し、すべての新しいオプションのデフォルトを選択してから、カーネルを構築しました。

各initrd cpioアーカイブ内のファイルサイズを見ると、すべての.koモジュールのサイズが3.0.0ラムディスクでは3.0.0-14よりも大きいことがわかります。設定ファイルで不要なデバッグフラグがチェックされていると想定していましたが、3.0.0-14設定ファイルでまだ有効になっていない違いは何も表示されません。

私の/boot/config-3.0.0-14-genericはこちら: http://Pastebin.com/UjH7nEqd

そして私の/boot/config-3.0.1はここにあります: http://Pastebin.com/HyT0M2k1

不必要な膨張がどこから来ているのか誰かが説明できますか?

12
Finer Recliner

make oldconfigmake、およびmake installを使用してカーネルとモジュールを構築する場合、結果のモジュールには、ファイルで利用可能なデバッグ情報が含まれます。

デバッグシンボルを削除するには、 INSTALL_MOD_STRIP オプションを使用します。

make INSTALL_MOD_STRIP=1 modules_install

同様に、debパッケージをビルドする場合:

make INSTALL_MOD_STRIP=1 deb-pkg
15
Lekensteyn