Package Base Details: linux-rt

Git Clone URL: (read-only, click to copy)
Submitter: schivmeister
Maintainer: jhernberg (dvzrv)
Last Packager: dvzrv
Votes: 165
Popularity: 1.04
First Submitted: 2011-08-09 20:03
Last Updated: 2020-01-21 11:01

Pinned Comments

dvzrv commented on 2019-05-13 21:17

I have added a signed, unofficial user repository for linux-rt, backed by this PKGBUILD.

You can add it to your pacman.conf with:

Server =$arch

I'll try to keep it as up-to-date as possible and retain old versions.


schivmeister commented on 2011-04-15 20:17

I don't think there's much cleanup or sync'ing to do with this minor update (relative to arch's stock kernel), so I've just updated this with Morgan_Cox's changes verbatim. Thanks!

Morgan_Cox commented on 2011-04-11 21:25

I have uploaded a PKGBUILD for

This is needed for latest nvidia-rt package.

The URL for the kernel patch ( has changed (see PKGBUILD)

Morgan_Cox commented on 2011-04-11 21:20

Here is an updated PKGBUILD - needed for nvidia-rt:-

# Maintainer: Ray Rashif <>
# Contributor: timbosa <>
# Contributor: Tobias Powalowski <>
# Contributor: Thomas Baechler <>

_realkernel=2.6.33 # for rc builds, else same as _basekernel
_kernelpatch=.9 # leave blank if no upstream patch

# If sources are rc, old rc, old rt, rc & old rt, old rc & old rt:
# rc, rc-old, rt-old, rc-rt-old, all-old or blank for default

# -- nothing to change below this line -- #

pkgdesc="The Linux Kernel and modules - with realtime preemption"
arch=('i686' 'x86_64')
depends=('coreutils' 'linux-firmware' 'module-init-tools' 'mkinitcpio')
optdepends=('crda: to set the correct wireless channels of your country')

[ "$_source" = "rc" ] && _rc=testing/
[ "$_source" = "rc-old" ] && _rc=testing/v$_realkernel/
[ "$_source" = "rt-old" ] && _rt=older/
[ "$_source" = "rc-rt-old" ] && _rc=testing/ && _rt=older/
[ "$_source" = "all-old" ] && _rc=testing/v$_realkernel/ && _rt=older/
#[ -n "$_kernelpatch" ] && _kernpatchurl="${_rc}patch-$_realkernel$_kernelpatch.bz2"
[ -n "$_kernelpatch" ] && _kernpatchurl="$_basekernel/${_rc}patch-$_realkernel$_kernelpatch.bz2"


build() {
cd "$srcdir/linux-$_realkernel"

# Add upstream patch
if [ -n "$_kernelpatch" ]; then
patch -Np1 -i ../patch-$_realkernel$_kernelpatch

# Add support for AUFS2
patch -Np1 -i ../aufs2-base.patch
patch -Np1 -i ../aufs2-standalone.patch

# Add realtime patch
patch -Np1 -i ../patch-$_realkernel$_kernelpatch$_rtpatch

# Add our custom logo
cp ../logo_linux_clut224.ppm drivers/video/logo/

# Set up configuration
if [ "$CARCH" = "x86_64" ]; then
cat ../config.x86_64 > ./.config
cat ../config > ./.config

if [ -f "$startdir/" ]; then
msg "Using previously autosaved config"
cat "$startdir/" > ./.config

sed -i "s|EXTRAVERSION =.*|EXTRAVERSION =|g" Makefile
sed -i "s|CONFIG_LOCALVERSION=.*|CONFIG_LOCALVERSION=\"-$_kernelname\"|g" ./.config

# load configuration
yes "" | make config
make menuconfig && cat ./.config > "$startdir/"
#make xconfig
#make gconfig
#make oldconfig

# build!
make bzImage modules

package() {
cd "$srcdir/linux-$_realkernel"


mkdir -p "$pkgdir"/{lib/modules,boot}
make INSTALL_MOD_PATH="$pkgdir" modules_install
cp "$pkgdir/boot/System.map26$_kernelname"
cp arch/$KARCH/boot/bzImage "$pkgdir/boot/vmlinuz26$_kernelname"

# add vmlinux
install -m644 -D vmlinux "$pkgdir/usr/src/linux-$_kernver/vmlinux"

# install fallback mkinitcpio.conf file and preset file for kernel
install -m644 -D "$srcdir/$pkgname.preset" "$pkgdir/etc/mkinitcpio.d/$pkgname.preset"

# set correct depmod command for install
sed \
-e "s/KERNEL_NAME=.*/KERNEL_NAME=$_kernelname/g" \
-e "s/KERNEL_VERSION=.*/KERNEL_VERSION=$_kernver/g" \
-i "$startdir/$install"
sed \
-e "s|source .*|source /etc/mkinitcpio.d/kernel26$_kernelname.kver|g" \
-e "s|default_image=.*|default_image=\"/boot/$pkgname.img\"|g" \
-e "s|fallback_image=.*|fallback_image=\"/boot/$pkgname-fallback.img\"|g" \
-i "$pkgdir/etc/mkinitcpio.d/$pkgname.preset"

echo -e "# DO NOT EDIT THIS FILE\nALL_kver='$_kernver'" > "$pkgdir/etc/mkinitcpio.d/$pkgname.kver"

# remove build and source links
rm -f "$pkgdir"/lib/modules/$_kernver/{source,build}

# remove the firmware
rm -rf "$pkgdir/lib/firmware"

# -- package the headers --#

mkdir -p "$pkgdir/lib/modules/$_kernver"
cd "$pkgdir/lib/modules/$_kernver"
ln -sf ../../../usr/src/linux-$_kernver build
cd "$srcdir/linux-$_realkernel"
install -D -m644 Makefile \
install -D -m644 kernel/Makefile \
install -D -m644 .config \
mkdir -p "$pkgdir/usr/src/linux-$_kernver/include"

for i in acpi asm-generic config generated linux math-emu media net pcmcia scsi sound trace video; do
cp -a include/$i "$pkgdir/usr/src/linux-$_kernver/include/"

# copy arch includes for external modules
mkdir -p "$pkgdir/usr/src/linux-$_kernver/arch/x86"
cp -a arch/x86/include "$pkgdir/usr/src/linux-$_kernver/arch/x86/"

# copy files necessary for later builds, like nvidia and vmware
cp Module.symvers "$pkgdir/usr/src/linux-$_kernver"
cp -a scripts "$pkgdir/usr/src/linux-$_kernver"

# fix permissions on scripts dir
chmod og-w -R "$pkgdir/usr/src/linux-$_kernver/scripts"
mkdir -p "$pkgdir/usr/src/linux-$_kernver/.tmp_versions"

mkdir -p "$pkgdir/usr/src/linux-$_kernver/arch/$KARCH/kernel"

cp arch/$KARCH/Makefile "$pkgdir/usr/src/linux-$_kernver/arch/$KARCH/"

if [ "$CARCH" = "i686" ]; then
cp arch/$KARCH/Makefile_32.cpu "$pkgdir/usr/src/linux-$_kernver/arch/$KARCH/"

cp arch/$KARCH/kernel/asm-offsets.s "$pkgdir/usr/src/linux-$_kernver/arch/$KARCH/kernel/"

# add headers for lirc package
mkdir -p "$pkgdir/usr/src/linux-$_kernver/drivers/media/video"
cp drivers/media/video/*.h "$pkgdir/usr/src/linux-$_kernver/drivers/media/video/"

for i in bt8xx cpia2 cx25840 cx88 em28xx et61x251 pwc saa7134 sn9c102 usbvideo zc0301; do
mkdir -p "$pkgdir/usr/src/linux-$_kernver/drivers/media/video/$i"
cp -a drivers/media/video/$i/*.h "$pkgdir/usr/src/linux-$_kernver/drivers/media/video/$i"

# add docbook makefile
install -D -m644 Documentation/DocBook/Makefile \

# add dm headers
mkdir -p "$pkgdir/usr/src/linux-$_kernver/drivers/md"
cp drivers/md/*.h "$pkgdir/usr/src/linux-$_kernver/drivers/md"

# add inotify.h
mkdir -p "$pkgdir/usr/src/linux-$_kernver/include/linux"
cp include/linux/inotify.h "$pkgdir/usr/src/linux-$_kernver/include/linux/"

# add wireless headers
mkdir -p "$pkgdir/usr/src/linux-$_kernver/net/mac80211/"
cp net/mac80211/*.h "$pkgdir/usr/src/linux-$_kernver/net/mac80211/"

# add dvb headers for external modules
# in reference to:
mkdir -p "$pkgdir/usr/src/linux-$_kernver/drivers/media/dvb/dvb-core"
cp drivers/media/dvb/dvb-core/*.h "$pkgdir/usr/src/linux-$_kernver/drivers/media/dvb/dvb-core/"

# add dvb headers for external modules
# in reference to:
mkdir -p "$pkgdir/usr/src/linux-$_kernver/include/config/dvb/"
cp include/config/dvb/*.h "$pkgdir/usr/src/linux-$_kernver/include/config/dvb/"

# add dvb headers for
# in reference to:
mkdir -p "$pkgdir/usr/src/linux-$_kernver/drivers/media/dvb/frontends/"
cp drivers/media/dvb/frontends/lgdt330x.h "$pkgdir/usr/src/linux-$_kernver/drivers/media/dvb/frontends/"
cp drivers/media/video/msp3400-driver.h "$pkgdir/usr/src/linux-$_kernver/drivers/media/dvb/frontends/"

# add xfs and shmem for aufs building
mkdir -p "$pkgdir/usr/src/linux-$_kernver/fs/xfs"
mkdir -p "$pkgdir/usr/src/linux-$_kernver/mm"
cp fs/xfs/xfs_sb.h "$pkgdir/usr/src/linux-$_kernver/fs/xfs/xfs_sb.h"

# add headers vor virtualbox
# in reference to:
cp -a include/drm "$pkgdir/usr/src/linux-$_kernver/include/"

# add headers for broadcom wl
# in reference to:
cp -a include/trace "$pkgdir/usr/src/linux-$_kernver/include/"

# copy in Kconfig files
for i in `find . -name "Kconfig*"`; do
mkdir -p "$pkgdir"/usr/src/linux-$_kernver/`echo $i | sed 's|/Kconfig.*||'`
cp $i "$pkgdir/usr/src/linux-$_kernver/$i"

chown -R root.root "$pkgdir/usr/src/linux-$_kernver"
find "$pkgdir/usr/src/linux-$_kernver" -type d -exec chmod 755 {} \;

# remove unneeded architectures
rm -rf "$pkgdir/usr/src/linux-$_kernver/arch/{alpha,arm,arm26,avr32,blackfin,cris,frv,h8300,ia64,m32r,m68k,m68knommu,mips,microblaze,mn10300,parisc,powerpc,ppc,s390,sh,sh64,sparc,sparc64,um,v850,xtensa}"

# vim:set ts=2 sw=2 et:

smoge commented on 2011-04-11 16:08

new release:

schivmeister commented on 2011-03-07 19:18

Err..that doesn't quite look official. No specific URL to a patch other than a git repo. Unflagging.

mango commented on 2011-03-07 14:12

Det commented on 2011-02-21 11:10

As long as you didn't change 'CONFIG_PREEMPT_RT=y' while at it.

Nareto commented on 2011-02-21 11:01

hello, noob question: if I simply exit in menuconfig without changing any options, will I get a real time capable kernel? (needed for audio)

Anonymous comment on 2011-02-01 16:53

it don't build with testing/make (3.82-2) with this error:

make[1]: *** No rule to make target `/tmp/yaourt-tmp-becks/aur-kernel26rt/pkg/lib/firmware/./', needed by `/tmp/yaourt-tmp-becks/aur-kernel26rt/pkg/lib/firmware/atmsar11.fw'. Stop.
make: *** [_modinst_post] Error 2

with core/make (3.81-5) build fine

Det commented on 2011-01-08 15:43

Anybody got a clue why are they staying with .33? Didn't really find anything by checking the website.

E: Nevermind found this: - where it says (at least) (at the very end) that:
"Before you ask: Kernel versions 2.6.34 to 2.6.36 will be left out, the next "Latest Stable" real-time kernel will be based on 2.6.37."