# $Id: PKGBUILD,v 1.149 2006/07/16 09:53:24 tpowa Exp $ # Maintainer: judd pkgname=kernel26 basekernel=2.6.17 pkgver=2.6.17.6 pkgrel=1 pkgdesc="The Linux Kernel and modules" arch=(i686 x86_64) url="http://www.kernel.org" backup=('boot/kconfig26') depends=('module-init-tools' 'mkinitcpio' 'mkinitrd') # pwc, ieee80211 and hostap-driver26 modules are included in kernel26 now # kernel24 support is dropped since glibc24 replaces=('kernel24' 'kernel24-scsi' 'kernel26-scsi' 'alsa-driver' 'ieee80211' 'hostap-driver26' 'pwc') install=kernel26.install source=(ftp://ftp.kernel.org/pub/linux/kernel/v2.6/linux-$basekernel.tar.bz2 \ http://www.kernel.org/pub/linux/kernel/v2.6/patch-$pkgver.bz2 \ #http://www.kernel.org/pub/linux/kernel/v2.6/testing/patch-2.6.17-rc6.bz2 \ #http://www.kernel.org/pub/linux/kernel/v2.6/snapshots/patch-2.6.17-rc6-git11.bz2 \ ftp://152.104.238.194/cn/nic/rtl8111brtl8168b/linux-r1000\(103\).zip r1000-build.patch \ config config.x86_64 logo_linux_clut224.ppm logo_linux_mono.pbm logo_linux_vga16.ppm \ mkinitcpio-$pkgname.conf \ #ftp://ftp.kernel.org/pub/linux/kernel/people/lenb/acpi/patches/release/$basekernel/acpi-release-20060310-$basekernel.diff.bz2 \ powernow-k7.patch acpi-dsdt-initrd-v0.8.1-2.6.16.patch pata-fix.diff pwc-2.6.18-backport.patch.bz2 pcspeaker_x86_64.patch) md5sums=('37ddefe96625502161f075b9d907f21e' 'd8598f06ed1ce41b4ea51d9eb7ed4277'\ 'f2224191a05cbd2b64cc590c2e6a5958' '364367f84c718d0a08407ae7459df825'\ '2f663bb1519c0ea62ef3f472d5a1bdf3' '7508ad0fe9f4f9dadb9c56fe078b53e8'\ '5a62bcc7e96601052c7405459b483826' 'ed6b42fea2f5d27f7eb920746ccc1ebb'\ 'a995ec849ea43d3c89d607bbdd1e7d09' '8baffc788327d96b55d2e3a1ae31fe1c'\ 'a714ea45ed6fbafbdebfdaeeea42f33d' 'beaf6eb33317bcaf5cd93d68cec84ef5'\ '102690223f44ceb67d0073921c9a5c7d' 'c8996eed54b66f710ccbd7d18375d744'\ '436539e3b79a17389af543386f1b1bb1') build() { [ "${CARCH}" = "i686" ] && KARCH=i386 [ "${CARCH}" = "x86_64" ] && KARCH=x86_64 cd $startdir/src/linux-$basekernel # add upstream patch from 2.6.17 series #patch -Np1 -i ../patch-2.6.17-rc6 || return 1 #patch -Np1 -i ../patch-2.6.17-rc6-git11 || return 1 patch -Np1 -i ../patch-$pkgver || return 1 # fixes smp bug in powernow-k7 # is probably fixed upstream in 2.6.18 series patch -Np1 -i ../powernow-k7.patch || return 1 # add acpi custom dsdt patch patch -Np1 -i ../acpi-dsdt-initrd-v0.8.1-2.6.16.patch || return 1 # add pata fix for sata_promise patch -Np1 -i ../pata-fix.diff || return 1 # trying to fix pwc driver patch -Np1 -i ../pwc-2.6.18-backport.patch || return 1 # trying to fix pcspeaker for x86_64 if [ "${CARCH}" = "x86_64" ]; then patch -Np1 -i ../pcspeaker_x86_64.patch || return 1 fi # remove the extraversion from Makefile sed -i 's|^EXTRAVERSION = .*$|EXTRAVERSION =|g' Makefile # Arch logo! cp ../logo_linux_clut224.ppm drivers/video/logo/ cp ../logo_linux_mono.pbm drivers/video/logo/ cp ../logo_linux_vga16.ppm drivers/video/logo/ if [ "${CARCH}" = "x86_64" ]; then cat ../config.x86_64 >./.config else # get rid of the 'i' in i686 carch=`echo $CARCH | sed 's|i||'` cat ../config | sed "s|#CARCH#|$carch|g" >./.config fi # build the full kernel version to use in pathnames . ./.config _kernver="${basekernel}${CONFIG_LOCALVERSION}" # load configuration yes "" | make config # build! make bzImage modules || return 1 mkdir -p $startdir/pkg/{lib/modules,boot} make INSTALL_MOD_PATH=$startdir/pkg modules_install || return 1 cp System.map $startdir/pkg/boot/System.map26 cp arch/$KARCH/boot/bzImage $startdir/pkg/boot/vmlinuz26 # for x86_64 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 .kernelrelease \ $startdir/pkg/usr/src/linux-${_kernver}/.kernelrelease install -D -m644 .config $startdir/pkg/boot/kconfig26 mkdir -p $startdir/pkg/usr/src/linux-${_kernver}/include mkdir -p $startdir/pkg/usr/src/linux-${_kernver}/arch/$KARCH/kernel for i in acpi asm-generic asm-$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 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} mkdir -p $startdir/pkg/usr/src/linux-${_kernver}/.tmp_versions cp arch/$KARCH/Makefile $startdir/pkg/usr/src/linux-${_kernver}/arch/$KARCH/ cp arch/$KARCH/Makefile.cpu $startdir/pkg/usr/src/linux-${_kernver}/arch/$KARCH/ 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/ # 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} cd $startdir/pkg/lib/modules/${_kernver} && \ (rm -f source build; ln -sf ../../../usr/src/linux-${_kernver} build) # fix lirc until lirc is fixed upstream for 2.6.17 cd $startdir/pkg/usr/src/linux-${_kernver}/drivers/media/video ln -s bt8xx/bttv.h bttv.h ln -s bt8xx/bttvp.h bttvp.h ln -s bt8xx/bt848.h bt848.h # install fallback mkinitcpio.conf file for kernel install -m644 -D $startdir/src/mkinitcpio-$pkgname.conf $startdir/pkg/boot/mkinitcpio-$pkgname.conf # set correct depmod command for install sed -i -e "s/KERNEL_VERSION=.*/KERNEL_VERSION=${_kernver}/g" $startdir/kernel26.install # install r1000 driver for newer realtek network cards cd $startdir/src/r1000 patch -Np0 -i ../r1000-build.patch || return 1 make KDIR=$startdir/src/linux-$basekernel modules install -D -m644 $startdir/src/r1000/src/r1000.ko $startdir/pkg/lib/modules/${_kernver}/kernel/drivers/net/r1000.ko }