Unofficial user repositories/Repo-ck

From ArchWiki
Jump to navigation Jump to search

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.

Setup

Add Repo

Add the repo to /etc/pacman.conf under the Arch official repositories:

/etc/pacman.conf
[repo-ck]
Server = http://repo-ck.com/$arch

Sign graysky's key:

# pacman-key -r 5EE46C4C --keyserver hkp://pool.sks-keyservers.net && pacman-key --lsign-key 5EE46C4C

Additional mirror

aviallon hosts a mirror with better bandwidth and stability, synchronized every 6 hours. You can add it to your pacman.conf:

/etc/pacman.conf
[repo-ck]
Server = https://mirror.lesviallon.fr/$repo/os/$arch
Server = http://repo-ck.com/$arch

Install Kernel

Update your sync database and install the chosen kernel variant (see below for available variants):

# pacman -Syu linux-ck

Update Boot Loader Config

If you are using grub with a common setup, then you can update its config by running this command:

# grub-mkconfig -o /boot/grub/grub.cfg

Kernels and related packages

The official Arch Linux kernel provides a generic package which is built for the x86_64 architecture that will run on any compatible x86_64 CPU. Repo-ck also hosts a generic version of linux-ck, and two other generic packages which are targeted at newer x86-64 hardware. Finally, selected versions of model-specific packages are offered. Model specific packages should offer the highest level of tuning and performance. See #Selecting the correct CPU optimized package below for more.

Brand Group Alias Description Build flags enabled by patchset
Any ck-generic x86-64 generic kernel good for any supported CPU -march=x86-64
ck-generic-v2 x86-64-v2 generic kernel good for any supported CPU -march=x86-64-v2
ck-generic-v3 x86-64-v3 generic kernel good for any supported CPU -march=x86-64-v3
Intel ck-nehalem Intel 1st Generation Core i3/i5/i7-family -march=nehalem
ck-sandybridge Intel 2nd Generation Core i3/i5/i7-family -march=sandybridge
ck-ivybridge Intel 3rd Generation Core i3/i5/i7-family -march=ivybridge
ck-haswell Intel 4th Generation Core i3/i5/i7-family -march=haswell
ck-broadwell Intel 5th Generation Core i3/i5/i7-family -march=broadwell
ck-skylake Intel 6th Generation Core i3/i5/i7-family -march=skylake
AMD ck-zen CPUs based on AMD Family 17h cores -march=znver1
ck-zen2 CPUs based on AMD 3rd Gen Ryzen cores -march=znver2
ck-zen3 CPUs based on AMD 4th Gen Ryzen cores -march=znver3

Selecting the correct CPU optimized package

If a model specific kernel is not offered, users should select one of the three generic packages that is best matched to the specific hardware. To tell which generic package is best, simply run:

$ /lib/ld-linux-x86-64.so.2 --help | grep supported

If x86-64-v3 (supported, searched) is in the output, use the ck-generic-v3 group. If only x86-64-v2 (supported, searched) is in the output, use the ck-generic-v2 group. If neither are in the output, use the ck-generic group.

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 above for a mapping of this value to the correct group; again, not every possible value will have a specific group.

Warning: Intel CPU optimized packages support only full Core2 series and i3/i5/i7 series chips. Many Pentium/Celeron chips lack the full requisite instruction sets to make use of the optimized packages. Users of these chips should install the generic packages, even if GCC returns a value corresponding to full core i3/i5/i7 match such as haswell.

For further help, see:

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]

Tango-view-fullscreen.pngThis article or section needs expansion.Tango-view-fullscreen.png

Reason: Add results to this section where appropriate. (Discuss in Talk:Unofficial user repositories/Repo-ck#)

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.

[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.