You are not logged in.
Here has been mentions in the past that TuxOnIce can coexist with the realtime patches. Now that the realtime patches has caught up, I'd like to try this. However I've run into problems. One patch can't apply cleanly over the other, no matter which way you apply them. There are the errors I'm getting:
1 out of 2 hunks FAILED -- saving rejects to file include/linux/mm.h.rej
***************
*** 104,109 ****
#define VM_CAN_NONLINEAR 0x08000000 /* Has ->fault & does nonlinear pages */
#define VM_MIXEDMAP 0x10000000 /* Can contain "struct page" and pure PFN pages */
#define VM_SAO 0x20000000 /* Strong Access Ordering (powerpc) */
#ifndef VM_STACK_DEFAULT_FLAGS /* arch can override this */
#define VM_STACK_DEFAULT_FLAGS VM_DATA_DEFAULT_FLAGS
--- 104,110 ----
#define VM_CAN_NONLINEAR 0x08000000 /* Has ->fault & does nonlinear pages */
#define VM_MIXEDMAP 0x10000000 /* Can contain "struct page" and pure PFN pages */
#define VM_SAO 0x20000000 /* Strong Access Ordering (powerpc) */
+ #define VM_ATOMIC_COPY 0x40000000 /* This VM should be atomically copied by TuxOnIce */
#ifndef VM_STACK_DEFAULT_FLAGS /* arch can override this */
#define VM_STACK_DEFAULT_FLAGS VM_DATA_DEFAULT_FLAGS1 out of 1 hunk FAILED -- saving rejects to file kernel/fork.c.rej:
***************
*** 80,85 ****
DEFINE_PER_CPU(unsigned long, process_counts) = 0;
__cacheline_aligned DEFINE_RWLOCK(tasklist_lock); /* outer */
DEFINE_TRACE(sched_process_fork);
--- 80,86 ----
DEFINE_PER_CPU(unsigned long, process_counts) = 0;
__cacheline_aligned DEFINE_RWLOCK(tasklist_lock); /* outer */
+ EXPORT_SYMBOL_GPL(tasklist_lock);
DEFINE_TRACE(sched_process_fork);1 out of 3 hunks FAILED -- saving rejects to file kernel/timer.c.rej:
***************
*** 37,42 ****
#include <linux/delay.h>
#include <linux/tick.h>
#include <linux/kallsyms.h>
#include <asm/uaccess.h>
#include <asm/unistd.h>
--- 37,44 ----
#include <linux/delay.h>
#include <linux/tick.h>
#include <linux/kallsyms.h>
+ #include <linux/notifier.h>
+ #include <linux/suspend.h>
#include <asm/uaccess.h>
#include <asm/unistd.h>Here's the PKGBUILD if you want to play with it yourself. How should I proceed in making this work? sed one patch? What needs to be changed? I'm not really good at interpreting patches or rejects...
Thanks,
Mathias
# Contributor: Giuseppe Calderaro <giuseppecalderaro@gmail.com>
# Contributor: Mathias Burén <mathias.buren@gmail.com>
pkgname=kernel26-ice-rt
pkgver=2.6.29
rtver=rt4
pkgrel=1
pkgdesc="The Linux Kernel and modules with gentoo-sources patchset, realtime patch and tuxonice support"
arch=('i686' 'x86_64')
license=('GPL2')
url="http://www.kernel.org"
backup=('boot/kconfig26-ice-rt' etc/mkinitcpio.d/${pkgname}.preset etc/mkinitcpio.d/${pkgname}-fallback.conf)
depends=('coreutils' 'module-init-tools' 'mkinitcpio>=0.5.15')
install=kernel26-ice-rt.install
keep_source_code="0"
source=(http://kernel.org/pub/linux/kernel/v2.6/linux-$pkgver.tar.bz2
http://www.kernel.org/pub/linux/kernel/v2.6/patch-2.6.29.1.bz2
ftp://ftp.kernel.org/pub/linux/kernel/projects/rt/patch-2.6.29.1-$rtver.bz2
http://sources.gentoo.org/viewcvs.py/*checkout*/linux-patches/genpatches-2.6/trunk/2.6.29/1915_ext4-automatically-allocate-delay-allocated-blocks-on-rename.patch
http://sources.gentoo.org/viewcvs.py/*checkout*/linux-patches/genpatches-2.6/trunk/2.6.29/1916_ext4-automatically-allocate-delay-allocated-blocks-on-close.patch
http://sources.gentoo.org/viewcvs.py/*checkout*/linux-patches/genpatches-2.6/trunk/2.6.29/1917_ext4-add-EXT4_IOC_ALLOC_DA_BLKS-ioctl.patch
http://sources.gentoo.org/viewcvs.py/*checkout*/linux-patches/genpatches-2.6/trunk/2.6.29/4100_dm-bbr.patch
# http://sources.gentoo.org/viewcvs.py/*checkout*/linux-patches/genpatches-2.6/trunk/2.6.29/4200_fbcondecor-0.9.6.patch
http://sources.gentoo.org/viewcvs.py/*checkout*/linux-patches/genpatches-2.6/trunk/2.6.29/4400_alpha-sysctl-uac.patch
http://gaugusch.at/acpi-dsdt-initrd-patches/acpi-dsdt-initrd-v0.9c-2.6.28.patch
http://www.kernel.org/pub/linux/kernel/people/edward/reiser4/reiser4-for-2.6/reiser4-for-2.6.29.patch.gz
http://www.tuxonice.net/downloads/all/tuxonice-3.0.1-for-2.6.29.patch.bz2
config
config.x86_64
$pkgname.preset
mkinitcpio-$pkgname.conf)
md5sums=('64921b5ff5cdadbccfcd3820f03be7d8'
'87c6fbf4096b644d66d4da8bb00641a5'
'93e532c80167ea829d54c387d8a8019e'
'7c6701aed6a599b007887ed51ca92848'
'dbbea8a16bcc1217db0b869cc6598543'
'e3f04eb5f3335bd7964c557f90671c0b'
'8647b3acf725b3d1ca6650b7a53713f7'
'21562518ab45d8be9c67d316aef9399f'
'd5fb59765842ae791f3aeacce33a63a7'
'ace47269d99bb5e555e01417f3337cd8'
'3964043faf7ddd325ee535dc1af23d22'
'c3b7795a7a12e89fcd69e6e250727be6'
'91a85b8458923aa4a3dc1de71dac47f7'
'97defa400bd7c9942f10b9568efa314a'
'4ec86e859234dc251dd16884235a9e37')
build() {
[ "${CARCH}" = "i686" ] && KARCH=x86
[ "${CARCH}" = "x86_64" ] && KARCH=x86
cd $startdir/src/linux-$pkgver
# Applying official patch
echo -n Applying official patch ...
patch -Np1 -i $startdir/src/patch-$pkgver.1 >/dev/null || return 1
echo ok
read cd
# Applying realtime patch
echo -n Applying realtime patch...
patch -Np1 -i $startdir/src/patch-$pkgver.1-$rtver || return 1
read cd
echo ok
# applying tuxonice patch
echo -n Applying tuxonice patch...
patch -Np1 -i $startdir/src/tuxonice-3.0.1-for-2.6.29.patch || return 1
read cd
echo ok
# Applying gentoo patches
echo -n Applying gentoo patches...
for i in $(ls ../[1-9][0-9][0-9][0-9]*);do
patch -Np1 -i ../$i || return 1
done
read cd
echo ok
# Applying ACPI DSDT initrd patch
echo -n Applying ACPI DSDT initrd patch...
patch -Np1 -i $startdir/src/acpi-dsdt-initrd-v0.9c-2.6.28.patch || return 1
read cd
echo ok
# applying reiserfs4 patch
echo -n Applying reiserfs4 patch...
patch -Np1 -i $startdir/src/reiser4-for-2.6.29.patch || return 1
read cd
echo ok
# remove extraversion
sed -i 's|^EXTRAVERSION = .*$|EXTRAVERSION =|g' Makefile
# load configuration for i686 or x86_64
if [ "$CARCH" = "x86_64" ]; then
cat ../config.x86_64 >./.config
else
cat ../config >./.config
fi
source ./.config
_kernver="$pkgver${CONFIG_LOCALVERSION}"
# configure kernel
# use menuconfig, if you want to change the configuration
make menuconfig
yes "" | make config
if [ "$keep_source_code" = "1" ]; then
echo -n "Copying source code..."
# Keep the source code
cd $startdir || return 1
mkdir -p $startdir/pkg/usr/src || return 1
cp -a $startdir/src/linux-$pkgver $startdir/pkg/usr/src/linux-$_kernver || return 1
#Add a link from the modules directory
mkdir -p $startdir/pkg/lib/modules/$_kernver || return 1
cd $startdir/pkg/lib/modules/$_kernver || return 1
rm -f source
ln -s ../../../usr/src/linux-$_kernver source || return 1
echo "OK"
fi
cd $startdir/src/linux-$pkgver
# build kernel
make bzImage modules || return 1
mkdir -p $startdir/pkg/{lib/modules,boot}
make INSTALL_MOD_PATH=$startdir/pkg modules_install || return 1
install -D -m644 System.map $startdir/pkg/boot/System.map26-ice-rt
install -D -m644 arch/$KARCH/boot/bzImage $startdir/pkg/boot/vmlinuz26-ice-rt
install -D -m644 Makefile $startdir/pkg/usr/src/linux-$_kernver/Makefile
install -D -m644 kernel/Makefile $startdir/pkg/usr/src/linux-$_kernver/kernel/Makefile
install -D -m644 .config $startdir/pkg/usr/src/linux-$_kernver/.config
install -D -m644 .config $startdir/pkg/boot/kconfig26-ice-rt
mkdir -p $startdir/pkg/usr/src/linux-$_kernver/include
for i in acpi asm-{generic,$KARCH} config linux math-emu media net pcmcia scsi sound video; do
cp -a include/$i $startdir/pkg/usr/src/linux-$_kernver/include/
done
# copy arch includes for external modules
mkdir -p ${pkgdir}/usr/src/linux-${_kernver}/arch/$KARCH
cp -a arch/$KARCH/include ${pkgdir}/usr/src/linux-${_kernver}/arch/$KARCH/
# copy files necessary for later builds, like nvidia and vmware
cp Module.symvers $startdir/pkg/usr/src/linux-$_kernver
cp -a scripts $startdir/pkg/usr/src/linux-$_kernver
# fix permissions on scripts dir
chmod og-w -R $startdir/pkg/usr/src/linux-$_kernver/scripts
mkdir -p $startdir/pkg/usr/src/linux-$_kernver/arch/$KARCH/kernel
cp arch/$KARCH/Makefile $startdir/pkg/usr/src/linux-$_kernver/arch/$KARCH/
if [ "${CARCH}" = "i686" ]; then
cp arch/$KARCH/Makefile_32.cpu $startdir/pkg/usr/src/linux-$_kernver/arch/$KARCH/
fi
cp arch/$KARCH/kernel/asm-offsets.s $startdir/pkg/usr/src/linux-$_kernver/arch/$KARCH/kernel/
# add headers for lirc package
mkdir -p $startdir/pkg/usr/src/linux-$_kernver/drivers/media/video
cp drivers/media/video/*.h $startdir/pkg/usr/src/linux-$_kernver/drivers/media/video/
for i in bt8xx cpia2 cx25840 cx88 em28xx et61x251 pwc saa7134 sn9c102 usbvideo zc0301
do
mkdir -p $startdir/pkg/usr/src/linux-$_kernver/drivers/media/video/$i
cp -a drivers/media/video/$i/*.h $startdir/pkg/usr/src/linux-$_kernver/drivers/media/video/$i
done
# add dm headers
mkdir -p $startdir/pkg/usr/src/linux-$_kernver/drivers/md
cp drivers/md/*.h $startdir/pkg/usr/src/linux-$_kernver/drivers/md
# add inotify.h
mkdir -p $startdir/pkg/usr/src/linux-$_kernver/include/linux
cp include/linux/inotify.h $startdir/pkg/usr/src/linux-$_kernver/include/linux/
# add CLUSTERIP file for iptables
mkdir -p $startdir/pkg/usr/src/linux-$_kernver/net/ipv4/netfilter/
cp net/ipv4/netfilter/ipt_CLUSTERIP.c $startdir/pkg/usr/src/linux-$_kernver/net/ipv4/netfilter/
# add wireless headers
mkdir -p $startdir/pkg/usr/src/linux-$_kernver/net/mac80211/
cp net/mac80211/*.h $startdir/pkg/usr/src/linux-$_kernver/net/mac80211/
# add xfs and shmem for aufs building
mkdir -p $startdir/pkg/usr/src/linux-$_kernver/fs/xfs
mkdir -p $startdir/pkg/usr/src/linux-$_kernver/mm
cp fs/xfs/xfs_sb.h $startdir/pkg/usr/src/linux-$_kernver/fs/xfs/xfs_sb.h
cp mm/shmem.c $startdir/pkg/usr/src/linux-$_kernver/mm/shmem.c
# add vmlinux
cp vmlinux $startdir/pkg/usr/src/linux-$_kernver
# copy in Kconfig files
for i in $(find . -name "Kconfig*")
do
mkdir -p $startdir/pkg/usr/src/linux-$_kernver/$(echo $i | sed 's|/Kconfig.*||')
cp $i $startdir/pkg/usr/src/linux-$_kernver/$i
done
cd $startdir/pkg/usr/src/linux-$_kernver/include && ln -s asm-$KARCH asm
chown -R root.root $startdir/pkg/usr/src/linux-$_kernver
find $startdir/pkg/usr/src/linux-$_kernver -type d -exec chmod 755 {} \;
cd $startdir/pkg/lib/modules/$_kernver && (rm -f source build; ln -sf ../../../usr/src/linux-$_kernver build)
# install fallback mkinitcpio.conf file and preset file for kernel
install -m644 -D $startdir/src/$pkgname.preset $startdir/pkg/etc/mkinitcpio.d/$pkgname.preset || return 1
install -m644 -D $startdir/src/mkinitcpio-$pkgname.conf $startdir/pkg/etc/mkinitcpio.d/$pkgname-fallback.conf || return 1
# set correct depmod command for install
sed -i -e "s/KERNEL_VERSION=.*/KERNEL_VERSION=${_kernver}/g" $startdir/$pkgname.install
echo -e "# DO NOT EDIT THIS FILE\nALL_kver='${_kernver}'" > $startdir/pkg/etc/mkinitcpio.d/$pkgname.kver
if [ "$keep_source_code" = "0" ]; then
# remove unneeded architectures
rm -rf $startdir/pkg/usr/src/linux-$_kernver/arch/{alpha,arm,arm26,avr32,blackfin,cris,frv,h8300,ia64,m32r,m68k,m68knommu,mips,parisc,powerpc,ppc,s390,sh,sh64,sparc,sparc64,um,v850,xtensa}
fi
}Offline