私はカーネルバージョンに付属のUbuntu 11.10を実行しています3.0.0-14
。私はブランチからカーネルをダウンロードしてビルドしました3.1.0
。新しいカーネルをインストールした後、私の/boot/initrd.img-3.1.0
ファイルが非常に大きいことがわかりました。 114MBで、私は/boot/initrd.img-3.0.0-14-generic
約13MBです。私は明らかに不要な膨らみを取り除きたいです。
新しいカーネルをビルドするときに、元のカーネルの構成を保存するために、カーネルをビルドディレクトリ/boot/config-3.0.0-14-generic
にコピーしました。.config
を実行し、make oldconfig
すべての新しいオプションのデフォルト値を選択し、カーネルを構築しました。
各initrd cpioアーカイブのファイルサイズを見ると、3.1.0ラムディスクのすべての.koモジュールが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
不要な膨らみがどこから来るのかを説明できる人はいますか?
ベストアンサー1
make oldconfig
を使用make
してカーネルとモジュールをビルドすると、生成されたmake install
モジュールはファイル内のデバッグ情報を使用できます。
使用INSTALL_MOD_STRIP
デバッグシンボルを削除するオプション:
make INSTALL_MOD_STRIP=1 modules_install
同様に deb パッケージをビルドします。
make INSTALL_MOD_STRIP=1 deb-pkg