1 # Maintainer: OK <ok100.ok100.ok100@gmail.com>
2 # Based on kernel-eee PKGBUILD by Dan McGee <dan@archlinux.org>
7 true && pkgname=("linux-eee-ck" "linux-eee-ck-headers")
12 pkgdesc="The Linux Kernel and modules for the Asus Eee PC 701, with Brain Fuck Scheduler v0.416 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=linux-eee-ck.install
21 source=(http://www.kernel.org/pub/linux/kernel/v3.x/linux-$_kernver.tar.xz
22 http://www.kernel.org/pub/linux/kernel/v3.x/patch-$pkgver.gz
23 http://ck.kolivas.org/patches/3.0/$_kernver/$_kernver-$_ckver/patch-$_kernver-$_ckver.bz2
24 change-default-console-loglevel.patch
29 # get into the linux source directory and start some magic
30 cd $srcdir/linux-$_kernver
33 patch -p1 -i "$srcdir/patch-$pkgver"
36 echo "Applying $_ckver patchset..."
37 patch -Np1 -i ../patch-$_kernver-$_ckver
39 # set DEFAULT_CONSOLE_LOGLEVEL to 4 (same value as the 'quiet' kernel param)
40 # remove this when a Kconfig knob is made available by upstream
41 # (relevant patch sent upstream: https://lkml.org/lkml/2011/7/26/227)
42 echo "Applying default console loglevel patch..."
43 patch -Np1 -i ../change-default-console-loglevel.patch
46 cp ../kernelconfig ./.config
49 # to modify kernel settings, uncomment the following line
56 package_linux-eee-ck() {
58 cd $srcdir/linux-$_kernver
59 mkdir -p $pkgdir/{lib/modules,boot}
60 make INSTALL_MOD_PATH=$pkgdir modules_install || return 1
62 # remove the junk symlinks
63 cd $srcdir/linux-$_kernver
64 rm $pkgdir/lib/modules/$pkgver-${_ckver}eee/{build,source}
66 cp arch/x86/boot/bzImage $pkgdir/boot/vmlinuzeee-ck
67 # install a helper file for all install scripts
68 mkdir -p $pkgdir/usr/share/linux-eee-ck/
69 echo "KERNEL_VERSION='${pkgver}-${_ckver}eee'" > $pkgdir/usr/share/linux-eee-ck/currver
71 # udev rules for SSD drives
72 mkdir -p $pkgdir/lib/udev/rules.d/
73 install -m644 $srcdir/61-eee-ssd.rules $pkgdir/lib/udev/rules.d/
76 find "${pkgdir}" -name '*.ko' -exec gzip -9 {} \;
79 package_linux-eee-ck-headers() {
83 true && pkgdesc='Header files and scripts for building modules for linux-eee-ck'
85 mkdir -p ${pkgdir}/lib/modules/${pkgver}-${_ckver}eee
86 cd ${pkgdir}/lib/modules/${pkgver}-${_ckver}eee
87 ln -sf ../../../usr/src/linux-${_kernver} build
88 cd ${srcdir}/linux-$_kernver
89 install -D -m644 Makefile \
90 ${pkgdir}/usr/src/linux-${_kernver}/Makefile
91 install -D -m644 kernel/Makefile \
92 ${pkgdir}/usr/src/linux-${_kernver}/kernel/Makefile
93 install -D -m644 .config \
94 ${pkgdir}/usr/src/linux-${_kernver}/.config
95 mkdir -p ${pkgdir}/usr/src/linux-${_kernver}/include
97 for i in acpi asm-generic config crypto drm generated linux math-emu \
98 media net pcmcia scsi sound trace video xen; do
99 cp -a include/$i ${pkgdir}/usr/src/linux-${_kernver}/include/
102 # copy arch includes for external modules
103 mkdir -p ${pkgdir}/usr/src/linux-${_kernver}/arch/x86
104 cp -a arch/x86/include ${pkgdir}/usr/src/linux-${_kernver}/arch/x86/
106 # copy files necessary for later builds, like nvidia and vmware
107 cp Module.symvers ${pkgdir}/usr/src/linux-${_kernver}
108 cp -a scripts ${pkgdir}/usr/src/linux-${_kernver}
109 # fix permissions on scripts dir
110 chmod og-w -R ${pkgdir}/usr/src/linux-${_kernver}/scripts
111 mkdir -p ${pkgdir}/usr/src/linux-${_kernver}/.tmp_versions
113 mkdir -p ${pkgdir}/usr/src/linux-${_kernver}/arch/$KARCH/kernel
115 cp arch/$KARCH/Makefile ${pkgdir}/usr/src/linux-${_kernver}/arch/$KARCH/
116 if [ "$CARCH" = "i686" ]; then
117 cp arch/$KARCH/Makefile_32.cpu ${pkgdir}/usr/src/linux-${_kernver}/arch/$KARCH/
119 cp arch/$KARCH/kernel/asm-offsets.s ${pkgdir}/usr/src/linux-${_kernver}/arch/$KARCH/kernel/
121 # add headers for lirc package
122 mkdir -p ${pkgdir}/usr/src/linux-${_kernver}/drivers/media/video
123 cp drivers/media/video/*.h ${pkgdir}/usr/src/linux-${_kernver}/drivers/media/video/
124 for i in bt8xx cpia2 cx25840 cx88 em28xx et61x251 pwc saa7134 sn9c102; do
125 mkdir -p ${pkgdir}/usr/src/linux-${_kernver}/drivers/media/video/$i
126 cp -a drivers/media/video/$i/*.h ${pkgdir}/usr/src/linux-${_kernver}/drivers/media/video/$i
128 # add docbook makefile
129 install -D -m644 Documentation/DocBook/Makefile \
130 ${pkgdir}/usr/src/linux-${_kernver}/Documentation/DocBook/Makefile
132 mkdir -p ${pkgdir}/usr/src/linux-${_kernver}/drivers/md
133 cp drivers/md/*.h ${pkgdir}/usr/src/linux-${_kernver}/drivers/md
135 mkdir -p ${pkgdir}/usr/src/linux-${_kernver}/include/linux
136 cp include/linux/inotify.h ${pkgdir}/usr/src/linux-${_kernver}/include/linux/
137 # add wireless headers
138 mkdir -p ${pkgdir}/usr/src/linux-${_kernver}/net/mac80211/
139 cp net/mac80211/*.h ${pkgdir}/usr/src/linux-${_kernver}/net/mac80211/
140 # add dvb headers for external modules
142 # http://bugs.archlinux.org/task/9912
143 mkdir -p ${pkgdir}/usr/src/linux-${_kernver}/drivers/media/dvb/dvb-core
144 cp drivers/media/dvb/dvb-core/*.h ${pkgdir}/usr/src/linux-${_kernver}/drivers/media/dvb/dvb-core/
145 # add dvb headers for http://mcentral.de/hg/~mrec/em28xx-new
147 # http://bugs.archlinux.org/task/13146
148 mkdir -p ${pkgdir}/usr/src/linux-${_kernver}/drivers/media/dvb/frontends/
149 cp drivers/media/dvb/frontends/lgdt330x.h ${pkgdir}/usr/src/linux-${_kernver}/drivers/media/dvb/frontends/
150 cp drivers/media/video/msp3400-driver.h ${pkgdir}/usr/src/linux-${_kernver}/drivers/media/dvb/frontends/
153 # http://bugs.archlinux.org/task/20402
154 mkdir -p ${pkgdir}/usr/src/linux-${_kernver}/drivers/media/dvb/dvb-usb
155 cp drivers/media/dvb/dvb-usb/*.h ${pkgdir}/usr/src/linux-${_kernver}/drivers/media/dvb/dvb-usb/
156 mkdir -p ${pkgdir}/usr/src/linux-${_kernver}/drivers/media/dvb/frontends
157 cp drivers/media/dvb/frontends/*.h ${pkgdir}/usr/src/linux-${_kernver}/drivers/media/dvb/frontends/
158 mkdir -p ${pkgdir}/usr/src/linux-${_kernver}/drivers/media/common/tuners
159 cp drivers/media/common/tuners/*.h ${pkgdir}/usr/src/linux-${_kernver}/drivers/media/common/tuners/
160 # add xfs and shmem for aufs building
161 mkdir -p ${pkgdir}/usr/src/linux-${_kernver}/fs/xfs
162 mkdir -p ${pkgdir}/usr/src/linux-${_kernver}/mm
163 cp fs/xfs/xfs_sb.h ${pkgdir}/usr/src/linux-${_kernver}/fs/xfs/xfs_sb.h
164 # copy in Kconfig files
165 for i in `find . -name "Kconfig*"`; do
166 mkdir -p ${pkgdir}/usr/src/linux-${_kernver}/`echo $i | sed 's|/Kconfig.*||'`
167 cp $i ${pkgdir}/usr/src/linux-${_kernver}/$i
170 chown -R root.root ${pkgdir}/usr/src/linux-${_kernver}
171 find ${pkgdir}/usr/src/linux-${_kernver} -type d -exec chmod 755 {} \;
172 # strip scripts directory
173 find ${pkgdir}/usr/src/linux-${_kernver}/scripts -type f -perm -u+w 2>/dev/null | while read binary ; do
174 case "$(file -bi "$binary")" in
175 *application/x-sharedlib*) # Libraries (.so)
176 /usr/bin/strip $STRIP_SHARED "$binary";;
177 *application/x-archive*) # Libraries (.a)
178 /usr/bin/strip $STRIP_STATIC "$binary";;
179 *application/x-executable*) # Binaries
180 /usr/bin/strip $STRIP_BINARIES "$binary";;
183 # remove unneeded architectures
184 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}
187 md5sums=('364066fa18767ec0ae5f4e4abcf9dc51'
188 'ca19178cffcb82bd31733e54b016f295'
189 'ca14fff2785d37e55eeb80c4e646c28f'
190 '9d3c56a4b999c8bfbd4018089a62f662'
191 '73a20e8bf2bb29ba342f43460c6291cb'
192 '5be0aca5c4852cba4972751eb0a37249')