Repo-ck

提供: ArchWiki
移動先: 案内検索

Repo-ckCon Kolivas による BFS (Brain Fuck Scheduler) や -ck パッチセットを搭載した、汎用と CPU 最適化済みのカーネルとサポートパッケージが含まれた、非公式の Arch Linux リポジトリです。

インストール

repo-ck リポジトリを pacman.conf に追加して Graysky の鍵に署名してください。

カーネルと関連パッケージ

ノート: LTS パッケージは含まれていません。

公式カーネルは2種類 (i686 と x86_64) あり、どちらも汎用パッケージです。i686 は全ての x86 互換の CPU で動作し、x86_64 は x86_64 互換の全ての CPU で動作します。ユーザーは汎用の linux-ck パッケージのどちらかを使用するか、特定の CPU に最適化されたパッケージを使うか選択できます。

make menuconfigProcessor 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 です。下の表を見て、出力された値に適切なグループを確認してください。

警告: Intel の CPU に最適化されたパッケージは Core2 シリーズと i3/i5/i7 シリーズのチップにしか対応していません。Pentium/Celeron のチップの多くは最適化パッケージを利用するために必要な命令セットが揃っていません。Pentium/Celeron チップを使っている場合は、たとえ GCC が i3/i5/i7 に匹敵する値 (例: haswell) を返してきたとしても、汎用パッケージをインストールするようにしてください。
ノート: 以下の表は GCC v4.9 から導入された新しいシンプルな 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
ノート: Add additional entries to this table based on experience.

詳しくは、以下を参照:

CPU 最適化済みのパッケージによる速度の改善

GCC のコンパイルオプションによる影響を比較したテストの結果は、全く変化がないものから劇的にスピードアップしたものまで、様々です [1] [2]

インストール例

ノート: カーネルを追加するときは、ブートローダーの設定を手動で編集して新しいカーネルイメージが認識されるようにする必要があります。例えば、GRUB の場合は GRUB#メイン設定ファイルの生成 を見て下さい。

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-cklinux-ck-headers を直接 pacman でインストールしてください。

BFQ I/O スケジューラ

Linux-ck#BFQ I/O スケジューラを有効にする方法を見て下さい。

リポジトリの統計

ノート: 統計は毎日更新されるわけではありませんが、データのスナップショットが取られています。

リポジトリの 統計 を閲覧することができます (パッケージや CPU の人気度, ダウンロード数など)。

トラブルシューティング

サポート

BBS スレッド を使って下さい。

ダウンロードが定期的に途切れる

GrayskyGo 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#非公式のキーの追加も参照。