Support #620
Switching Arch Linux To Linux-ck Kernel
Status:
Closed
Priority:
Normal
Assignee:
Category:
Development Environment
Target version:
Description
- Table of contents
- Prepare the Environment
- Install Linux-ck from Repo-ck
- Install Linux-ck from the AUR
- Enable Budget Fair Queueing (BFQ) I/O Scheduling
- Resources
This is a guide for installing the Linux-ck kernel on Arch linux.
Prepare the Environment¶
- Make sure the system is up to date:
sudo pacman -Syu
Install Linux-ck from Repo-ck¶
- Edit the pacman.conf:
vi /etc/pacman.conf
- And add the following to the end of the file:
[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
- And add the following to the end of the file:
- Now repo key needs to be received and locally signed:
pacman-key -r 5EE46C4C pacman-key --lsign-key 5EE46C4C
- Refresh the repo metadata:
pacman -Sy
- (Optional) Identify the CPU:
gcc -c -Q -march=native --help=target | grep march
- Install the generic Linux-ck kernel:
pacman -S linux-ck-generic
- (Optional) Or install the CPU specific kernel:
pacman -S linux-ck-kx
- (Optional) Or install the CPU specific kernel:
- Install the generic Linux-ck kernel headers:
pacman -S linux-ck-generic-headers
- (Optional) Or install the CPU specific kernel:
pacman -S linux-ck-kx
- (Optional) Or install the CPU specific kernel:
Install nVidia driver¶
- Install the generic Linux-ck nVidia driver:
pacman -S nvidia-304xx-ck-generic
- (Optional) Or install the CPU specific nVidia driver:
pacman -S nvidia-304xx-ck-kx
- (Optional) Or install the CPU specific nVidia driver:
Install VirtualBox host driver:¶
- Install the generic Linux-ck VirtualBox host driver:
pacman -S virtualbox-ck-host-modules-generic
- (Optional) Or install the CPU specific VirtualBox host driver:
pacman -S virtualbox-ck-host-modules-kx
- (Optional) Or install the CPU specific VirtualBox host driver:
- Update the grub config:
grub-mkconfig -o /boot/grub/grub.cfg
Install Linux-ck from the AUR¶
Install yaourt¶
- Install yaourt
Receive PGP keys¶
- Receive Linus Torvalds' PGP key:
gpg --recv-keys 79BE3E4300411886
- Then utimately trust the key:
trust 5 y quit
- Then utimately trust the key:
- Receive Greg Kroah-Hartman's PGP key:
gpg --recv-keys 38DBBDC86092693E
- Then ultimately trust the key:
trust 5 y quit
- Then ultimately trust the key:
Install Linux-ck kernel¶
- Install the linux-ck package from the AUR:
yaourt linux-ck
- (Optional) Install the linux-ck-headers package:
yaourt linux-ck-headers
- (Optional) Install the linux-ck-headers package:
- Edit the
PKGBUILD
file and add the following:_BFQ_enable_="y"
- Update the grub config:
grub-mkconfig -o /boot/grub/grub.cfg
Install Linux-ck nVidia driver¶
- (Optional) Install the linux-ck nvidia package:
yaourt nvidia-304xx-ck
Install Linux-ck VirtualBox host driver¶
- (Optional) Install the linux-ck virtualbox host modules:
yaourt virtualbox-ck-host-modules
Enable Budget Fair Queueing (BFQ) I/O Scheduling¶
- Check which I/O scheduler is in use:
cat /sys/block/sda/queue/scheduler
- Example output:
noop deadline [cfq] bfq
- Example output:
- Enable BFQ on
/dev/sda
without rebooting:echo bfq > /sys/block/sda/queue/scheduler
- Check which I/O scheduler is in use:
cat /sys/block/sda/queue/scheduler
- Example output:
noop deadline cfq [bfq]
- Example output:
- Use BFQ on /dev/sda at boot persistently, create the set_IO_scheduler.conf file:
sudo vi /etc/tmpfiles.d/set_IO_scheduler.conf
- And add the following:
w /sys/block/sda/queue/scheduler - - - - bfq
- And add the following:
BFQ Script¶
I had problems getting the tmpfiles.d configuration to work properly on systemd 219, so I created a script to easily enable BFQ on /dev/sda.
- Create the enable-bfq.sh script:
sudo nano /usr/local/sbin/enable-bfq.sh
- And add the following:
#!/bin/sh ## Script to enable BFQ on /dev/sda echo bfq > /sys/block/sda/queue/scheduler
- And add the following:
- Make it executable:
sudo chmod +x /usr/local/sbin/enable-bfq.sh
Resources¶
Updated by Daniel Curtis over 9 years ago
- % Done changed from 10 to 20
- Description updated (diff)
Updated by Daniel Curtis over 9 years ago
- Description updated (diff)
- Status changed from New to In Progress
- % Done changed from 20 to 50
Updated by Daniel Curtis over 9 years ago
- Description updated (diff)
- Status changed from In Progress to Resolved
- % Done changed from 50 to 100