非公式ユーザーリポジトリ/Repo-ck
関連記事
Repo-ck は Con Kolivas による BFS (Brain Fuck Scheduler) や -ck
パッチセットを搭載した、汎用と CPU 最適化済みのカーネルとサポートパッケージが含まれた、非公式の Arch Linux リポジトリです。
目次
インストール
repo-ck リポジトリを pacman.conf
に追加して Graysky の鍵に署名してください。
カーネルと関連パッケージ
公式カーネルは2種類 (i686 と x86_64) あり、どちらも汎用パッケージです。i686 は全ての x86 互換の CPU で動作し、x86_64 は x86_64 互換の全ての CPU で動作します。ユーザーは汎用の linux-ck パッケージのどちらかを使用するか、特定の CPU に最適化されたパッケージを使うか選択できます。
make menuconfig
で Processor type and features > Processor family を選択したり、.config
を調整することで特定の CPU の最適化を使うことができます。設定を変更すると CFLAGS
など make の GCC オプションがセットアップされます。
*
が付いているパッケージは64ビット環境でのみ利用できます。こちらのフォーラム投稿 を参照。
CPU タイプ | グループエイリアス | 説明 |
---|---|---|
Generic | ck-generic | 公式 Arch Linux カーネルと同じような汎用カーネル。 |
Intel | ck-atom | Intel Atom 専用の最適化。 |
ck-silvermont * | Intel Silvermont 専用の最適化。 | |
ck-core2 | Intel Core 2 ファミリー Dual や Quads など。 | |
ck-nehalem * | Intel の第1世代 Core i3/i5/i7 ファミリー | |
ck-sandybridge * | Intel の第2世代 Core i3/i5/i7 ファミリー | |
ck-ivybridge * | Intel の第3世代 Core i3/i5/i7 ファミリー | |
ck-haswell * | Intel の第4世代 Core i3/i5/i7 ファミリー | |
ck-broadwell * | Intel の第5世代 Core i3/i5/i7 ファミリー | |
ck-skylake * | Intel の第6世代 Core i3/i5/i7 ファミリー | |
ck-p4 | Intel Pentium-4 (P4/P4 ベースの Celeron/Pentium-4 M/旧式の Xeon)。 | |
ck-pentm | Intel Pentium-M (Pentium-M ノートパソコンチップ/Pentium-4 M 以外)。 | |
AMD | ck-kx | AMD K7/K8 ファミリー |
ck-k10 * | AMD K10 ファミリー 61xx Eight-Core Magny-Cours, Athlon X2 7x50, Phenom X3/X4/II, Athlon II X2/X3/X4, Turion II ファミリープロセッサなど。 | |
ck-bobcat * | x86-64 命令セット対応の AMD Family 14h コアを搭載した CPU。 | |
ck-bulldozer * | x86-64 命令セット対応の AMD Family 15h コアを搭載した CPU。 | |
ck-piledriver * | x86-64 命令セット対応の AMD Family 15h コアを搭載した CPU。 |
適切な CPU に最適化されたパッケージを選択
よくわからない場合は、ck-generic グループをインストールしてください。どんな互換 CPU でも動作します。特定の CPU に最適化されたパッケージが欲しい場合は、以下のコマンドを実行してください (base-devel のインストールが必要です):
$ gcc -c -Q -march=native --help=target | grep march
出力された -march
が GCC がネイティブで使用する march です。下の表を見て、出力された値に適切なグループを確認してください。
ブランド | グループ | March |
---|---|---|
Intel | ck-atom | bonnell |
ck-silvermont | silvermont | |
ck-core2 | core2 | |
ck-nehalem | nehalem | |
ck-sandybridge | sandybridge | |
ck-ivybridge | ivybridge | |
ck-haswell | haswell | |
ck-broadwell | broadwell | |
ck-skylake | skylake | |
ck-p4 | pentium4, prescott, nocona | |
ck-pentm | pentm, pentium-m | |
AMD | ck-kx | athlon, athlon-4, athlon-tbird, athlon-mp, athlon-xp, k8-sse3 |
ck-k10 | amdfam10 | |
ck-bobcat | btver1 | |
ck-bulldozer | bdver1 | |
ck-piledriver | bdver2 |
詳しくは、以下を参照:
- http://wiki.gentoo.org/wiki/Safe_CFLAGS#Intel
- http://wiki.gentoo.org/wiki/Safe_CFLAGS#AMD
- http://www.linuxforge.net/docs/linux/linux-gcc.php
CPU 最適化済みのパッケージによる速度の改善
GCC のコンパイルオプションによる影響を比較したテストの結果は、全く変化がないものから劇的にスピードアップしたものまで、様々です [1] [2]。
インストール例
ck-X グループを使ってインストールしたいパッケージを選択します。パッケージセットと対応する11個のグループが存在します。例:
# pacman -S ck-generic
:: There are 6 members in group ck-generic: :: Repository repo-ck 1) broadcom-wl-ck 2) linux-ck 3) linux-ck-headers 4) nvidia-304xx-ck 5) nvidia-340xx-ck 6) nvidia-ck Enter a selection (default=all):
もしくは、linux-ck と linux-ck-headers を直接 pacman でインストールしてください。
BFQ I/O スケジューラ
Linux-ck#BFQ I/O スケジューラを有効にする方法を見て下さい。
リポジトリの統計
リポジトリの 統計 を閲覧することができます (パッケージや CPU の人気度, ダウンロード数など)。
トラブルシューティング
サポート
BBS スレッド を使って下さい。
ダウンロードが定期的に途切れる
Graysky は Go Daddy を使ってウェブホストしています。Go Daddy の貧相なサーバーエンドからの転送は完了しないこともあります。転送が途切れても続行するように、リポジトリのアドレスを複数回記述して、pacman が自動的に次のサーバーを試行するようにしてください。repo-ck にはアドレスが一つしかないので (ミラーなし)、同一のサーバー行を使って下さい:
[repo-ck] Server = http://repo-ck.com/$arch Server = http://repo-ck.com/$arch Server = http://repo-ck.com/$arch Server = http://repo-ck.com/$arch Server = http://repo-ck.com/$arch
もしくは、pacman のダウンローダーを wget に変更することで、自動的にダウンロードのレジュームができます。
この問題については こちらのフォーラム投稿 を見てください。
エラー: signature from "graysky (used to sign repo-ck packages) <graysky@archlinux.us>" is unknown trust
graysky の gpg 鍵をインポート・署名してください。手順は repo-ck.com に載っています。pacman-key#非公式のキーの追加も参照。