mirror of
https://github.com/archlinuxarm/PKGBUILDs.git
synced 2025-01-27 23:44:04 +00:00
core/linux-raspberrypi-latest to 3.12.1 and PKGFILE rewrite (following Kevin's example)
This commit is contained in:
parent
c82cccc5a0
commit
2bea0f2b8d
3 changed files with 305 additions and 145 deletions
|
@ -3,12 +3,12 @@
|
|||
|
||||
buildarch=18
|
||||
|
||||
pkgbase=linux-raspberrypi
|
||||
pkgname=('linux-raspberrypi-latest' 'linux-headers-raspberrypi-latest')
|
||||
# pkgname=linux-custom # Build kernel with a different name
|
||||
_kernelname=${pkgname#linux}
|
||||
_basekernel=3.12
|
||||
pkgver=${_basekernel}.0
|
||||
pkgbase=linux-raspberrypi-latest
|
||||
_commit=7d6a419fb377cede2d24f77b362acbcbe6197396
|
||||
_srcname=linux-${_commit}
|
||||
_kernelname=${pkgbase#linux}
|
||||
_desc="Raspberry Pi"
|
||||
pkgver=3.12.1
|
||||
pkgrel=1
|
||||
bfqver=v6r2
|
||||
uksmver="0.1.2.2"
|
||||
|
@ -17,72 +17,77 @@ uksmname="v3.12"
|
|||
arch=('arm armv6h')
|
||||
url="http://www.kernel.org/"
|
||||
license=('GPL2')
|
||||
makedepends=('xmlto' 'docbook-xsl' 'uboot-mkimage' 'git' 'python2' 'bc')
|
||||
makedepends=('xmlto' 'docbook-xsl' 'kmod' 'inetutils' 'uboot-mkimage' 'git' 'python2' 'bc')
|
||||
options=('!strip')
|
||||
source=('config'
|
||||
source=("https://github.com/raspberrypi/linux/archive/${_commit}.tar.gz"
|
||||
'config'
|
||||
'change-default-console-loglevel.patch'
|
||||
'usb-add-reset-resume-quirk-for-several-webcams.patch'
|
||||
'args-uncompressed.txt'
|
||||
'boot-uncompressed.txt'
|
||||
'imagetool-uncompressed.py'
|
||||
"http://kerneldedup.org/download/uksm/${uksmver}/uksm-${uksmver}-for-${uksmname}.patch"
|
||||
"http://algo.ing.unimo.it/people/paolo/disk_sched/patches/${_basekernel}.0-${bfqver}/0001-block-cgroups-kconfig-build-bits-for-BFQ-${bfqver}-${_basekernel}.patch"
|
||||
"http://algo.ing.unimo.it/people/paolo/disk_sched/patches/${_basekernel}.0-${bfqver}/0002-block-introduce-the-BFQ-${bfqver}-I-O-sched-for-${_basekernel}.patch"
|
||||
"http://algo.ing.unimo.it/people/paolo/disk_sched/patches/${_basekernel}.0-${bfqver}/0003-block-bfq-add-Early-Queue-Merge-EQM-to-BFQ-${bfqver}-for-${_basekernel}.0.patch")
|
||||
"git://git.code.sf.net/p/aufs/aufs3-standalone#branch=aufs${pkgver%.*}"
|
||||
"http://kerneldedup.org/download/uksm/${uksmver}/uksm-${uksmver}-for-${uksmname}.patch"
|
||||
"http://algo.ing.unimo.it/people/paolo/disk_sched/patches/${pkgver%.*}.0-${bfqver}/0001-block-cgroups-kconfig-build-bits-for-BFQ-${bfqver}-${pkgver%.*}.patch"
|
||||
"http://algo.ing.unimo.it/people/paolo/disk_sched/patches/${pkgver%.*}.0-${bfqver}/0002-block-introduce-the-BFQ-${bfqver}-I-O-sched-for-${pkgver%.*}.patch"
|
||||
"http://algo.ing.unimo.it/people/paolo/disk_sched/patches/${pkgver%.*}.0-${bfqver}/0003-block-bfq-add-Early-Queue-Merge-EQM-to-BFQ-${bfqver}-for-${pkgver%.*}.0.patch")
|
||||
|
||||
md5sums=('83615de3b58701293212fd118de8371d'
|
||||
md5sums=('bc65cef8139f134690055e946f86b98d'
|
||||
'd0d9d44e23c43c9173405006e2b6f191'
|
||||
'c0d63f4d42fd334bf31e4f749d4694f3'
|
||||
'd00814b57448895e65fbbc800e8a58ba'
|
||||
'9335d1263fd426215db69841a380ea26'
|
||||
'a00e424e2fbb8c5a5f77ba2c4871bed4'
|
||||
'2f82dbe5752af65ff409d737caf11954'
|
||||
'57cbf7fa8220461f8a052ea0eb9af779'
|
||||
'SKIP'
|
||||
'57cbf7fa8220461f8a052ea0eb9af779'
|
||||
'2d39966d14fdad1e05679232f97fdb3c'
|
||||
'2965641038a5aae263722b1ba16b971b'
|
||||
'9a55951ee4c3741b61e2e159631b5cf2')
|
||||
|
||||
build() {
|
||||
git clone --branch=rpi-${_basekernel}.y --depth=1 https://github.com/raspberrypi/linux.git
|
||||
|
||||
cd "${srcdir}/linux"
|
||||
prepare() {
|
||||
cd "${srcdir}/${_srcname}"
|
||||
|
||||
msg "Patches:"
|
||||
#msg2 "Add upstream patch"
|
||||
#patch -p1 -i "${srcdir}/patch-${pkgver}"
|
||||
|
||||
msg2 "Add the USB_QUIRK_RESET_RESUME for several webcams"
|
||||
# FS#26528
|
||||
patch -Np1 -i "${srcdir}/usb-add-reset-resume-quirk-for-several-webcams.patch"
|
||||
|
||||
msg2 "Add UKSM patch"
|
||||
patch -Np1 -i "${srcdir}/uksm-${uksmver}-for-${uksmname}.patch"
|
||||
|
||||
msg2 "Add BFQ patches"
|
||||
patch -Np1 -i "${srcdir}/0001-block-cgroups-kconfig-build-bits-for-BFQ-${bfqver}-${_basekernel}.patch"
|
||||
patch -Np1 -i "${srcdir}/0002-block-introduce-the-BFQ-${bfqver}-I-O-sched-for-${_basekernel}.patch"
|
||||
patch -Np1 -i "${srcdir}/0003-block-bfq-add-Early-Queue-Merge-EQM-to-BFQ-${bfqver}-for-${_basekernel}.0.patch"
|
||||
|
||||
# add latest fixes from stable queue, if needed
|
||||
# http://git.kernel.org/?p=linux/kernel/git/stable/stable-queue.git
|
||||
|
||||
msg2 "Set DEFAULT_CONSOLE_LOGLEVEL to 4 (same value as the 'quiet' kernel param)"
|
||||
# remove this when a Kconfig knob is made available by upstream
|
||||
# (relevant patch sent upstream: https://lkml.org/lkml/2011/7/26/227)
|
||||
patch -Np1 -i "${srcdir}/change-default-console-loglevel.patch"
|
||||
|
||||
cp ${srcdir}/args-uncompressed.txt arch/arm/boot/
|
||||
cp ${srcdir}/boot-uncompressed.txt arch/arm/boot/
|
||||
cp ${srcdir}/imagetool-uncompressed.py arch/arm/boot/
|
||||
|
||||
#make bcmrpi_defconfig
|
||||
#sed -ri "s|^(CONFIG_LOCALVERSION=\").*|\1\-ARCH\"|" .config
|
||||
cat "${srcdir}/config" > ./.config
|
||||
msg2 "AUFS patches"
|
||||
cp -ru "${srcdir}/aufs3-standalone/Documentation" .
|
||||
cp -ru "${srcdir}/aufs3-standalone/fs" .
|
||||
cp -ru "${srcdir}/aufs3-standalone/include/uapi/linux/aufs_type.h" ./include/linux
|
||||
cp -ru "${srcdir}/aufs3-standalone/include/uapi/linux/aufs_type.h" ./include/uapi/linux
|
||||
|
||||
patch -Np1 -i ../aufs3-standalone/aufs3-kbuild.patch
|
||||
patch -Np1 -i ../aufs3-standalone/aufs3-base.patch
|
||||
patch -Np1 -i ../aufs3-standalone/aufs3-mmap.patch
|
||||
patch -Np1 -i ../aufs3-standalone/aufs3-standalone.patch
|
||||
|
||||
msg2 "Add UKSM patch"
|
||||
patch -Np1 -i "${srcdir}/uksm-${uksmver}-for-${uksmname}.patch"
|
||||
|
||||
msg2 "Add BFQ patches"
|
||||
patch -Np1 -i "${srcdir}/0001-block-cgroups-kconfig-build-bits-for-BFQ-${bfqver}-${pkgver%.*}.patch"
|
||||
patch -Np1 -i "${srcdir}/0002-block-introduce-the-BFQ-${bfqver}-I-O-sched-for-${pkgver%.*}.patch"
|
||||
patch -Np1 -i "${srcdir}/0003-block-bfq-add-Early-Queue-Merge-EQM-to-BFQ-${bfqver}-for-${pkgver%.*}.0.patch"
|
||||
|
||||
msg "Prepare to build"
|
||||
# set extraversion to pkgrel
|
||||
sed -ri "s|^(EXTRAVERSION =).*|\1 -${pkgrel}|" Makefile
|
||||
cat "${srcdir}/config" > ./.config
|
||||
|
||||
# add pkgrel to extraversion
|
||||
sed -ri "s|^(EXTRAVERSION =)(.*)|\1 \2-${pkgrel}|" Makefile
|
||||
|
||||
# don't run depmod on 'make install'. We'll do this ourselves in packaging
|
||||
sed -i '2iexit 0' scripts/depmod.sh
|
||||
}
|
||||
|
||||
build() {
|
||||
cd "${srcdir}/${_srcname}"
|
||||
|
||||
# get kernel version
|
||||
make prepare
|
||||
|
@ -93,6 +98,7 @@ msg "Prepare to build"
|
|||
#make nconfig # new CLI menu for configuration
|
||||
#make xconfig # X-based configuration
|
||||
#make oldconfig # using old config from previous kernel version
|
||||
#make bcmrpi_defconfig # using RPi defconfig
|
||||
# ... or manually edit .config
|
||||
|
||||
# Copy back our configuration (use with new kernel version)
|
||||
|
@ -107,19 +113,19 @@ msg "Prepare to build"
|
|||
|
||||
#yes "" | make config
|
||||
|
||||
msg "Building!"
|
||||
msg "Building!"
|
||||
make ${MAKEFLAGS} modules uImage
|
||||
}
|
||||
|
||||
package_linux-raspberrypi-latest() {
|
||||
pkgdesc="The Linux Kernel and modules for Raspberry Pi"
|
||||
_package() {
|
||||
pkgdesc="The Linux Kernel and modules - ${_desc}"
|
||||
depends=('coreutils' 'linux-firmware' 'module-init-tools>=3.16')
|
||||
optdepends=('crda: to set the correct wireless channels of your country')
|
||||
provides=('kernel26' "linux=${pkgver}")
|
||||
provides=('kernel26' "linux=${pkgver}" 'aufs_friendly')
|
||||
conflicts=('kernel26' 'linux')
|
||||
install=${pkgname}.install
|
||||
|
||||
cd "${srcdir}/linux"
|
||||
cd "${srcdir}/${_srcname}"
|
||||
|
||||
KARCH=arm
|
||||
|
||||
|
@ -128,9 +134,9 @@ package_linux-raspberrypi-latest() {
|
|||
|
||||
mkdir -p "${pkgdir}"/{lib/modules,lib/firmware,boot}
|
||||
make INSTALL_MOD_PATH="${pkgdir}" modules_install
|
||||
cd arch/$KARCH/boot/
|
||||
/usr/bin/python2 imagetool-uncompressed.py
|
||||
cd "${srcdir}/linux"
|
||||
pushd arch/$KARCH/boot/
|
||||
/usr/bin/python2 imagetool-uncompressed.py
|
||||
popd
|
||||
cp arch/$KARCH/boot/kernel.img ${pkgdir}/boot/kernel.img
|
||||
#cp arch/$KARCH/boot/uImage "${pkgdir}/boot/uImage"
|
||||
|
||||
|
@ -160,9 +166,10 @@ package_linux-raspberrypi-latest() {
|
|||
mv "$pkgdir/lib" "$pkgdir/usr"
|
||||
}
|
||||
|
||||
package_linux-headers-raspberrypi-latest() {
|
||||
pkgdesc="Header files and scripts for building modules for linux kernel for Raspberry Pi"
|
||||
_package-headers() {
|
||||
pkgdesc="Header files and scripts for building modules for linux kernel - ${_desc}"
|
||||
provides=('kernel26-headers' "linux-headers=${pkgver}")
|
||||
replaces=('linux-headers-raspberrypi-latest')
|
||||
conflicts=('kernel26-headers')
|
||||
|
||||
install -dm755 "${pkgdir}/usr/lib/modules/${_kernver}"
|
||||
|
@ -170,7 +177,7 @@ package_linux-headers-raspberrypi-latest() {
|
|||
cd "${pkgdir}/usr/lib/modules/${_kernver}"
|
||||
ln -sf ../../../src/linux-${_kernver} build
|
||||
|
||||
cd "${srcdir}/linux"
|
||||
cd "${srcdir}/${_srcname}"
|
||||
install -D -m644 Makefile \
|
||||
"${pkgdir}/usr/src/linux-${_kernver}/Makefile"
|
||||
install -D -m644 kernel/Makefile \
|
||||
|
@ -299,3 +306,10 @@ mkdir -p "${pkgdir}/usr/src/linux-${_kernver}/drivers/media/i2c/${i}"
|
|||
# remove unneeded architectures
|
||||
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}
|
||||
}
|
||||
|
||||
pkgname=("${pkgbase}" "${pkgbase}-headers")
|
||||
for _p in ${pkgname[@]}; do
|
||||
eval "package_${_p}() {
|
||||
_package${_p#${pkgbase}}
|
||||
}"
|
||||
done
|
||||
|
|
File diff suppressed because it is too large
Load diff
|
@ -2,7 +2,7 @@
|
|||
# arg 2: the old package version
|
||||
|
||||
KERNEL_NAME=-raspberrypi-latest
|
||||
KERNEL_VERSION=3.11.7-1-ARCH+
|
||||
KERNEL_VERSION=3.12.1-1-ARCH
|
||||
|
||||
post_install () {
|
||||
# updating module dependencies
|
||||
|
|
Loading…
Reference in a new issue