3 #pkgname=(linux-ac100 linux-ac100-headers)
4 _kernelname=${pkgname#linux}
9 url="http://www.kernel.org/"
11 makedepends=(xmlto docbook-xsl lzop) #git)
13 source=(linux-ac100.install
18 change-default-console-loglevel.patch #)
19 https://gitorious.org/ac100/marvin24s-kernel/archive-tarball/chromeos-ac100-3.0)
21 #_gitroot=https://gitorious.org/~marvin24/ac100/marvin24s-kernel/commits/chromeos-ac100-3.0
22 #_gitname=chromeos-ac100-3.0
23 _gitname=ac100-marvin24s-kernel
25 MAKEFLAGS="ARCH=arm ${MAKEFLAGS}"
29 #if [[ -d "$_gitname" ]]; then
35 # git clone "$_gitroot" "$_gitname"
41 patch -Np1 -i "${srcdir}/change-default-console-loglevel.patch"
42 patch -Np1 -i "${srcdir}/armdma.patch"
44 cat "${srcdir}/config" > ./.config
45 #cat "${srcdir}/$_gitname/arch/arm/configs/paz00_defconfig" > ./.config
47 sed -ri "s|^(EXTRAVERSION =).*|\1 -${pkgrel}|" Makefile
50 #make menuconfig # nconfig / xconfig / oldconfig
51 #cp ./.config ../config
53 make ${MAKEFLAGS} zImage modules
56 package_linux-ac100-headers() {
57 pkgdesc="Header files and scripts for building modules for linux kernel - toshiba ac100 (tegra/paz00)"
58 provides=('linux-headers')
60 mkdir -p "${pkgdir}/lib/modules/${_kernver}"
62 cd "${pkgdir}/lib/modules/${_kernver}"
63 ln -sf ../../../usr/src/linux-${_kernver} build
65 cd "$srcdir/$_gitname"
66 install -D -m644 Makefile "${pkgdir}/usr/src/linux-${_kernver}/Makefile"
67 install -D -m644 kernel/Makefile "${pkgdir}/usr/src/linux-${_kernver}/kernel/Makefile"
68 install -D -m644 .config "${pkgdir}/usr/src/linux-${_kernver}/.config"
70 mkdir -p "${pkgdir}/usr/src/linux-${_kernver}/include"
72 for i in acpi asm-generic config crypto drm generated linux math-emu \
73 media net pcmcia scsi sound trace video xen; do
74 cp -a include/${i} "${pkgdir}/usr/src/linux-${_kernver}/include/"
77 # copy arch includes for external modules
78 mkdir -p ${pkgdir}/usr/src/linux-${_kernver}/arch/arm
79 cp -a arch/arm/include ${pkgdir}/usr/src/linux-${_kernver}/arch/arm/
80 mkdir -p ${pkgdir}/usr/src/linux-${_kernver}/arch/arm/mach-tegra
81 cp -a arch/arm/mach-tegra/include ${pkgdir}/usr/src/linux-${_kernver}/arch/arm/mach-tegra/
83 # copy files necessary for later builds, like nvidia and vmware
84 cp Module.symvers "${pkgdir}/usr/src/linux-${_kernver}"
85 cp -a scripts "${pkgdir}/usr/src/linux-${_kernver}"
87 # fix permissions on scripts dir
88 chmod og-w -R "${pkgdir}/usr/src/linux-${_kernver}/scripts"
89 mkdir -p "${pkgdir}/usr/src/linux-${_kernver}/.tmp_versions"
91 mkdir -p "${pkgdir}/usr/src/linux-${_kernver}/arch/arm/kernel"
93 cp arch/arm/Makefile "${pkgdir}/usr/src/linux-${_kernver}/arch/arm/"
95 cp arch/arm/kernel/asm-offsets.s "${pkgdir}/usr/src/linux-${_kernver}/arch/arm/kernel/"
97 # add headers for lirc package
98 mkdir -p "${pkgdir}/usr/src/linux-${_kernver}/drivers/media/video"
100 cp drivers/media/video/*.h "${pkgdir}/usr/src/linux-${_kernver}/drivers/media/video/"
102 for i in bt8xx cpia2 cx25840 cx88 em28xx et61x251 pwc saa7134 sn9c102; do
103 mkdir -p "${pkgdir}/usr/src/linux-${_kernver}/drivers/media/video/${i}"
104 cp -a drivers/media/video/${i}/*.h "${pkgdir}/usr/src/linux-${_kernver}/drivers/media/video/${i}"
107 # add docbook makefile
108 install -D -m644 Documentation/DocBook/Makefile \
109 "${pkgdir}/usr/src/linux-${_kernver}/Documentation/DocBook/Makefile"
112 mkdir -p "${pkgdir}/usr/src/linux-${_kernver}/drivers/md"
113 cp drivers/md/*.h "${pkgdir}/usr/src/linux-${_kernver}/drivers/md"
116 mkdir -p "${pkgdir}/usr/src/linux-${_kernver}/include/linux"
117 cp include/linux/inotify.h "${pkgdir}/usr/src/linux-${_kernver}/include/linux/"
119 # add wireless headers
120 mkdir -p "${pkgdir}/usr/src/linux-${_kernver}/net/mac80211/"
121 cp net/mac80211/*.h "${pkgdir}/usr/src/linux-${_kernver}/net/mac80211/"
123 # add dvb headers for external modules
125 # http://bugs.archlinux.org/task/9912
126 #mkdir -p "${pkgdir}/usr/src/linux-${_kernver}/drivers/media/dvb/dvb-core"
127 #cp drivers/media/dvb/dvb-core/*.h "${pkgdir}/usr/src/linux-${_kernver}/drivers/media/dvb/dvb-core/"
129 # http://bugs.archlinux.org/task/11194
130 #mkdir -p "${pkgdir}/usr/src/linux-${_kernver}/include/config/dvb/"
131 #cp include/config/dvb/*.h "${pkgdir}/usr/src/linux-${_kernver}/include/config/dvb/"
133 # add dvb headers for http://mcentral.de/hg/~mrec/em28xx-new
135 # http://bugs.archlinux.org/task/13146
136 #mkdir -p "${pkgdir}/usr/src/linux-${_kernver}/drivers/media/dvb/frontends/"
137 #cp drivers/media/dvb/frontends/lgdt330x.h "${pkgdir}/usr/src/linux-${_kernver}/drivers/media/dvb/frontends/"
138 #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/"
150 # add xfs and shmem for aufs building
151 mkdir -p "${pkgdir}/usr/src/linux-${_kernver}/fs/xfs"
152 mkdir -p "${pkgdir}/usr/src/linux-${_kernver}/mm"
153 cp fs/xfs/xfs_sb.h "${pkgdir}/usr/src/linux-${_kernver}/fs/xfs/xfs_sb.h"
155 # copy in Kconfig files
156 for i in `find . -name "Kconfig*"`; do
157 mkdir -p "${pkgdir}"/usr/src/linux-${_kernver}/`echo ${i} | sed 's|/Kconfig.*||'`
158 cp ${i} "${pkgdir}/usr/src/linux-${_kernver}/${i}"
161 chown -R root.root "${pkgdir}/usr/src/linux-${_kernver}"
162 find "${pkgdir}/usr/src/linux-${_kernver}" -type d -exec chmod 755 {} \;
164 # strip scripts directory
165 find "${pkgdir}/usr/src/linux-${_kernver}/scripts" -type f -perm -u+w 2>/dev/null | while read binary ; do
166 case "$(file -bi "${binary}")" in
167 *application/x-sharedlib*) # Libraries (.so)
168 /usr/bin/strip ${STRIP_SHARED} "${binary}";;
169 *application/x-archive*) # Libraries (.a)
170 /usr/bin/strip ${STRIP_STATIC} "${binary}";;
171 *application/x-executable*) # Binaries
172 /usr/bin/strip ${STRIP_BINARIES} "${binary}";;
176 # remove unneeded architectures
177 rm -rf "${pkgdir}"/usr/src/linux-${_kernver}/arch/{alpha,arm26,avr32,blackfin,cris,frv,h8300,ia64,m32r,m68k,m68knommu,mips,microblaze,mn10300,parisc,powerpc,ppc,s390,sh,sh64,sparc,sparc64,um,v850,x86,xtensa}
180 package_linux-ac100() {
181 pkgdesc="The Linux Kernel and modules - toshiba ac100 (tegra/paz00)"
182 depends=(coreutils linux-firmware 'module-init-tools>=3.16' 'mkinitcpio>=0.7' abootimg-git)
183 optdepends=('crda: to set the correct wireless channels of your country')
185 backup=("etc/mkinitcpio.d/${pkgname}.preset")
186 install=${pkgname}.install
188 cd "$srcdir/$_gitname"
191 _kernver="$(make ${MAKEFLAGS} kernelrelease)"
193 mkdir -p "${pkgdir}"/{lib/modules,lib/firmware,boot/ac100}
194 make INSTALL_MOD_PATH="${pkgdir}" modules_install
195 cp arch/arm/boot/zImage $pkgdir/boot/ac100/
196 cp $srcdir/bootimg.cfg $pkgdir/boot/ac100/
198 # set correct depmod command for install
199 sed -e "s/KERNEL_NAME=.*/KERNEL_NAME=${_kernelname}/g" \
200 -e "s/KERNEL_VERSION=.*/KERNEL_VERSION=${_kernver}/g" \
201 -i "${startdir}/${pkgname}.install"
203 # remove build and source links
204 rm -f "${pkgdir}"/lib/modules/${_kernver}/{source,build}
205 # remove the firmware
206 rm -rf "${pkgdir}/lib/firmware"
207 # gzip -9 all modules to safe 100MB of space
208 find "${pkgdir}" -name '*.ko' -exec gzip -9 {} \;
209 # make room for external modules
210 #ln -s "../extramodules-${_basekernel}-${_kernelname:-ARCH}" "${pkgdir}/lib/modules/${_kernver}/extramodules"
211 # add real version for building modules and running depmod from post_install/upgrade
212 #mkdir -p "${pkgdir}/lib/modules/extramodules-${_basekernel}-${_kernelname:-ARCH}"
213 #echo "${_kernver}" > "${pkgdir}/lib/modules/extramodules-${_basekernel}-${_kernelname:-ARCH}/version"
214 install -D -m644 "$srcdir/$pkgname.preset" "$pkgdir/etc/mkinitcpio.d/$pkgname.preset"
215 sed -i "s/^ALL_kver=.*$/ALL_kver=$_kernver/" "$pkgdir/etc/mkinitcpio.d/$pkgname.preset"
218 md5sums=('bda3f1b9d085c4057daa91ccaa818449'
219 '8ab9596a6c1f08548a1580a3511437dc'
220 '21a2561abad495d7dde05b0bb9cf231c'
221 '6e7667c6c6348bfeca22eaaa05462d62'
222 '1c757e5c4457b6cfea52eba09a19721a'
223 '9d3c56a4b999c8bfbd4018089a62f662'
224 '3f6ae0eacf3617139819d01cbeadaaf4')