ティーザーとしては、YouTubeのフルスクリーンビデオの速度が実際に低下することはなく、システムの応答性と高速性が向上したとしか言えません。
だから、根拠がないように、始めましょう。 Ubuntu 9.04(Jaunty)がインストールされていることを前提としています。
コア
このスケジューラは2.6.30+カーネル用に書かれているため、Jauntyのデフォルトの2.6.28カーネルは私たちには合いません。 2.6.30をダウンロードする必要がありますが、現時点ではブランチから最新の2.6.30.5をダウンロードする必要があります。
Ubuntu開発者が.debに慎重にパッケージ化したソースをダウンロードします。
wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v2.6.30.5/linux-source-2.6.30_2.6.30-02063005_all.deb
ソースをインストールします。
sudo dpkg -i linux-source-2.6.30_2.6.30-02063005_all.deb
cd /usr/src
sudo tar xvjf linux-source-2.6.30.tar.bz2
コアはまだ完成しています。
パッチbfs
次に、BrainFuck Schedulerパッチをインストールする必要があります。 パッチおよびその他の関連ファイルのあるディレクトリは、 ck.kolivas.org / patches / bfsにあります。
2.0.9執筆時点でのパッチの最新の最新バージョンは、 ck.kolivas.org / patches / bfs / 2.6.30-sched-bfs-209.patchです。
パッチをダウンロードして適用します。
cd /usr/src/linux-source-2.6.30/
sudo wget http://ck.kolivas.org/patches/bfs/2.6.30-sched-bfs-209.patch
sudo patch -p1 < 2.6.30-sched-bfs-209.patch
パッチは「リバースパッチを想定」で2回宣誓します。「いいえ」と答え、「適用しますか?」-「はい」と答える必要があります。
パッチを適用したカーネルアセンブリ
今、いつものように収集します。 常にアセンブルする方法がわからない人、簡単な紹介-カーネルを構築するためのDebian / Ubuntuには、便利なユーティリティkernel-packageがあります。 したがって、最初にそれをインストールするか、それ(および他のいくつかの必要なプログラム)がインストールされていることを確認します。
sudo apt-get install kernel-package libncurses5-dev fakeroot wget bzip2
次に、既存の構成に基づいて新しいカーネル構成を生成します。
sudo cp /boot/config-`uname -r` ./.config
sudo make menuconfig
ここで、いくつかの変更を行う必要があります。
UPD coldFlameからの修正 -これらの変更は必須ではありません。さらに、ラップトップでは推奨されません。 FAQから
これらは最低レイテンシーのオプションです。 これらは必要ありません!
カーネルを1000Hzで構成し、プリエンプションONおよび動的ティックを無効にします。
- プロセッサのタイプと機能->タイマー周波数を1000Hzに設定
- プロセッサの種類と機能-> Tickless System(Dynamic Ticks)disable
- プロセッサのタイプと機能->プリエンプションモデル->プリエンプティブカーネル(低遅延デスクトップ)
設定を終了して保存します。
次に、アセンブリ自体。 もちろん、タイトルで約5分、私は嘘をつきました:)が、ビルドフェーズを無視し(調整)、上記のパッケージのダウンロード速度を無限にした場合、5分に追いつくことができます。 :)
sudo make-kpkg clean
fakeroot make-kpkg --initrd --append-to-version=-bfuck kernel_image kernel_headers
すべてがうまくいけば、/ usr / src /に2つの.debパッケージがあり、ファイルヘッダーがあり、カーネルとモジュールが直接あります。 それらをインストールします。
sudo dpkg -i /usr/src/*bfuck*.deb
この場合、カーネルとモジュールがシステムにインストールされ、新しいinitrdが生成され、依存する外部モジュールが再構築され(nvidiaを除くが、以下で詳細を説明します)、grubは新しいカーネルについて自動的に学習します。
すべて、再起動できます。
NVidiaドライバー
デフォルトでリポジトリにあるドライバー-新しいカーネルには自動的にインストールされませんが、エラーが発生します。 これにより、自動インストールスクリプトの魅力がなくなり、Nvidia Webサイトから最新のインストールバイナリをダウンロードするか、ドライバー用のパッチを使用して美しい方法を使用するかの2つのオプションがあります。
したがって、nvidiaモジュールのパッチをダウンロードします。
wget http://lionsimba.lerlan.ru/temp/proc-dir-entry-owner.patch
/usr/src/nvidia-180.44/patches/にコピーします
sudo cp proc-dir-entry-owner.patch /usr/src/nvidia-180.44/patches/
/usr/src/nvidia-180.44/dkms.confファイルに次の行を追加します。
PATCH[1]="proc-dir-entry-owner.patch"
PATCH_MATCH[1]="^2.6.30"
すべて、dkmsのすべての楽しみを使用でき、Nvidiaドライバーが新しいカーネルで動作することを確認できます。
UPD これらのコメントを見るのは理にかなっています。
おわりに
印象のために。 このシステムは、さまざまなアクション中の主観的により敏感で、微妙ではあるが迷惑な一時停止が削除されました。 YouTubeのフルスクリーンビデオ-私は確認します:)-本当に遅くなりません。 これまでに気づいたことから-Windows用のKompizovリングスイッチャーはほとんど瞬時になりました-より早く、重さと遅さの感覚を残しました。 私は基本的にテスト、ベンチマーク、測定を行いません。マシンを操作することによる主観的な感覚は私にとってより重要です。
私は今のところ、このカーネルとこのスケジューラに間違いなくとどまっています。
UPD パッチバージョン2.10は2.6.31-rc9に適用されます( davnozduに感謝)