diff --git a/core/linux-raspberrypi/PKGBUILD b/core/linux-raspberrypi/PKGBUILD index 7950b6f93..88acee470 100644 --- a/core/linux-raspberrypi/PKGBUILD +++ b/core/linux-raspberrypi/PKGBUILD @@ -4,66 +4,66 @@ buildarch=18 pkgbase=linux-raspberrypi -pkgname=('linux-raspberrypi' 'linux-headers-raspberrypi') -# pkgname=linux-custom # Build kernel with a different name -_kernelname=${pkgname#linux} -_basekernel=3.10 -pkgver=${_basekernel}.19 -pkgrel=2 - +_srcname=linux +_kernelname=${pkgbase#linux} +_desc="Raspberry Pi" +pkgver=3.10.19 +pkgrel=3 arch=('arm armv6h') url="http://www.kernel.org/" license=('GPL2') -makedepends=('xmlto' 'docbook-xsl' 'kmod' 'uboot-mkimage' 'git' 'python2' 'bc') +makedepends=('xmlto' 'docbook-xsl' 'kmod' 'inetutils' 'uboot-mkimage' 'git' 'python2' 'bc') options=('!strip') -source=('config' +_commit=b49aafd02fa7572d387acd34550beea5b4c3d239 +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') - -md5sums=('629f39c56c2344b4d8d695ca36467f30' + 'imagetool-uncompressed.py' + "git://git.code.sf.net/p/aufs/aufs3-standalone#branch=aufs${pkgver%.*}") +md5sums=('4237274a251abbe779d1254f65d65456' + 'a41149002ecf0c36dfd9833e4d445c23' '9d3c56a4b999c8bfbd4018089a62f662' - 'd00814b57448895e65fbbc800e8a58ba' '9335d1263fd426215db69841a380ea26' 'a00e424e2fbb8c5a5f77ba2c4871bed4' - '2f82dbe5752af65ff409d737caf11954') + '2f82dbe5752af65ff409d737caf11954' + 'SKIP') -build() { -git clone --depth=1 https://github.com/raspberrypi/linux.git +prepare() { + cd "${srcdir}/linux-${_commit}" - cd "${srcdir}/linux" - -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" - - # 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)" + # 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 + # 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 + cat "${srcdir}/config" > ./.config -msg "Prepare to build" - # set extraversion to pkgrel - sed -ri "s|^(EXTRAVERSION =).*|\1 -${pkgrel}|" Makefile + # 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}/linux-${_commit}" # get kernel version make prepare @@ -74,6 +74,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) @@ -88,19 +89,19 @@ msg "Prepare to build" #yes "" | make config - msg "Building!" + # build! make ${MAKEFLAGS} modules uImage } -package_linux-raspberrypi() { - 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}/linux-${_commit}" KARCH=arm @@ -109,9 +110,9 @@ package_linux-raspberrypi() { 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" @@ -141,9 +142,10 @@ package_linux-raspberrypi() { mv "$pkgdir/lib" "$pkgdir/usr" } -package_linux-headers-raspberrypi() { - 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') conflicts=('kernel26-headers') install -dm755 "${pkgdir}/usr/lib/modules/${_kernver}" @@ -151,7 +153,7 @@ package_linux-headers-raspberrypi() { cd "${pkgdir}/usr/lib/modules/${_kernver}" ln -sf ../../../src/linux-${_kernver} build - cd "${srcdir}/linux" + cd "${srcdir}/linux-${_commit}" install -D -m644 Makefile \ "${pkgdir}/usr/src/linux-${_kernver}/Makefile" install -D -m644 kernel/Makefile \ @@ -280,3 +282,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 diff --git a/core/linux-raspberrypi/config b/core/linux-raspberrypi/config index da5220221..3d53bfa7e 100644 --- a/core/linux-raspberrypi/config +++ b/core/linux-raspberrypi/config @@ -1,6 +1,6 @@ # # Automatically generated file; DO NOT EDIT. -# Linux/arm 3.10.18-1 Kernel Configuration +# Linux/arm 3.10.19-3 Kernel Configuration # CONFIG_ARM=y CONFIG_SYS_SUPPORTS_APM_EMULATION=y @@ -47,11 +47,7 @@ CONFIG_SYSVIPC_SYSCTL=y CONFIG_POSIX_MQUEUE=y CONFIG_POSIX_MQUEUE_SYSCTL=y CONFIG_FHANDLE=y -CONFIG_AUDIT=y -CONFIG_AUDITSYSCALL=y -CONFIG_AUDIT_WATCH=y -CONFIG_AUDIT_TREE=y -# CONFIG_AUDIT_LOGINUID_IMMUTABLE is not set +# CONFIG_AUDIT is not set CONFIG_HAVE_GENERIC_HARDIRQS=y # @@ -133,10 +129,10 @@ CONFIG_RELAY=y CONFIG_BLK_DEV_INITRD=y CONFIG_INITRAMFS_SOURCE="" CONFIG_RD_GZIP=y -# CONFIG_RD_BZIP2 is not set -# CONFIG_RD_LZMA is not set -# CONFIG_RD_XZ is not set -# CONFIG_RD_LZO is not set +CONFIG_RD_BZIP2=y +CONFIG_RD_LZMA=y +CONFIG_RD_XZ=y +CONFIG_RD_LZO=y # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set CONFIG_SYSCTL=y CONFIG_ANON_INODES=y @@ -656,7 +652,6 @@ CONFIG_NETFILTER_XT_SET=m # # Xtables targets # -CONFIG_NETFILTER_XT_TARGET_AUDIT=m CONFIG_NETFILTER_XT_TARGET_CHECKSUM=m CONFIG_NETFILTER_XT_TARGET_CLASSIFY=m CONFIG_NETFILTER_XT_TARGET_CONNMARK=m @@ -1807,7 +1802,7 @@ CONFIG_SPI_XCOMM=m # # SPI Protocol Masters # -CONFIG_SPI_SPIDEV=m +CONFIG_SPI_SPIDEV=y # CONFIG_SPI_TLE62X0 is not set # @@ -3210,7 +3205,7 @@ CONFIG_LIRC_SASEM=m CONFIG_LIRC_SERIAL=m CONFIG_LIRC_SERIAL_TRANSMITTER=y # CONFIG_LIRC_SIR is not set -# CONFIG_LIRC_ZILOG is not set +CONFIG_LIRC_ZILOG=m # # Android @@ -3260,18 +3255,18 @@ CONFIG_EXT4_FS_SECURITY=y CONFIG_JBD2=y # CONFIG_JBD2_DEBUG is not set CONFIG_FS_MBCACHE=y -CONFIG_REISERFS_FS=y +CONFIG_REISERFS_FS=m # CONFIG_REISERFS_CHECK is not set # CONFIG_REISERFS_PROC_INFO is not set CONFIG_REISERFS_FS_XATTR=y CONFIG_REISERFS_FS_POSIX_ACL=y CONFIG_REISERFS_FS_SECURITY=y -CONFIG_JFS_FS=y +CONFIG_JFS_FS=m CONFIG_JFS_POSIX_ACL=y CONFIG_JFS_SECURITY=y # CONFIG_JFS_DEBUG is not set CONFIG_JFS_STATISTICS=y -CONFIG_XFS_FS=y +CONFIG_XFS_FS=m CONFIG_XFS_QUOTA=y CONFIG_XFS_POSIX_ACL=y CONFIG_XFS_RT=y @@ -3283,7 +3278,7 @@ CONFIG_OCFS2_FS_O2CB=m CONFIG_OCFS2_FS_STATS=y CONFIG_OCFS2_DEBUG_MASKLOG=y # CONFIG_OCFS2_DEBUG_FS is not set -CONFIG_BTRFS_FS=m +CONFIG_BTRFS_FS=y CONFIG_BTRFS_FS_POSIX_ACL=y # CONFIG_BTRFS_FS_CHECK_INTEGRITY is not set # CONFIG_BTRFS_FS_RUN_SANITY_TESTS is not set @@ -3339,9 +3334,7 @@ CONFIG_MSDOS_FS=y CONFIG_VFAT_FS=y CONFIG_FAT_DEFAULT_CODEPAGE=437 CONFIG_FAT_DEFAULT_IOCHARSET="ascii" -CONFIG_NTFS_FS=m -# CONFIG_NTFS_DEBUG is not set -# CONFIG_NTFS_RW is not set +# CONFIG_NTFS_FS is not set # # Pseudo filesystems @@ -3390,6 +3383,24 @@ CONFIG_F2FS_FS=y CONFIG_F2FS_STAT_FS=y CONFIG_F2FS_FS_XATTR=y CONFIG_F2FS_FS_POSIX_ACL=y +CONFIG_AUFS_FS=y +CONFIG_AUFS_BRANCH_MAX_127=y +# CONFIG_AUFS_BRANCH_MAX_511 is not set +# CONFIG_AUFS_BRANCH_MAX_1023 is not set +# CONFIG_AUFS_BRANCH_MAX_32767 is not set +CONFIG_AUFS_SBILIST=y +CONFIG_AUFS_HNOTIFY=y +CONFIG_AUFS_HFSNOTIFY=y +CONFIG_AUFS_EXPORT=y +CONFIG_AUFS_RDU=y +CONFIG_AUFS_SP_IATTR=y +CONFIG_AUFS_SHWH=y +CONFIG_AUFS_BR_RAMFS=y +CONFIG_AUFS_BR_FUSE=y +CONFIG_AUFS_POLL=y +CONFIG_AUFS_BR_HFSPLUS=y +CONFIG_AUFS_BDEV_LOOP=y +# CONFIG_AUFS_DEBUG is not set CONFIG_NETWORK_FILESYSTEMS=y CONFIG_NFS_FS=y CONFIG_NFS_V2=y @@ -3427,12 +3438,12 @@ CONFIG_CIFS_WEAK_PW_HASH=y CONFIG_CIFS_UPCALL=y CONFIG_CIFS_XATTR=y CONFIG_CIFS_POSIX=y -# CONFIG_CIFS_ACL is not set +CONFIG_CIFS_ACL=y CONFIG_CIFS_DEBUG=y # CONFIG_CIFS_DEBUG2 is not set -# CONFIG_CIFS_DFS_UPCALL is not set -# CONFIG_CIFS_SMB2 is not set -# CONFIG_CIFS_FSCACHE is not set +CONFIG_CIFS_DFS_UPCALL=y +CONFIG_CIFS_SMB2=y +CONFIG_CIFS_FSCACHE=y # CONFIG_NCP_FS is not set # CONFIG_CODA_FS is not set # CONFIG_AFS_FS is not set @@ -3633,15 +3644,6 @@ CONFIG_SECURITYFS=y CONFIG_SECURITY_NETWORK=y CONFIG_SECURITY_NETWORK_XFRM=y CONFIG_SECURITY_PATH=y -CONFIG_LSM_MMAP_MIN_ADDR=32768 -CONFIG_SECURITY_SELINUX=y -CONFIG_SECURITY_SELINUX_BOOTPARAM=y -CONFIG_SECURITY_SELINUX_BOOTPARAM_VALUE=0 -# CONFIG_SECURITY_SELINUX_DISABLE is not set -CONFIG_SECURITY_SELINUX_DEVELOP=y -CONFIG_SECURITY_SELINUX_AVC_STATS=y -CONFIG_SECURITY_SELINUX_CHECKREQPROT_VALUE=1 -# CONFIG_SECURITY_SELINUX_POLICYDB_VERSION_MAX is not set # CONFIG_SECURITY_SMACK is not set CONFIG_SECURITY_TOMOYO=y CONFIG_SECURITY_TOMOYO_MAX_ACCEPT_ENTRY=2048 @@ -3649,8 +3651,7 @@ CONFIG_SECURITY_TOMOYO_MAX_AUDIT_LOG=1024 # CONFIG_SECURITY_TOMOYO_OMIT_USERSPACE_LOADER is not set CONFIG_SECURITY_TOMOYO_POLICY_LOADER="/sbin/tomoyo-init" CONFIG_SECURITY_TOMOYO_ACTIVATION_TRIGGER="/sbin/init" -CONFIG_SECURITY_APPARMOR=y -CONFIG_SECURITY_APPARMOR_BOOTPARAM_VALUE=0 +# CONFIG_SECURITY_APPARMOR is not set # CONFIG_SECURITY_YAMA is not set # CONFIG_IMA is not set # CONFIG_EVM is not set @@ -3804,9 +3805,8 @@ CONFIG_CRC32_SLICEBY8=y CONFIG_CRC7=m CONFIG_LIBCRC32C=y # CONFIG_CRC8 is not set -CONFIG_AUDIT_GENERIC=y CONFIG_ZLIB_INFLATE=y -CONFIG_ZLIB_DEFLATE=m +CONFIG_ZLIB_DEFLATE=y CONFIG_LZO_COMPRESS=y CONFIG_LZO_DECOMPRESS=y CONFIG_XZ_DEC=y @@ -3819,6 +3819,10 @@ CONFIG_XZ_DEC_ARMTHUMB=y CONFIG_XZ_DEC_BCJ=y # CONFIG_XZ_DEC_TEST is not set CONFIG_DECOMPRESS_GZIP=y +CONFIG_DECOMPRESS_BZIP2=y +CONFIG_DECOMPRESS_LZMA=y +CONFIG_DECOMPRESS_XZ=y +CONFIG_DECOMPRESS_LZO=y CONFIG_TEXTSEARCH=y CONFIG_TEXTSEARCH_KMP=m CONFIG_TEXTSEARCH_BM=m diff --git a/core/linux-raspberrypi/usb-add-reset-resume-quirk-for-several-webcams.patch b/core/linux-raspberrypi/usb-add-reset-resume-quirk-for-several-webcams.patch deleted file mode 100644 index 8a2a4234c..000000000 --- a/core/linux-raspberrypi/usb-add-reset-resume-quirk-for-several-webcams.patch +++ /dev/null @@ -1,98 +0,0 @@ -commit 2394d67e446bf616a0885167d5f0d397bdacfdfc -Author: Oliver Neukum -Date: Tue Sep 13 08:42:21 2011 +0200 - - USB: add RESET_RESUME for webcams shown to be quirky - - The new runtime PM code has shown that many webcams suffer - from a race condition that may crash them upon resume. - Runtime PM is especially prone to show the problem because - it retains power to the cameras at all times. However - system suspension may also crash the devices and retain - power to the devices. - The only way to solve this problem without races is in - usbcore with the RESET_RESUME quirk. - - Signed-off-by: Oliver Neukum - Signed-off-by: stable - Signed-off-by: Greg Kroah-Hartman - -diff --git a/drivers/usb/core/quirks.c b/drivers/usb/core/quirks.c -index 81ce6a8..38f0510 100644 ---- a/drivers/usb/core/quirks.c -+++ b/drivers/usb/core/quirks.c -@@ -38,6 +38,24 @@ static const struct usb_device_id usb_quirk_list[] = { - /* Creative SB Audigy 2 NX */ - { USB_DEVICE(0x041e, 0x3020), .driver_info = USB_QUIRK_RESET_RESUME }, - -+ /* Logitech Webcam C200 */ -+ { USB_DEVICE(0x046d, 0x0802), .driver_info = USB_QUIRK_RESET_RESUME }, -+ -+ /* Logitech Webcam C250 */ -+ { USB_DEVICE(0x046d, 0x0804), .driver_info = USB_QUIRK_RESET_RESUME }, -+ -+ /* Logitech Webcam B/C500 */ -+ { USB_DEVICE(0x046d, 0x0807), .driver_info = USB_QUIRK_RESET_RESUME }, -+ -+ /* Logitech Webcam Pro 9000 */ -+ { USB_DEVICE(0x046d, 0x0809), .driver_info = USB_QUIRK_RESET_RESUME }, -+ -+ /* Logitech Webcam C310 */ -+ { USB_DEVICE(0x046d, 0x081b), .driver_info = USB_QUIRK_RESET_RESUME }, -+ -+ /* Logitech Webcam C270 */ -+ { USB_DEVICE(0x046d, 0x0825), .driver_info = USB_QUIRK_RESET_RESUME }, -+ - /* Logitech Harmony 700-series */ - { USB_DEVICE(0x046d, 0xc122), .driver_info = USB_QUIRK_DELAY_INIT }, - -@@ -69,6 +87,9 @@ static const struct usb_device_id usb_quirk_list[] = { - { USB_DEVICE(0x06a3, 0x0006), .driver_info = - USB_QUIRK_CONFIG_INTF_STRINGS }, - -+ /* Guillemot Webcam Hercules Dualpix Exchange*/ -+ { USB_DEVICE(0x06f8, 0x0804), .driver_info = USB_QUIRK_RESET_RESUME }, -+ - /* M-Systems Flash Disk Pioneers */ - { USB_DEVICE(0x08ec, 0x1000), .driver_info = USB_QUIRK_RESET_RESUME }, - -commit 5b253d88cc6c65a23cefc457a5a4ef139913c5fc -Author: Jon Levell -Date: Thu Sep 29 20:42:52 2011 +0100 - - USB: add quirk for Logitech C300 web cam - - My webcam is a Logitech C300 and I get "chipmunk"ed squeaky sound. - The following trivial patch fixes it. - - Signed-off-by: Jon Levell - Cc: stable - Signed-off-by: Greg Kroah-Hartman - -diff --git a/drivers/usb/core/quirks.c b/drivers/usb/core/quirks.c -index 38f0510..d6a8d82 100644 ---- a/drivers/usb/core/quirks.c -+++ b/drivers/usb/core/quirks.c -@@ -44,6 +44,9 @@ static const struct usb_device_id usb_quirk_list[] = { - /* Logitech Webcam C250 */ - { USB_DEVICE(0x046d, 0x0804), .driver_info = USB_QUIRK_RESET_RESUME }, - -+ /* Logitech Webcam C300 */ -+ { USB_DEVICE(0x046d, 0x0805), .driver_info = USB_QUIRK_RESET_RESUME }, -+ - /* Logitech Webcam B/C500 */ - { USB_DEVICE(0x046d, 0x0807), .driver_info = USB_QUIRK_RESET_RESUME }, - -diff --git a/drivers/usb/core/quirks.c b/drivers/usb/core/quirks.c -index d6a8d82..caa1991 100644 ---- a/drivers/usb/core/quirks.c -+++ b/drivers/usb/core/quirks.c -@@ -50,6 +50,9 @@ static const struct usb_device_id usb_quirk_list[] = { - /* Logitech Webcam B/C500 */ - { USB_DEVICE(0x046d, 0x0807), .driver_info = USB_QUIRK_RESET_RESUME }, - -+ /* Logitech Webcam C600 */ -+ { USB_DEVICE(0x046d, 0x0808), .driver_info = USB_QUIRK_RESET_RESUME }, -+ - /* Logitech Webcam Pro 9000 */ - { USB_DEVICE(0x046d, 0x0809), .driver_info = USB_QUIRK_RESET_RESUME },