diff --git a/core/linux-kirkwood-dt/PKGBUILD b/core/linux-kirkwood-dt/PKGBUILD index 1ac7ffd6b..1328ff5b1 100644 --- a/core/linux-kirkwood-dt/PKGBUILD +++ b/core/linux-kirkwood-dt/PKGBUILD @@ -8,7 +8,7 @@ _srcname=linux-5.3 _kernelname=${pkgbase#linux} _desc="Marvell Kirkwood DT" pkgver=5.3.4 -pkgrel=1 +pkgrel=2 arch=('arm') url="http://www.kernel.org/" license=('GPL2') diff --git a/core/linux-kirkwood-dt/linux-kirkwood-dt.install b/core/linux-kirkwood-dt/linux-kirkwood-dt.install index f1437c6eb..dc0c0aa0c 100644 --- a/core/linux-kirkwood-dt/linux-kirkwood-dt.install +++ b/core/linux-kirkwood-dt/linux-kirkwood-dt.install @@ -1,286 +1,46 @@ -# Maintainer: Kevin Mihelich -# Maintainer: Oleg Rakhmanov +# arg 1: the new package version +# arg 2: the old package version -buildarch=2 +KERNEL_NAME=-kirkwood-dt +KERNEL_VERSION=5.3.4-1-ARCH -pkgbase=linux-kirkwood-dt -_srcname=linux-5.3 -_kernelname=${pkgbase#linux} -_desc="Marvell Kirkwood DT" -pkgver=5.3.4 -pkgrel=1 -arch=('arm') -url="http://www.kernel.org/" -license=('GPL2') -makedepends=('xmlto' 'docbook-xsl' 'uboot-mkimage' 'kmod' 'inetutils' 'bc' 'git') -options=('!strip') -source=("http://www.kernel.org/pub/linux/kernel/v5.x/${_srcname}.tar.xz" - "http://www.kernel.org/pub/linux/kernel/v5.x/patch-${pkgver}.xz" - '0001-leds-trigger-Introduce-a-SATA-trigger.patch' - '0002-ata-sata_mv-Add-SATA-activity-LED-trigger-support.patch' - '0003-ARM-dts-kirkwood-pogo_e02-Set-health-LED-to-default-.patch' - '0004-Fix-mvsdio-SD-card-detection.patch' - '0005-ARM-dts-kirkwood-Initial-support-for-GoFlex-Home.patch' - '0006-Revert-vfs-mm-fix-a-dead-loop-in-truncate_inode_page.patch' - 'config' - 'linux.preset' - '99-linux.hook') -md5sums=('c99feaade8047339528fb066ec5f8a49' - 'c385fc0b2e9ee92bb5b5ac841b5c16dc' - '5085b2d587c08fe4129b21b784c5ec72' - '1a3ca8cce7b0fdc7e72ecde511023d97' - '9a64b38798167ebea717d614875ef44a' - 'de322923548e24d0811df22daf1192d3' - '1bb5e1f081c2333607640c857a5aef6d' - '1798736e24f99d840d764ec590b15f7d' - '44def8750ef0ea185a8728b41c67f491' - '959e49540dac4c5e689ad9037150a360' - '79fa396e3f9a09a85156d6d7c2d34b58') +post_install () { + # updating module dependencies + echo ">>> Updating module dependencies. Please wait ..." + depmod ${KERNEL_VERSION} -prepare() { - cd "${srcdir}/${_srcname}" - - # add upstream patch - git apply --whitespace=nowarn "${srcdir}/patch-${pkgver}" - - # ALARM patches - git apply ../0001-leds-trigger-Introduce-a-SATA-trigger.patch - git apply ../0002-ata-sata_mv-Add-SATA-activity-LED-trigger-support.patch - git apply ../0003-ARM-dts-kirkwood-pogo_e02-Set-health-LED-to-default-.patch - git apply ../0004-Fix-mvsdio-SD-card-detection.patch - git apply ../0005-ARM-dts-kirkwood-Initial-support-for-GoFlex-Home.patch - git apply ../0006-Revert-vfs-mm-fix-a-dead-loop-in-truncate_inode_page.patch - - 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 + echo "**********************************************************************" + echo "WARNING! This kernel package will NOT boot without user intervention." + echo "" + echo " A Kirkwood Flattened Device Tree supporting zImage is" + echo " placed in /boot and all mainline supported .dtb and .dts" + echo " files are in /boot/dtb for you to prep as appropriate." + echo "" + echo " Depending on your particular device, you may need to upgrade" + echo " your installed U-Boot version, and/or modify your boot env." + echo " Some platforms may need to append the appropriate .dtb to the" + echo " end of the zImage and make a uImage from the resulting blob." + echo "" + echo " If you are not familiar with the care and feeding of a DT" + echo " enabled kernel for your device, uninstall this package and" + echo " continue to use linux-kirkwood for now." + echo "**********************************************************************" } -build() { - cd "${srcdir}/${_srcname}" +post_upgrade() { + if grep "^[^#]*[[:space:]]/boot" etc/fstab 2>&1 >/dev/null; then + if ! grep "[[:space:]]/boot" etc/mtab 2>&1 >/dev/null; then + echo "WARNING: /boot appears to be a separate partition but is not mounted." + echo " You probably just broke your system. Congratulations." + fi + fi - # get kernel version - make prepare - - # load configuration - # Configure the kernel. Replace the line below with one of your choice. - #make menuconfig # CLI menu for configuration - #make nconfig # new CLI menu for configuration - #make xconfig # X-based configuration - #make oldconfig # using old config from previous kernel version - # ... or manually edit .config - - # Copy back our configuration (use with new kernel version) - #cp ./.config ../${pkgbase}.config - - #################### - # stop here - # this is useful to configure the kernel - #msg "Stopping build" - #return 1 - #################### - - #yes "" | make config - - msg "Building!" - make ${MAKEFLAGS} zImage modules dtbs + # updating module dependencies + echo ">>> Updating module dependencies. Please wait ..." + depmod ${KERNEL_VERSION} } -_package() { - pkgdesc="The Linux Kernel and modules - ${_desc}" - depends=('coreutils' 'linux-firmware' 'kmod' 'mkinitcpio>=0.7') - optdepends=('crda: to set the correct wireless channels of your country') - provides=('kernel26' 'linux=${pkgver}') - conflicts=('linux-kirkwood' 'linux' 'linux-olinuxino') - backup=("etc/mkinitcpio.d/${pkgbase}.preset") - install=${pkgname}.install - - cd "${srcdir}/${_srcname}" - - KARCH=arm - - # get kernel version - _kernver="$(make kernelrelease)" - #_basekernel=${_kernver%%-*} - #_basekernel=${_basekernel%.*} - _basekernel=${pkgver} - - mkdir -p "${pkgdir}"/{lib/modules,lib/firmware} - make INSTALL_MOD_PATH="${pkgdir}" modules_install - make INSTALL_DTBS_PATH="${pkgdir}/boot/dtbs" dtbs_install - cp arch/$KARCH/boot/zImage "${pkgdir}/boot/zImage" - - # set correct depmod command for install - sed \ - -e "s/KERNEL_NAME=.*/KERNEL_NAME=${_kernelname}/g" \ - -e "s/KERNEL_VERSION=.*/KERNEL_VERSION=${_kernver}/g" \ - -i "${startdir}/${pkgname}.install" - - # install mkinitcpio preset file for kernel - install -D -m644 "${srcdir}/linux.preset" "${pkgdir}/etc/mkinitcpio.d/${pkgbase}.preset" - sed \ - -e "1s|'linux.*'|'${pkgbase}'|" \ - -e "s|ALL_kver=.*|ALL_kver=\"${_kernver}\"|" \ - -i "${pkgdir}/etc/mkinitcpio.d/${pkgbase}.preset" - - # install pacman hook for initramfs regeneration - sed "s|%PKGBASE%|${pkgbase}|g" "${srcdir}/99-linux.hook" | - install -D -m644 /dev/stdin "${pkgdir}/usr/share/libalpm/hooks/99-${pkgbase}.hook" - - # remove build and source links - rm -f "${pkgdir}"/lib/modules/${_kernver}/{source,build} - # remove the firmware - rm -rf "${pkgdir}/lib/firmware" - # make room for external modules - ln -s "../extramodules-${_basekernel}${_kernelname:--ARCH}" "${pkgdir}/lib/modules/${_kernver}/extramodules" - # add real version for building modules and running depmod from post_install/upgrade - mkdir -p "${pkgdir}/lib/modules/extramodules-${_basekernel}${_kernelname:--ARCH}" - echo "${_kernver}" > "${pkgdir}/lib/modules/extramodules-${_basekernel}${_kernelname:--ARCH}/version" - - # Now we call depmod... - depmod -b "$pkgdir" -F System.map "$_kernver" - - # move module tree /lib -> /usr/lib - mkdir -p "${pkgdir}/usr" - mv "$pkgdir/lib" "$pkgdir/usr" +post_remove() { + # also remove the compat symlinks + rm -f /boot/initramfs-linux.img } - -_package-headers() { - pkgdesc="Header files and scripts for building modules for linux kernel - ${_desc}" - provides=('linux-headers=${pkgver}') - conflicts=('linux-kirkwood-headers' 'linux-headers' 'linux-headers-olinuxino') - replaces=('linux-headers-kirkwood-dt') - - install -dm755 "${pkgdir}/usr/lib/modules/${_kernver}" - - cd "${pkgdir}/usr/lib/modules/${_kernver}" - ln -sf ../../../src/linux-${_kernver} build - - cd "${srcdir}/${_srcname}" - install -D -m644 Makefile \ - "${pkgdir}/usr/src/linux-${_kernver}/Makefile" - install -D -m644 kernel/Makefile \ - "${pkgdir}/usr/src/linux-${_kernver}/kernel/Makefile" - install -D -m644 .config \ - "${pkgdir}/usr/src/linux-${_kernver}/.config" - - mkdir -p "${pkgdir}/usr/src/linux-${_kernver}/include" - - for i in acpi asm-generic config crypto drm generated linux math-emu \ - media net pcmcia scsi sound trace uapi video xen; do - cp -a include/${i} "${pkgdir}/usr/src/linux-${_kernver}/include/" - done - - # copy arch includes for external modules - mkdir -p ${pkgdir}/usr/src/linux-${_kernver}/arch/$KARCH - cp -a arch/$KARCH/include ${pkgdir}/usr/src/linux-${_kernver}/arch/$KARCH/ - mkdir -p ${pkgdir}/usr/src/linux-${_kernver}/arch/$KARCH/plat-orion - cp -a arch/$KARCH/plat-orion/include ${pkgdir}/usr/src/linux-${_kernver}/arch/$KARCH/plat-orion/ - - # copy files necessary for later builds, like nvidia and vmware - cp Module.symvers "${pkgdir}/usr/src/linux-${_kernver}" - cp -a scripts "${pkgdir}/usr/src/linux-${_kernver}" - - # fix permissions on scripts dir - chmod og-w -R "${pkgdir}/usr/src/linux-${_kernver}/scripts" - mkdir -p "${pkgdir}/usr/src/linux-${_kernver}/.tmp_versions" - - mkdir -p "${pkgdir}/usr/src/linux-${_kernver}/arch/${KARCH}/kernel" - - cp arch/${KARCH}/Makefile "${pkgdir}/usr/src/linux-${_kernver}/arch/${KARCH}/" - - cp arch/${KARCH}/kernel/asm-offsets.s "${pkgdir}/usr/src/linux-${_kernver}/arch/${KARCH}/kernel/" - - # add headers for lirc package - # pci - for i in bt8xx cx88 saa7134; do - mkdir -p "${pkgdir}/usr/src/linux-${_kernver}/drivers/media/pci/${i}" - cp -a drivers/media/pci/${i}/*.h "${pkgdir}/usr/src/linux-${_kernver}/drivers/media/pci/${i}" - done - # usb - for i in cpia2 em28xx pwc; do - mkdir -p "${pkgdir}/usr/src/linux-${_kernver}/drivers/media/usb/${i}" - cp -a drivers/media/usb/${i}/*.h "${pkgdir}/usr/src/linux-${_kernver}/drivers/media/usb/${i}" - done - # i2c - mkdir -p "${pkgdir}/usr/src/linux-${_kernver}/drivers/media/i2c" - cp drivers/media/i2c/*.h "${pkgdir}/usr/src/linux-${_kernver}/drivers/media/i2c/" - for i in cx25840; do - mkdir -p "${pkgdir}/usr/src/linux-${_kernver}/drivers/media/i2c/${i}" - cp -a drivers/media/i2c/${i}/*.h "${pkgdir}/usr/src/linux-${_kernver}/drivers/media/i2c/${i}" - done - - # add dm headers - mkdir -p "${pkgdir}/usr/src/linux-${_kernver}/drivers/md" - cp drivers/md/*.h "${pkgdir}/usr/src/linux-${_kernver}/drivers/md" - - # add inotify.h - mkdir -p "${pkgdir}/usr/src/linux-${_kernver}/include/linux" - cp include/linux/inotify.h "${pkgdir}/usr/src/linux-${_kernver}/include/linux/" - - # add wireless headers - mkdir -p "${pkgdir}/usr/src/linux-${_kernver}/net/mac80211/" - cp net/mac80211/*.h "${pkgdir}/usr/src/linux-${_kernver}/net/mac80211/" - - # add dvb headers for external modules - # in reference to: - # http://bugs.archlinux.org/task/11194 - mkdir -p "${pkgdir}/usr/src/linux-${_kernver}/include/config/dvb/" - cp include/config/dvb/*.h "${pkgdir}/usr/src/linux-${_kernver}/include/config/dvb/" - - # add dvb headers for http://mcentral.de/hg/~mrec/em28xx-new - # in reference to: - # http://bugs.archlinux.org/task/13146 - mkdir -p "${pkgdir}/usr/src/linux-${_kernver}/drivers/media/dvb-frontends/" - cp drivers/media/dvb-frontends/lgdt330x.h "${pkgdir}/usr/src/linux-${_kernver}/drivers/media/dvb-frontends/" - cp drivers/media/i2c/msp3400-driver.h "${pkgdir}/usr/src/linux-${_kernver}/drivers/media/i2c/" - - # add dvb headers - # in reference to: - # http://bugs.archlinux.org/task/20402 - mkdir -p "${pkgdir}/usr/src/linux-${_kernver}/drivers/media/usb/dvb-usb" - cp drivers/media/usb/dvb-usb/*.h "${pkgdir}/usr/src/linux-${_kernver}/drivers/media/usb/dvb-usb/" - mkdir -p "${pkgdir}/usr/src/linux-${_kernver}/drivers/media/dvb-frontends" - cp drivers/media/dvb-frontends/*.h "${pkgdir}/usr/src/linux-${_kernver}/drivers/media/dvb-frontends/" - mkdir -p "${pkgdir}/usr/src/linux-${_kernver}/drivers/media/tuners" - cp drivers/media/tuners/*.h "${pkgdir}/usr/src/linux-${_kernver}/drivers/media/tuners/" - - # add xfs and shmem for aufs building - mkdir -p "${pkgdir}/usr/src/linux-${_kernver}/fs/xfs" - mkdir -p "${pkgdir}/usr/src/linux-${_kernver}/mm" - - # copy in Kconfig files - for i in `find . -name "Kconfig*"`; do - mkdir -p "${pkgdir}"/usr/src/linux-${_kernver}/`echo ${i} | sed 's|/Kconfig.*||'` - cp ${i} "${pkgdir}/usr/src/linux-${_kernver}/${i}" - done - - chown -R root.root "${pkgdir}/usr/src/linux-${_kernver}" - find "${pkgdir}/usr/src/linux-${_kernver}" -type d -exec chmod 755 {} \; - - # strip scripts directory - find "${pkgdir}/usr/src/linux-${_kernver}/scripts" -type f -perm -u+w 2>/dev/null | while read binary ; do - case "$(file -bi "${binary}")" in - *application/x-sharedlib*) # Libraries (.so) - /usr/bin/strip ${STRIP_SHARED} "${binary}";; - *application/x-archive*) # Libraries (.a) - /usr/bin/strip ${STRIP_STATIC} "${binary}";; - *application/x-executable*) # Binaries - /usr/bin/strip ${STRIP_BINARIES} "${binary}";; - esac - done - - # 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