「Linux-pf」の版間の差分

提供: ArchWiki
ナビゲーションに移動 検索に移動
(文字列「Tips and tricks」を「ヒントとテクニック」に置換)
(リダイレクト)
タグ: 新規リダイレクト
 
(他の1人の利用者による、間の1版が非表示)
1行目: 1行目:
[[Category:カーネル]]
+
#REDIRECT [[カーネル#非公式カーネル]]
[[en:Linux-pf]]
 
[http://pf.natalenko.name/ Linux-pf] は標準の -ARCH カーネルをベースに、以下のパッチを適用したカーネルパッケージです:
 
* [http://ck-hack.blogspot.com/ Con Kolivas の最新の -ck パッチセット、BFS を含む]
 
* [[TuxOnIce]]
 
* [http://algo.ing.unimo.it/people/paolo/disk_sched/ BFQ] (デフォルトの I/O スケジューラとして設定)
 
* [http://kerneldedup.org/projects/uksm/ UKSM]
 
* [http://aufs.sourceforge.net/ AUFS3]
 
 
== インストール ==
 
 
[[AUR]] から {{AUR|linux-pf}} をインストールしてください。linux-pf の長期サポート版は {{AUR|linux-pf-lts}} でインストールできます。
 
 
=== 非公式リポジトリからインストール (推奨) ===
 
 
非公式リポジトリの [[非公式ユーザーリポジトリ#pfkernel|pfkernel]], [[非公式ユーザーリポジトリ#Linux-pf|Linux-pf]], [[非公式ユーザーリポジトリ#archlinuxcn|archlinuxcn]] からコンパイル済みのパッケージをインストールすることができます (汎用、または特定の CPU ファミリに最適化されています)。リポジトリの設定方法は[[非公式ユーザーリポジトリ]]を見て下さい。
 
 
[[Pacman#パッケージのアップグレード|アップグレード]]後、{{ic|pacman -Sl ''repo_name''}} を実行するとリポジトリに含まれているパッケージが表示されます。その後、''linux-pf'' と ''linux-pf-headers'' パッケージをインストールしてください (汎用のバイナリ - リポジトリによっては特定のプラットフォーム用のバイナリも存在します、先の pacman コマンドの出力で確認できます)。[[#設定]]セクションを見て追加設定を行って下さい。
 
 
=== 手動コンパイル ===
 
 
PKGBUILD からコンパイルする場合、ユーザーが選択する選択肢が大量にあります:
 
{{bc|<nowiki>
 
==> Hit <Y> to use your running kernel's config
 
(needs IKCONFIG and IKCONFIG_PROC)
 
==> Hit <L> to run 'make localmodconfig'
 
==> Hit <N> (or just <ENTER>) to build an all-inclusive kernel like stock -ARCH
 
(warning: it can take a looong time)
 
</nowiki>}}
 
既にカスタムカーネルをコンパイル・実行しているユーザーは <Y> オプションを使って下さい。PKBGUILD は現在のカーネルの設定を読み込んで後のコンパイルで使用します。<L> オプションはユーザーのハードウェアを自動検出します: まず [[modprobed-db]] モジュールデータベースが使えるか試行して、それが出来なかった場合、linux カーネルの {{ic|make localmodconfig}} 機能を使います。最後のオプションは文字通りそのままです。
 
 
{{bc|<nowiki>
 
==> Kernel configuration options before build:
 
<M> make menuconfig (console menu)
 
<N> make nconfig (newer alternative to menuconfig)
 
<G> make gconfig (needs gtk)
 
<X> make xconfig (needs qt)
 
<O> make oldconfig
 
<ENTER> to skip configuration and start compiling
 
</nowiki>}}
 
カーネルを設定するユーザーインターフェイスの中から使いたいものを選択してください。前のステップで <Y> や <L> を選択した場合、最後の選択肢は未解決・新規の設定オプションの警告が表示されます。
 
 
{{bc|<nowiki>
 
==> An non-generic CPU was selected for this kernel.
 
==> Hit <G> : to create a generic package named linux-pf
 
==> Hit <ENTER> : to create a package named after the selected CPU
 
(e.g. linux-pf-core2 - recommended)
 
==> This option affects ONLY the package name. Whether or not the
 
==> kernel is optimized was determined at the previous config step.
 
</nowiki>}}
 
前のステップで特定の CPU 最適化をすることを選択した場合、デフォルトで CPU がパッケージの名前に付けられます。この場合、後でリポジトリからパッケージを更新したときは汎用のパッケージではなく最適化されたパッケージが使われます。最適化した linux-pf カーネルでロードした場合に動作しなくなる可能性がある、サードパーティ製のコンパイル済みモジュール (例: nvidia-pf) との互換性が向上します。
 
 
==== コンパイルしたパッケージのインストール ====
 
 
コンパイルが完了すると、''linux-pf-headers[-cpu]'' パッケージが作成されます。[[NVIDIA]] や [[VirtualBox]] などの追加モジュールを使う場合は、インストールしてください。
 
 
# pacman -U linux-pf-core2-3.3.2-1-$CPUTYPE.pkg.tar.xz linux-pf-headers-core2-3.3.2-1-$CPUTYPE.pkg.tar.xz
 
 
カーネルのインストール時、[[mkinitcpio]] がインストールスクリプトから呼び出されて initramfs が再生成されます。
 
{{Note|インストール後に {{ic|/etc/mkinitcpio.conf}} に変更を加えたら、初期 RAM ディスクを再生成するために {{ic|mkinitcpio -p linux-pf}} を実行してください。}}
 
 
== 設定 ==
 
 
次に、[[ブートローダー]]に linux-pf のブートエントリを追加する必要があります (以下はメンテナのコンピュータにおける例です):
 
{{bc|<nowiki>
 
title Linux-pf 3.2
 
root (hd0,4)
 
kernel (hd0,0)/vmlinuz-linux-pf root=/dev/disk/by-label/ROOT ro vga=0x318 lapic resume=/dev/disk/by-label/SWAP video=vesafb:ywrap,mtrr:3 fastboot quiet
 
initrd (hd0,0)/initramfs-linux-pf.img
 
</nowiki>}}
 
 
TuxOnIce を使ってハイバネーションを行う場合、{{ic|/etc/mkinitcpio.conf}} の MODULES 行に必要なモジュールを追加してください。そして (最低でも) ''resume'' フックを HOOKS 行に追加します:
 
{{bc|<nowiki>
 
MODULES="... lzo tuxonice_compress tuxonice_swap tuxonice_userui ..."
 
HOOKS="... block userui resume filesystems ..."
 
</nowiki>}}
 
上記の例では、サスペンドしたイメージを保存するためにスワップパーティションを使うように TuxOnIce を設定しています。''resume'' フックは ''filesystems'' の前に追加してください。また、''userui'' でプログレスインジケータを表示しています。詳しい説明は [[TuxOnIce]] の wiki ページを読んで下さい。
 
 
最後に、[[pm-utils]] と [[en2:hibernate-script|hibernate-script]] のどちらを使ってサスペンドするか選択します。詳しくは、それぞれの wiki ページを参照してください。[[TuxOnIce]] はテキストモードのオプションと、[[fbsplash|フレームバッファスプラッシュ]]のプログレスインジケータのオプションを提供しています。
 
 
== ヒントとテクニック ==
 
 
* ディスクの性能に問題が発生したり一時的に停止してしまう場合、I/O スケジューラが問題です。linux-pf のデフォルトのスケジューラ (BFQ) 以外のスケジューラを試してみて下さい。{{ic|/sys/block/sda/queue/scheduler}} を ''cfq'', ''noop'', ''deadline'' のどれかに設定します: {{ic|# echo noop >| /sys/block/sda/queue/scheduler}}。このコマンドは1番目のハードドライブの I/O スケジューラしか設定しないので注意してください。他にもドライブがある場合、同じように ''echo'' を実行する必要があります。コマンドを実行することで問題が解消する場合、"''elevator''='''''cfq'''''" ('''''noop''''', '''''deadline''''') を {{ic|/boot/grub/menu.lst}} の linux-pf コマンドラインに追加することで、変更を永続化できます。
 
* カーネルを自分で設定してビルドしたときに、"missing include/config/dvb/*.h files" というエラーでコンパイルが中止されてしまう場合、''Device Drivers / <M> Multimedia support'' で ''[*] Digital TV support'' を設定してください (他のオプションはオフのままにしておいてください)。必要な dvb.h が作成され、コンパイルが続行できるようになります。
 
 
== linux-pf のフォーラムスレッド ==
 
 
エラーを報告したり、感想やアイデア、リクエストを投稿するための [https://bbs.archlinux.org/viewtopic.php?id=103462 議論スレッド] が BBS にあります。
 
 
== 参照 ==
 
 
* [https://bitbucket.org/nous/linux-pf/ linux-pf mercurial リポジトリ]
 
* [http://pf.natalenko.name/ パッチセットホームページ]
 
* [http://pf.natalenko.name/forum パッチセットコミュニティフォーラム]
 
* [http://freecode.com/projects/pf-kernel パッチセットの変更履歴]
 

2021年8月20日 (金) 15:48時点における最新版