私の当面の目的は、使いやすさを犠牲にすることなく、ラップトップ用の小さなカーネルをコンパイルすることです。私はカーネルのコンパイル手順に精通しています(必ずしもプロセスを理解しているとは限りません)。より高速なslimmerカーネルのためにmenuconfigで取り除くことができるオプションは何ですか?私は試行錯誤の方法を使用しています。つまり、未使用のファイルシステムとドライバーのチェックを外していますが、これは非常に遅いプロセスです。誰かが私に私を向けることができますかすべきではありませんこのプロセスを進めるためのより良い方法に触れますか?この小さな「プロジェクト」はレクリエーション専用です。
システム仕様とOS:
i7 580M、Radeon HD5850、8Gb DDR3、MSIマザーボードx86_64 Ubuntu11.10。
ファイルシステムとドライバーのチェックを外しても、カーネルのサイズはまったく減少しません。これらはモジュールとしてコンパイルされ、使用しているハードウェアに対応するモジュールのみがロードされるためです。
モジュールとしてコンパイルできず、使用していない可能性のあるカーネルの機能がいくつかあります。 Ubuntuの.config
から始めて、カーネルでコンパイルされているもの(y
ではなく、m
)を調べます。機能の目的がわからない場合は、そのままにしておきます。
カーネルのオプション機能のほとんどは、組み込みシステムでは必要ない場合があるため、オプションです。組み込みシステムには2つの特徴があります。小さいため、未使用のコードでメモリを無駄にしないことが重要です。また、専用の目的があるため、不要であることがわかっている機能がたくさんあります。 PCは汎用デバイスであり、多くのサードパーティハードウェアを接続し、多くのサードパーティソフトウェアを実行する傾向があります。この機能やその機能が必要になることは決してないということを事前に知ることはできません。ほとんどの場合、なしで実行できるのは、自分以外のCPUタイプのサポートと、持っていないチップセットのバグの回避策です(モジュールとしてコンパイルされていないものはほとんどありません)。 64ビットカーネルをコンパイルする場合、それらはそれほど多くはありません。歴史的な手荷物がかなりある32ビットx86カーネルほど多くはありません。
いずれにせよ、あなたは重要なものを得るつもりはありません。 8GBのメモリでは、カーネルが使用するメモリはごくわずかです。
カーネルやその他のものを本当に試したい場合は、愛好家またはユーティリティ組み込みボードを入手することをお勧めします( BeagleBoard 、 Gumstix 、 SheevaPlug 、 …)。
私はここで与えられたすべての答えに完全に同意しません。独自のカーネルをコンパイルすると、システム全体が高速になり、ラップトップシステムでは起動時間が速くなります。それは重要です。カスタムカーネルが必要な場合は、そのために作業する必要があります。そして、すべての人々がそうすることをいとわないわけではありません。あなたがそれをする方法を学ぶのに時間をかけることに問題がなければ、それはあなたにとって完璧な解決策です。
.configステップについての簡単なトリックは、現在動作しているカーネル.configから始めて、オプションの理解が深まるにつれて、そこから段階的にストリッピングを開始することです。 「makemenuconfig」を実行して下部に移動し、「load a Alternative config file」を選択して、そこから現在のカーネル.configを見つけます(簡単に見つけるには、cat /proc/config.gz> .config-current)。
カーネルをスリム化しても、目立った利益は得られません。ユーザースペースアプリケーションの削減に時間を費やしたほうがよいでしょう。
カーネルの起動速度と、非常にベアなシステムが使用するメモリ量を確認するには、純粋なシェルだけをロードできます。これを行うには、コンピューターを再起動し、grubを停止します。通常は起動するエントリを編集し(すでに強調表示されているはずです。編集する場合は通常「e」です)、「linux」で始まる行を見つけます。この行では、カーネルにいくつかのパラメーターを指定できます。その行の最後に「init =/bin/sh」を追加し、編集したエントリを起動します(これを行う方法についてはおそらく画面上の指示があります)。
かなり速く起動するはずです。起動したら、free
を使用して、使用可能なメモリ量を確認できます。
bootchart も確認することをお勧めします。これにより、プロセスが起動時に実行していることに関する情報が得られます。
カーネルを取り除くことは、最近のPCでは問題にならない可能性があります。節約できる数メガバイトは、ここにもそこにもありません。カーネルのチューニングは、VAX 11/750の時代に関連があり、実際には1〜2MBのRAMを搭載したマシンしかなかったかもしれません。バッファプールやプロセステーブルのサイズなどを調整するには、マシンRAMと非常に小さいマシンで、かなりのトレードオフを行う必要がありました。そのため、UNIXのようなものとしてある種の神話的なステータスを取得することがありました。達人は理解する必要があります。
現実的には、過去15年間に製造されたPCには、おそらくこれが問題にならないほどの十分なメモリがあります。