mirror of
https://github.com/sched-ext/scx.git
synced 2024-11-28 21:50:23 +00:00
Merge pull request #210 from jordalgo/fedora
Add install instructions for Fedora
This commit is contained in:
commit
f8c150cbaf
117
INSTALL.md
Normal file
117
INSTALL.md
Normal file
@ -0,0 +1,117 @@
|
||||
# Install Instructions by Distro
|
||||
|
||||
## Ubuntu
|
||||
|
||||
Experimental sched_ext support for Ubuntu is provided by the following
|
||||
launchpad project:
|
||||
|
||||
https://launchpad.net/~arighi/+archive/ubuntu/sched-ext
|
||||
|
||||
#### Upgrading to 24.04 (NobleNumbat)
|
||||
|
||||
Currently, only the 24.04 release is supported. You can upgrade to 24.04
|
||||
using the following command:
|
||||
|
||||
```
|
||||
$ sudo do-release-upgrade -d
|
||||
```
|
||||
|
||||
#### Installing the Kernel and Schedulers
|
||||
|
||||
```
|
||||
$ sudo add-apt-repository -y --enable-source ppa:arighi/sched-ext
|
||||
$ sudo apt install -y linux-generic-wip scx
|
||||
$ sudo reboot
|
||||
```
|
||||
|
||||
After the reboot, the scheduler binaries in `/usr/sbin/scx_*` should be usable.
|
||||
Note: they must be called with `sudo` like other BPF programs e.g. `sudo scx_simple`.
|
||||
|
||||
#### Setting up Dev Environment
|
||||
|
||||
```
|
||||
$ apt source scx
|
||||
$ sudo apt build-dep scx
|
||||
```
|
||||
|
||||
## Arch Linux
|
||||
|
||||
Import the gpg key. This can be skipped if the signature checking is disabled.
|
||||
|
||||
```
|
||||
$ sudo pacman-key --recv-keys F3B607488DB35A47 --keyserver keyserver.ubuntu.com
|
||||
$ sudo pacman-key --lsign-key F3B607488DB35A47
|
||||
```
|
||||
|
||||
If you haven't imported the GPG key, append the following line.
|
||||
|
||||
```
|
||||
SigLevel = Never
|
||||
```
|
||||
|
||||
#### Adding the Repository
|
||||
|
||||
Install packages with a list of mirrors and GPG keys
|
||||
|
||||
```
|
||||
$ sudo pacman -U 'https://mirror.cachyos.org/repo/x86_64/cachyos/cachyos-keyring-20240331-1-any.pkg.tar.zst' 'https://mirror.cachyos.org/repo/x86_64/cachyos/cachyos-mirrorlist-18-1-any.pkg.tar.zst'
|
||||
```
|
||||
|
||||
Add the following custom repository section to `/etc/pacman.conf`.
|
||||
|
||||
```
|
||||
# cachyos repos
|
||||
[cachyos]
|
||||
Include = /etc/pacman.d/cachyos-mirrorlist
|
||||
```
|
||||
|
||||
#### Installing the Kernel and Schedulers
|
||||
|
||||
```
|
||||
$ sudo pacman -Sy cachyos/linux-sched-ext cachyos/linux-sched-ext-headers cachyos/scx-scheds
|
||||
```
|
||||
|
||||
Note that the kernel installs as `/boot/vmlinuz-linux-sched-ext` along with the matching initramfs.
|
||||
Update the bootloader configuration to add the boot entry for the new kernel.
|
||||
|
||||
#### Setting Up Dev Environment
|
||||
|
||||
In addition to the packages from the previous step, install the following.
|
||||
|
||||
```
|
||||
$ sudo pacman -Sy meson cargo bpf pahole
|
||||
```
|
||||
|
||||
## Fedora
|
||||
|
||||
Experimental sched_ext support for Fedora is provided by the following
|
||||
copr project:
|
||||
|
||||
https://copr.fedorainfracloud.org/coprs/jordalgo/fedora-6.8-sched_ext/
|
||||
|
||||
#### Installing the Kernel
|
||||
|
||||
```
|
||||
$ sudo dnf copr enable jordalgo/fedora-6.8-sched_ext
|
||||
$ sudo dnf --disablerepo="*" --enablerepo="copr:copr.fedorainfracloud.org:jordalgo:fedora-6.8-sched_ext" upgrade kernel
|
||||
$ sudo reboot
|
||||
```
|
||||
|
||||
Then select the kernel containing the name "schedext".
|
||||
|
||||
#### Installing the Schedulers
|
||||
|
||||
At the moment, only the Rust schedulers are available for install (c schedulers coming soon):
|
||||
- scx_rusty
|
||||
- scx_layered
|
||||
- scx_rustland
|
||||
|
||||
Example:
|
||||
```
|
||||
$ sudo dnf install scx_rusty
|
||||
$ sudo scx_rusty
|
||||
```
|
||||
|
||||
#### Setting up Dev Environment
|
||||
|
||||
No additional steps needed here other than what is mentioned in the main README.md.
|
85
README.md
85
README.md
@ -84,88 +84,11 @@ than what many distros are currently shipping. This should become less of an
|
||||
issue in the future. For the time being, the following custom repositories
|
||||
are provided for select distros.
|
||||
|
||||
### Ubuntu
|
||||
|
||||
Experimental sched_ext support for Ubuntu is provided by the following
|
||||
launchpad project:
|
||||
|
||||
https://launchpad.net/~arighi/+archive/ubuntu/sched-ext
|
||||
|
||||
#### Upgrading to 24.04 (NobleNumbat)
|
||||
|
||||
Currently, only the 24.04 release is supported. You can upgrade to 24.04
|
||||
using the following command:
|
||||
|
||||
```
|
||||
$ sudo do-release-upgrade -d
|
||||
```
|
||||
|
||||
#### Installing the Kernel and Schedulers
|
||||
|
||||
```
|
||||
$ sudo add-apt-repository -y --enable-source ppa:arighi/sched-ext
|
||||
$ sudo apt install -y linux-generic-wip scx
|
||||
$ sudo reboot
|
||||
```
|
||||
|
||||
After the reboot, the scheduler binaries in `/usr/sbin/scx_*` should be usable.
|
||||
Note: they must be called with `sudo` like other BPF programs e.g. `sudo scx_simple`.
|
||||
|
||||
#### Setting up Dev Environment
|
||||
|
||||
```
|
||||
$ apt source scx
|
||||
$ sudo apt build-dep scx
|
||||
```
|
||||
|
||||
### Arch Linux
|
||||
|
||||
Import the gpg key. This can be skipped if the signature checking is disabled.
|
||||
|
||||
```
|
||||
$ sudo pacman-key --recv-keys F3B607488DB35A47 --keyserver keyserver.ubuntu.com
|
||||
$ sudo pacman-key --lsign-key F3B607488DB35A47
|
||||
```
|
||||
|
||||
If you haven't imported the GPG key, append the following line.
|
||||
|
||||
```
|
||||
SigLevel = Never
|
||||
```
|
||||
|
||||
#### Adding the Repository
|
||||
|
||||
Install packages with a list of mirrors and GPG keys
|
||||
|
||||
```
|
||||
$ sudo pacman -U 'https://mirror.cachyos.org/repo/x86_64/cachyos/cachyos-keyring-20240331-1-any.pkg.tar.zst' 'https://mirror.cachyos.org/repo/x86_64/cachyos/cachyos-mirrorlist-18-1-any.pkg.tar.zst'
|
||||
```
|
||||
|
||||
Add the following custom repository section to `/etc/pacman.conf`.
|
||||
|
||||
```
|
||||
# cachyos repos
|
||||
[cachyos]
|
||||
Include = /etc/pacman.d/cachyos-mirrorlist
|
||||
```
|
||||
|
||||
#### Installing the Kernel and Schedulers
|
||||
|
||||
```
|
||||
$ sudo pacman -Sy cachyos/linux-sched-ext cachyos/linux-sched-ext-headers cachyos/scx-scheds
|
||||
```
|
||||
|
||||
Note that the kernel installs as `/boot/vmlinuz-linux-sched-ext` along with the matching initramfs.
|
||||
Update the bootloader configuration to add the boot entry for the new kernel.
|
||||
|
||||
#### Setting Up Dev Environment
|
||||
|
||||
In addition to the packages from the previous step, install the following.
|
||||
|
||||
```
|
||||
$ sudo pacman -Sy meson cargo bpf pahole
|
||||
```
|
||||
## Install Instructions by Distro
|
||||
|
||||
- [Ubuntu](INSTALL.md#ubuntu)
|
||||
- [Arch Linux](INSTALL.md#arch-linux)
|
||||
- [Fedora](INSTALL.md#fedora)
|
||||
|
||||
## Repository Structure
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user