You are not logged in.

#1 2009-04-06 11:34:22

Fackamato
Member
Registered: 2006-03-31
Posts: 579

linux26-ice-rt

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_FLAGS

1 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

Board footer

Powered by FluxBB