summaryrefslogtreecommitdiff
path: root/kernels/linux-libre-rt
diff options
context:
space:
mode:
Diffstat (limited to 'kernels/linux-libre-rt')
-rw-r--r--kernels/linux-libre-rt/PKGBUILD64
-rw-r--r--kernels/linux-libre-rt/config.i6862
-rw-r--r--kernels/linux-libre-rt/config.x86_642
-rw-r--r--kernels/linux-libre-rt/ext4-options.patch49
-rw-r--r--kernels/linux-libre-rt/linux-libre-rt.install6
5 files changed, 79 insertions, 44 deletions
diff --git a/kernels/linux-libre-rt/PKGBUILD b/kernels/linux-libre-rt/PKGBUILD
index 336d58cb0..1b18356e4 100644
--- a/kernels/linux-libre-rt/PKGBUILD
+++ b/kernels/linux-libre-rt/PKGBUILD
@@ -6,14 +6,15 @@
# Contributor (Parabola): Nicolás Reynolds <fauno@kiwwwi.com.ar>
# Contributor (Parabola): Jorge Lopez <jorginho@adinet.com.uy>
# Contributor (Parabola): André Silva <andre.paulista@adinet.com.uy>
+# Contributor (Parabola): Márcio Silva <coadde@adinet.com.uy>
pkgbase=linux-libre-rt
-pkgname=('linux-libre-rt' 'linux-libre-rt-headers' 'linux-libre-rt-docs') # Build stock -LIBRE kernel
+pkgname=('linux-libre-rt' 'linux-libre-rt-headers') # Build stock -LIBRE kernel with RT support
# pkgname=linux-custom # Build kernel with a different name
-_kernelname=${pkgname#linux-libre}
+_kernelname=-LIBRE-RT
_basekernel=3.2
-_releasever=6
-_rtpatchver=rt13
+_releasever=11
+_rtpatchver=rt20
_pkgver=${_basekernel}.${_releasever}
pkgver=${_basekernel}.${_releasever}_${_rtpatchver}
pkgrel=1
@@ -32,17 +33,19 @@ source=("http://linux-libre.fsfla.org/pub/linux-libre/releases/${_basekernel}-li
'boot-logo.patch'
'change-default-console-loglevel.patch'
'i915-fix-ghost-tv-output.patch'
- 'i915-gpu-finish.patch')
+ 'i915-gpu-finish.patch'
+ 'ext4-options.patch')
md5sums=('27c641c4f6785fc647cdd3e44963a55c'
- 'c4b411e90294fcb768d5242a6c21c0d7'
- '28f2792000aa309437d8aefdcba65634'
- 'b82b72aed2edc07797f7c29adf0b8793'
- '92071f14b33bf6d18be512e61989d0c4'
+ '09abd6a4e9ae7373a3151b61781ab2fe'
+ 'b469c9b82f05abe5491154ea18aa06c9'
+ '6141ab0cb60a5cf9e6ee3bdf8c8c79b1'
+ 'c2f3423d7c7d8e5776e961b75a52a3fc'
'0d001b0277f318bc40a263aaa980d44e'
'04b21c79df0a952c22d681dd4f4562df'
'9d3c56a4b999c8bfbd4018089a62f662'
'263725f20c0b9eb9c353040792d644e5'
- '4cd79aa147825837dc8bc9f6b736c0a0')
+ '4cd79aa147825837dc8bc9f6b736c0a0'
+ 'c8299cf750a84e12d60b372c8ca7e1e8')
build() {
cd "${srcdir}/linux-${_basekernel}"
@@ -73,6 +76,10 @@ build() {
# (relevant patch sent upstream: https://lkml.org/lkml/2011/7/26/227)
patch -Np1 -i "${srcdir}/change-default-console-loglevel.patch"
+ # fix ext4 module to mount ext3/2 correct
+ # https://bugs.archlinux.org/task/28653
+ patch -Np1 -i "${srcdir}/ext4-options.patch"
+
cat "${srcdir}/config.${CARCH}" > ./.config # simpler
if [ "${_kernelname}" != "" ]; then
@@ -108,13 +115,12 @@ build() {
}
package_linux-libre-rt() {
- pkgdesc="The Linux-libre Kernel and modules with RT patches"
- groups=('base')
+ pkgdesc="The Linux-libre Kernel and modules (with realtime preemption)"
depends=('coreutils' 'module-init-tools>=3.16' 'mkinitcpio>=0.7')
optdepends=('crda: to set the correct wireless channels of your country')
- provides=('kernel26' "linux=$_pkgver")
- conflicts=('kernel26' 'kernel26-libre' 'linux')
- replaces=('kernel26' 'kernel26-libre' 'linux')
+ provides=('kernel26-rt' "linux-rt=$_pkgver")
+ conflicts=('kernel26-rt' 'kernel26-libre-rt' 'linux-rt')
+ replaces=('kernel26-rt' 'kernel26-libre-rt' 'linux-rt')
backup=("etc/mkinitcpio.d/${pkgname}.preset")
install=${pkgname}.install
@@ -137,10 +143,6 @@ package_linux-libre-rt() {
# 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}/${pkgname}.install"
- sed \
-e "s|ALL_kver=.*|ALL_kver=\"/boot/vmlinuz-${pkgname}\"|g" \
-e "s|default_image=.*|default_image=\"/boot/initramfs-${pkgname}.img\"|g" \
-e "s|fallback_image=.*|fallback_image=\"/boot/initramfs-${pkgname}-fallback.img\"|g" \
@@ -160,10 +162,10 @@ package_linux-libre-rt() {
}
package_linux-libre-rt-headers() {
- pkgdesc="Header files and scripts for building modules for linux-libre kernel"
- provides=('kernel26-headers' "linux-headers=${_pkgver}")
- conflicts=('kernel26-headers' 'kernel26-libre-headers' 'linux-headers')
- replaces=('kernel26-headers' 'kernel26-libre-headers' 'linux-headers')
+ pkgdesc="Header files and scripts for building modules for linux-libre kernel (with realtime preemption)"
+ provides=('kernel26-rt-headers' "linux-rt-headers=${_pkgver}")
+ conflicts=('kernel26-rt-headers' 'kernel26-libre-rt-headers' 'linux-rt-headers')
+ replaces=('kernel26-rt-headers' 'kernel26-libre-rt-headers' 'linux-rt-headers')
mkdir -p "${pkgdir}/lib/modules/${_kernver}"
@@ -290,19 +292,3 @@ package_linux-libre-rt-headers() {
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}
}
-package_linux-libre-rt-docs() {
- pkgdesc="Kernel hackers manual - HTML documentation that comes with the Linux-libre kernel."
- provides=('kernel26-docs' "linux-docs=$_pkgver")
- conflicts=('kernel26-docs' 'kernel26-libre-docs' 'linux-docs')
- replaces=('kernel26-docs' 'kernel26-libre-docs' 'linux-docs')
-
- cd "${srcdir}/linux-${_basekernel}"
-
- mkdir -p "${pkgdir}/usr/src/linux-${_kernver}"
- cp -al Documentation "${pkgdir}/usr/src/linux-${_kernver}"
- find "${pkgdir}" -type f -exec chmod 444 {} \;
- find "${pkgdir}" -type d -exec chmod 755 {} \;
-
- # remove a file already in linux package
- rm -f "${pkgdir}/usr/src/linux-${_kernver}/Documentation/DocBook/Makefile"
-}
diff --git a/kernels/linux-libre-rt/config.i686 b/kernels/linux-libre-rt/config.i686
index dfb099e19..749ad1e09 100644
--- a/kernels/linux-libre-rt/config.i686
+++ b/kernels/linux-libre-rt/config.i686
@@ -60,7 +60,7 @@ CONFIG_IRQ_WORK=y
CONFIG_EXPERIMENTAL=y
CONFIG_INIT_ENV_ARG_LIMIT=32
CONFIG_CROSS_COMPILE=""
-CONFIG_LOCALVERSION="libre-rt"
+CONFIG_LOCALVERSION="-LIBRE-RT"
CONFIG_LOCALVERSION_AUTO=y
CONFIG_HAVE_KERNEL_GZIP=y
CONFIG_HAVE_KERNEL_BZIP2=y
diff --git a/kernels/linux-libre-rt/config.x86_64 b/kernels/linux-libre-rt/config.x86_64
index 37cea6fa0..13386d7f3 100644
--- a/kernels/linux-libre-rt/config.x86_64
+++ b/kernels/linux-libre-rt/config.x86_64
@@ -62,7 +62,7 @@ CONFIG_IRQ_WORK=y
CONFIG_EXPERIMENTAL=y
CONFIG_INIT_ENV_ARG_LIMIT=32
CONFIG_CROSS_COMPILE=""
-CONFIG_LOCALVERSION="-libre-rt"
+CONFIG_LOCALVERSION="-LIBRE-RT"
CONFIG_LOCALVERSION_AUTO=y
CONFIG_HAVE_KERNEL_GZIP=y
CONFIG_HAVE_KERNEL_BZIP2=y
diff --git a/kernels/linux-libre-rt/ext4-options.patch b/kernels/linux-libre-rt/ext4-options.patch
new file mode 100644
index 000000000..812b05f04
--- /dev/null
+++ b/kernels/linux-libre-rt/ext4-options.patch
@@ -0,0 +1,49 @@
+Report: https://bbs.archlinux.org/profile.php?id=33804
+Signed-off-by: Tom Gundersen <teg@jklm.no>
+Cc: Thomas Baechler <thomas@archlinux.org>
+Cc: Tobias Powalowski <tobias.powalowski@googlemail.com>
+Cc: Dave Reisner <d@falconindy.com>
+---
+ fs/ext4/super.c | 15 +++++++++++++++
+ 1 file changed, 15 insertions(+)
+
+diff --git a/fs/ext4/super.c b/fs/ext4/super.c
+index 502c61f..30de9cd 100644
+--- a/fs/ext4/super.c
++++ b/fs/ext4/super.c
+@@ -1333,6 +1333,7 @@ enum {
+ Opt_inode_readahead_blks, Opt_journal_ioprio,
+ Opt_dioread_nolock, Opt_dioread_lock,
+ Opt_discard, Opt_nodiscard, Opt_init_itable, Opt_noinit_itable,
++ Opt_nocheck, Opt_reservation, Opt_noreservation, Opt_journal_inum,
+ };
+
+ static const match_table_t tokens = {
+@@ -1408,6 +1409,10 @@ static const match_table_t tokens = {
+ {Opt_init_itable, "init_itable=%u"},
+ {Opt_init_itable, "init_itable"},
+ {Opt_noinit_itable, "noinit_itable"},
++ {Opt_nocheck, "nocheck"},
++ {Opt_reservation, "reservation"},
++ {Opt_noreservation, "noreservation"},
++ {Opt_journal_inum, "journal=%u"},
+ {Opt_err, NULL},
+ };
+
+@@ -1904,6 +1909,16 @@ set_qf_format:
+ case Opt_noinit_itable:
+ clear_opt(sb, INIT_INODE_TABLE);
+ break;
++#ifdef CONFIG_EXT4_USE_FOR_EXT23
++ case Opt_nocheck:
++ case Opt_reservation:
++ case Opt_noreservation:
++ case Opt_journal_inum:
++ ext4_msg(sb, KERN_WARNING,
++ "ext3 mount option \"%s\" ignored "
++ "by ext4 module", p);
++ break;
++#endif
+ default:
+ ext4_msg(sb, KERN_ERR,
+ "Unrecognized mount option \"%s\" " \ No newline at end of file
diff --git a/kernels/linux-libre-rt/linux-libre-rt.install b/kernels/linux-libre-rt/linux-libre-rt.install
index 5c40a32e9..8ae1568d8 100644
--- a/kernels/linux-libre-rt/linux-libre-rt.install
+++ b/kernels/linux-libre-rt/linux-libre-rt.install
@@ -1,8 +1,8 @@
# arg 1: the new package version
# arg 2: the old package version
-KERNEL_NAME=
-KERNEL_VERSION=3.2.2-LIBRE
+KERNEL_NAME=-rt
+KERNEL_VERSION=3.2.11-1-LIBRE-RT
post_install () {
# updating module dependencies
@@ -12,7 +12,7 @@ post_install () {
mkinitcpio -p linux-libre${KERNEL_NAME}
# compat symlinks for the official kernels only
- if [ -z "${KERNEL_NAME}" -o "${KERNEL_NAME}" = "-lts" ]; then
+ if [ -z "${KERNEL_NAME}" -o "${KERNEL_NAME}" = "-rt" ]; then
loaders="$(find /boot -name syslinux.cfg -or -name extlinux.conf -or -name grub.cfg -or -name menu.lst)"
[ -f /etc/lilo.conf ] && loaders="$loaders /etc/lilo.conf"
if [ -n "${loaders}" ] && grep -q -e vmlinuz26 -e kernel26.img -e kernel26-fallback.img $loaders; then