カーネルバージョン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
不必要な膨張がどこから来ているのか誰かが説明できますか?
make oldconfig
、make
、およびmake install
を使用してカーネルとモジュールを構築する場合、結果のモジュールには、ファイルで利用可能なデバッグ情報が含まれます。
デバッグシンボルを削除するには、 INSTALL_MOD_STRIP
オプションを使用します。
make INSTALL_MOD_STRIP=1 modules_install
同様に、debパッケージをビルドする場合:
make INSTALL_MOD_STRIP=1 deb-pkg