1 # Maintainer: OK <ok100.ok100.ok100@gmail.com>
2 # Based on kernel-eee PKGBUILD by Dan McGee <dan@archlinux.org>
5 pkgname="kernel-eee-ck"
7 true && pkgname=("kernel-eee-ck" "kernel-eee-ck-headers")
12 pkgdesc="The Linux Kernel and modules for the Asus Eee PC 701, with Brain Fuck Scheduler v0.406 and all the goodies in the $_ckver patchset."
15 url="http://www.kernel.org"
16 depends=('coreutils' 'module-init-tools')
17 optdepends=('crda: for wireless regulatory domain support'
18 'iw: for wireless configuration support')
19 replaces=('linux-uvc-eee-svn' 'madwifi-eee-svn')
20 install=kernel-eee-ck.install
21 source=(ftp://ftp.kernel.org/pub/linux/kernel/v2.6/linux-$pkgver.tar.bz2
22 http://www.kernel.org/pub/linux/kernel/people/ck/patches/2.6/$_kernver/$_kernver-$_ckver/patch-$_kernver-$_ckver.bz2
28 # Hador's fix for 2.6.39.3/init/calibrate.c
29 patch -N -i ../fix_ck2.patch
31 # get into the linux source directory and start some magic
32 cd $srcdir/linux-$pkgver
35 patch -Np1 -i ../patch-$_kernver-$_ckver
37 # load configuration and build kernel + modules
38 cp ../kernelconfig ./.config
41 # to modify kernel settings, uncomment the following line
47 package_kernel-eee-ck() {
49 cd $srcdir/linux-$pkgver
50 mkdir -p $pkgdir/{lib/modules,boot}
51 make INSTALL_MOD_PATH=$pkgdir modules_install || return 1
53 # remove the junk symlinks
54 cd $srcdir/linux-$pkgver
55 rm $pkgdir/lib/modules/${pkgver}-${_ckver}eee/{build,source}
57 cp System.map $pkgdir/boot/System.map.eee-ck
58 cp arch/x86/boot/bzImage $pkgdir/boot/vmlinuzeee-ck
59 # install a helper file for all install scripts
60 mkdir -p $pkgdir/usr/share/kernel-eee-ck/
61 echo "KERNEL_VERSION='${pkgver}-${_ckver}eee'" > $pkgdir/usr/share/kernel-eee-ck/currver
63 # udev rules for SSD drives
64 mkdir -p $pkgdir/lib/udev/rules.d/
65 install -m644 $srcdir/61-eee-ssd.rules $pkgdir/lib/udev/rules.d/
68 package_kernel-eee-ck-headers() {
72 true && pkgdesc='Header files and scripts for building modules for kernel-eee-ck'
74 mkdir -p ${pkgdir}/lib/modules/${pkgver}-${_ckver}eee
75 cd ${pkgdir}/lib/modules/${pkgver}-${_ckver}eee
76 ln -sf ../../../usr/src/linux-${_kernver} build
77 cd ${srcdir}/linux-$pkgver
78 install -D -m644 Makefile \
79 ${pkgdir}/usr/src/linux-${_kernver}/Makefile
80 install -D -m644 kernel/Makefile \
81 ${pkgdir}/usr/src/linux-${_kernver}/kernel/Makefile
82 install -D -m644 .config \
83 ${pkgdir}/usr/src/linux-${_kernver}/.config
84 mkdir -p ${pkgdir}/usr/src/linux-${_kernver}/include
86 for i in acpi asm-generic config crypto drm generated linux math-emu \
87 media net pcmcia scsi sound trace video xen; do
88 cp -a include/$i ${pkgdir}/usr/src/linux-${_kernver}/include/
91 # copy arch includes for external modules
92 mkdir -p ${pkgdir}/usr/src/linux-${_kernver}/arch/x86
93 cp -a arch/x86/include ${pkgdir}/usr/src/linux-${_kernver}/arch/x86/
95 # copy files necessary for later builds, like nvidia and vmware
96 cp Module.symvers ${pkgdir}/usr/src/linux-${_kernver}
97 cp -a scripts ${pkgdir}/usr/src/linux-${_kernver}
98 # fix permissions on scripts dir
99 chmod og-w -R ${pkgdir}/usr/src/linux-${_kernver}/scripts
100 mkdir -p ${pkgdir}/usr/src/linux-${_kernver}/.tmp_versions
102 mkdir -p ${pkgdir}/usr/src/linux-${_kernver}/arch/$KARCH/kernel
104 cp arch/$KARCH/Makefile ${pkgdir}/usr/src/linux-${_kernver}/arch/$KARCH/
105 if [ "$CARCH" = "i686" ]; then
106 cp arch/$KARCH/Makefile_32.cpu ${pkgdir}/usr/src/linux-${_kernver}/arch/$KARCH/
108 cp arch/$KARCH/kernel/asm-offsets.s ${pkgdir}/usr/src/linux-${_kernver}/arch/$KARCH/kernel/
110 # add headers for lirc package
111 mkdir -p ${pkgdir}/usr/src/linux-${_kernver}/drivers/media/video
112 cp drivers/media/video/*.h ${pkgdir}/usr/src/linux-${_kernver}/drivers/media/video/
113 for i in bt8xx cpia2 cx25840 cx88 em28xx et61x251 pwc saa7134 sn9c102; do
114 mkdir -p ${pkgdir}/usr/src/linux-${_kernver}/drivers/media/video/$i
115 cp -a drivers/media/video/$i/*.h ${pkgdir}/usr/src/linux-${_kernver}/drivers/media/video/$i
117 # add docbook makefile
118 install -D -m644 Documentation/DocBook/Makefile \
119 ${pkgdir}/usr/src/linux-${_kernver}/Documentation/DocBook/Makefile
121 mkdir -p ${pkgdir}/usr/src/linux-${_kernver}/drivers/md
122 cp drivers/md/*.h ${pkgdir}/usr/src/linux-${_kernver}/drivers/md
124 mkdir -p ${pkgdir}/usr/src/linux-${_kernver}/include/linux
125 cp include/linux/inotify.h ${pkgdir}/usr/src/linux-${_kernver}/include/linux/
126 # add wireless headers
127 mkdir -p ${pkgdir}/usr/src/linux-${_kernver}/net/mac80211/
128 cp net/mac80211/*.h ${pkgdir}/usr/src/linux-${_kernver}/net/mac80211/
129 # add dvb headers for external modules
131 # http://bugs.archlinux.org/task/9912
132 mkdir -p ${pkgdir}/usr/src/linux-${_kernver}/drivers/media/dvb/dvb-core
133 cp drivers/media/dvb/dvb-core/*.h ${pkgdir}/usr/src/linux-${_kernver}/drivers/media/dvb/dvb-core/
134 # add dvb headers for http://mcentral.de/hg/~mrec/em28xx-new
136 # http://bugs.archlinux.org/task/13146
137 mkdir -p ${pkgdir}/usr/src/linux-${_kernver}/drivers/media/dvb/frontends/
138 cp drivers/media/dvb/frontends/lgdt330x.h ${pkgdir}/usr/src/linux-${_kernver}/drivers/media/dvb/frontends/
139 cp drivers/media/video/msp3400-driver.h ${pkgdir}/usr/src/linux-${_kernver}/drivers/media/dvb/frontends/
142 # http://bugs.archlinux.org/task/20402
143 mkdir -p ${pkgdir}/usr/src/linux-${_kernver}/drivers/media/dvb/dvb-usb
144 cp drivers/media/dvb/dvb-usb/*.h ${pkgdir}/usr/src/linux-${_kernver}/drivers/media/dvb/dvb-usb/
145 mkdir -p ${pkgdir}/usr/src/linux-${_kernver}/drivers/media/dvb/frontends
146 cp drivers/media/dvb/frontends/*.h ${pkgdir}/usr/src/linux-${_kernver}/drivers/media/dvb/frontends/
147 mkdir -p ${pkgdir}/usr/src/linux-${_kernver}/drivers/media/common/tuners
148 cp drivers/media/common/tuners/*.h ${pkgdir}/usr/src/linux-${_kernver}/drivers/media/common/tuners/
149 # add xfs and shmem for aufs building
150 mkdir -p ${pkgdir}/usr/src/linux-${_kernver}/fs/xfs
151 mkdir -p ${pkgdir}/usr/src/linux-${_kernver}/mm
152 cp fs/xfs/xfs_sb.h ${pkgdir}/usr/src/linux-${_kernver}/fs/xfs/xfs_sb.h
153 # copy in Kconfig files
154 for i in `find . -name "Kconfig*"`; do
155 mkdir -p ${pkgdir}/usr/src/linux-${_kernver}/`echo $i | sed 's|/Kconfig.*||'`
156 cp $i ${pkgdir}/usr/src/linux-${_kernver}/$i
159 chown -R root.root ${pkgdir}/usr/src/linux-${_kernver}
160 find ${pkgdir}/usr/src/linux-${_kernver} -type d -exec chmod 755 {} \;
161 # strip scripts directory
162 find ${pkgdir}/usr/src/linux-${_kernver}/scripts -type f -perm -u+w 2>/dev/null | while read binary ; do
163 case "$(file -bi "$binary")" in
164 *application/x-sharedlib*) # Libraries (.so)
165 /usr/bin/strip $STRIP_SHARED "$binary";;
166 *application/x-archive*) # Libraries (.a)
167 /usr/bin/strip $STRIP_STATIC "$binary";;
168 *application/x-executable*) # Binaries
169 /usr/bin/strip $STRIP_BINARIES "$binary";;
172 # remove unneeded architectures
173 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}
176 md5sums=('5afede829846587e798f2631c2ece84f'
177 'ffa0384d5a243d17ca47c9bd0e2217e7'
178 '73a20e8bf2bb29ba342f43460c6291cb'
179 '53de82f212882bc90c2648b413f63139'
180 '0ab7720f0d80d142a280cfe35b9a8730')