Repo-ck
Related articles
Repo-ck is an unofficial Arch Linux repository hosting generic and CPU-optimized kernels and support packages, featuring MuQSS (pronounced mux) and rest of the ck patchset by Con Kolivas. It has been in operation since 2011 and is maintained by graysky.
Contents
Setup
Add the repo-ck repository to pacman.conf
and sign graysky's key.
The official "ARCH" kernel is available in two flavors (either i686 or x86_64) which are generic packages, in that i686 will work with any compatible x86 CPU and x86_64 will work with any compatible x86_64 CPU. Repo-ck also hosts generic versions of linux-ck but also allows users the choice of packages optimized for specific CPUs too. CPU-specific optimizations are invoked by selecting Processor type and features > Processor family in make nconfig
, or by adjusting .config
accordingly. These changes setup make specific GCC options, including CFLAGS
.
Packages marked with *
are available only for the 64-bit systems, see this forum post.
CPU Type | Group Alias | Details |
---|---|---|
Generic | ck-generic | Generic kernel similar to the official Arch Linux kernel. |
Intel | ck-atom | Intel Atom specific optimizations. |
ck-silvermont * | Intel Silvermont specific optimizations. | |
ck-core2 | Intel Core 2-family including Dual and Quads. | |
ck-nehalem * | Intel 1st Generation Core i3/i5/i7-family | |
ck-sandybridge * | Intel 2nd Generation Core i3/i5/i7-family | |
ck-ivybridge * | Intel 3rd Generation Core i3/i5/i7-family | |
ck-haswell * | Intel 4th Generation Core i3/i5/i7-family | |
ck-broadwell * | Intel 5th Generation Core i3/i5/i7-family | |
ck-skylake * | Intel 6th Generation Core i3/i5/i7-family | |
ck-p4 | Intel Pentium-4 (P4/P4-based Celeron/Pentium-4 M/Older Xeon). | |
ck-pentm | Intel Pentium-M (Pentium-M notebook chips/not Pentium-4 M). | |
AMD | ck-kx | AMD K7/K8-family |
ck-k10 * | AMD K10-family including 61xx Eight-Core Magny-Cours, Athlon X2 7x50, Phenom X3/X4/II, Athlon II X2/X3/X4, or Turion II-family processor. | |
ck-bobcat * | CPUs based on AMD Family 14h cores with x86-64 instruction set support. | |
ck-bulldozer * | CPUs based on AMD Family 15h cores with x86-64 instruction set support. | |
ck-piledriver * | CPUs based on AMD Family 15h cores with x86-64 instruction set support. |
Selecting the correct CPU optimized package
When unsure, install the ck-generic group, which works with any compatible CPU. Those wanting CPU-specific optimized packages can run the following command (assuming that base-devel is installed):
$ gcc -c -Q -march=native --help=target | grep march
The resulting -march
is what GCC would use natively. Refer to the table below for a mapping of this value to the correct group.
Brand | Group | 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 |
For further help, see:
- 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
Speed benefits of CPU optimized packages
Extensive testing comparing the effect of GCC compile options show varying results, from no change to rather significant speed ups. [1] [2] [3]
Installation examples
Use the ck-X group and select the desired packages for installation. There are 17 groups corresponding to the package sets. For example:
# pacman -S ck-generic
:: There are 8 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 7) virtualbox-ck-guest-modules 8) virtualbox-ck-host-modules Enter a selection (default=all):
Alternatively, direct pacman to install linux-ck and linux-ck-headers.
BFQ I/O scheduler
See Linux-ck#How to enable the BFQ I/O Scheduler.
Repository statistics
Repo statistics are available (package and CPU popularity, number of downloads, and so forth).
Mirrors
There is at least one mirror available:
Troubleshooting
Support
Please use the BBS thread.
Downloads interrupt regularly
Graysky is using Go Daddy as his web host. Some of the transfers from their poorly implemented server end in an incomplete transfer. To combat this, list the repository address multiple times and pacman will automatically try the next available server. As repo-ck has only one address (no mirrors), use the same server line:
[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
Alternatively, change the pacman downloader to wget, which automatically resumes downloads.
See this forum post for an explanation of these issues.
Error: signature from graysky is unknown trust
Users must import and sign graysky's gpg key. Instructions along with his key ID are located at repo-ck.com. See also Pacman/Package signing#Adding unofficial keys.