Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- # Maintainer: Ray Rashif <schiv@archlinux.org>
- # Contributor: timbosa <tinny_tim@dodo.com.au>
- # Contributor: Tobias Powalowski <tpowa@archlinux.org>
- # Contributor: Thomas Baechler <thomas@archlinux.org>
- pkgname=kernel26rt
- _kernelname=${pkgname#kernel26}
- _basekernel=2.6.33
- _realkernel=2.6.33 # for rc builds, else same as _basekernel
- _kernelpatch=.9 # leave blank if no upstream patch
- _rtpatch=-rt31
- pkgver=2.6.33.9_rt31
- pkgrel=1
- # 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
- _source=
- # -- nothing to change below this line -- #
- pkgdesc="The Linux Kernel and modules - with realtime preemption"
- arch=('i686' 'x86_64')
- license=('GPL2')
- url="http://rt.wiki.kernel.org"
- backup=(etc/mkinitcpio.d/$pkgname.preset)
- depends=('coreutils' 'linux-firmware' 'module-init-tools' 'mkinitcpio')
- optdepends=('crda: to set the correct wireless channels of your country')
- provides=('kernel26rt-headers')
- install=$pkgname.install
- changelog=$pkgname.changelog
- [ "$_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="ftp://ftp.kernel.org/pub/linux/kernel/v2.6/${_rc}patch-$_realkernel$_kernelpatch.bz2"
- [ -n "$_kernelpatch" ] && _kernpatchurl="http://www.kernel.org/pub/linux/kernel/v2.6/longterm/v$_basekernel/${_rc}patch-$_realkernel$_kernelpatch.bz2"
- options=(!strip)
- source=(ftp://ftp.kernel.org/pub/linux/kernel/v2.6/linux-$_realkernel.tar.bz2
- $_kernpatchurl
- ftp://ftp.kernel.org/pub/linux/kernel/projects/rt/${_rt}patch-$_realkernel$_kernelpatch$_rtpatch.bz2
- config
- config.x86_64
- $pkgname.preset
- logo_linux_clut224.ppm
- aufs2-base.patch
- aufs2-standalone.patch)
- build() {
- cd "$srcdir/linux-$_realkernel"
- # Add upstream patch
- if [ -n "$_kernelpatch" ]; then
- patch -Np1 -i ../patch-$_realkernel$_kernelpatch
- fi
- # 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
- else
- cat ../config > ./.config
- fi
- if [ -f "$startdir/config.save" ]; then
- msg "Using previously autosaved config"
- cat "$startdir/config.save" > ./.config
- fi
- sed -i "s|EXTRAVERSION =.*|EXTRAVERSION =|g" Makefile
- sed -i "s|CONFIG_LOCALVERSION=.*|CONFIG_LOCALVERSION=\"-$_kernelname\"|g" ./.config
- # load configuration
- _kernver=$_basekernel-$_kernelname
- yes "" | make config
- make menuconfig && cat ./.config > "$startdir/config.save"
- #make xconfig
- #make gconfig
- #make oldconfig
- # build!
- make bzImage modules
- }
- package() {
- cd "$srcdir/linux-$_realkernel"
- KARCH=x86
- _kernver=$_basekernel-$_kernelname
- mkdir -p "$pkgdir"/{lib/modules,boot}
- make INSTALL_MOD_PATH="$pkgdir" modules_install
- cp System.map "$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 \
- "$pkgdir/usr/src/linux-$_kernver/Makefile"
- install -D -m644 kernel/Makefile \
- "$pkgdir/usr/src/linux-$_kernver/kernel/Makefile"
- install -D -m644 .config \
- "$pkgdir/usr/src/linux-$_kernver/.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/"
- done
- # 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/"
- fi
- 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"
- done
- # add docbook makefile
- install -D -m644 Documentation/DocBook/Makefile \
- "$pkgdir/usr/src/linux-$_kernver/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:
- # http://bugs.archlinux.org/task/9912
- 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:
- # http://bugs.archlinux.org/task/11194
- 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 http://mcentral.de/hg/~mrec/em28xx-new
- # in reference to:
- # http://bugs.archlinux.org/task/13146
- 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:
- # http://bugs.archlinux.org/task/14568
- cp -a include/drm "$pkgdir/usr/src/linux-$_kernver/include/"
- # add headers for broadcom wl
- # in reference to:
- # http://bugs.archlinux.org/task/14568
- 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"
- done
- 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:
- md5sums=('c3883760b18d50e8d78819c54d579b00'
- 'f6801744832f9cc7c7993fa2265e86c3'
- '110380e5eeb2fbc019c7232037dc522c'
- '18da80ac1d41cba0f74cace471862bba'
- 'bcfba8783fd7d0db1261de2f002ad717'
- 'a0921a7e563e7ae2d14c3a0603fa16ad'
- '6a5a1925501fe20fafd04fdb3cb4f6ed'
- 'edb62063ec2a61fc82cc00b89920f729'
- 'e924c5a340f2731c245e6bff8002be13')
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement