From 30b38eab7a8ebd12fc20471437b5b4e91107b1c1 Mon Sep 17 00:00:00 2001 From: André Fabian Silva Delgado Date: Thu, 24 Sep 2015 00:00:15 -0300 Subject: linux-libre-pck-4.2.1_gnu.pck1-1: updating version * add armv7h support --- libre-testing/linux-libre-pck/PKGBUILD | 240 ++++++++++++++++++++++++++++----- 1 file changed, 204 insertions(+), 36 deletions(-) (limited to 'libre-testing/linux-libre-pck/PKGBUILD') diff --git a/libre-testing/linux-libre-pck/PKGBUILD b/libre-testing/linux-libre-pck/PKGBUILD index d8fd91364..ad5784108 100644 --- a/libre-testing/linux-libre-pck/PKGBUILD +++ b/libre-testing/linux-libre-pck/PKGBUILD @@ -4,31 +4,36 @@ # Contributor: Sorin-Mihai Vârgolici # Contributor: Michał Masłowski # Contributor: Luke Shumaker +# Contributor: Luke R. # Based on linux package pkgbase=linux-libre-pck _pkgbasever=4.2-gnu -_pkgver=${_pkgbasever} -_pckpatchver=pck4 +_pkgver=4.2.1-gnu +_pckpatchver=pck1 _replacesarchkernel=('linux-zen') -_replacesoldkernels=('kernel26-zen') +_replacesoldkernels=() _replacesoldmodules=() _srcname=linux-${_pkgbasever%-*} _archpkgver=${_pkgver%-*} pkgver=${_pkgver//-/_}.${_pckpatchver} pkgrel=1 -arch=('i686' 'x86_64') +rcnrel=armv7-x2 +arch=('i686' 'x86_64' 'armv7h') url="https://wiki.parabola.nu/PCK" license=('GPL2') makedepends=('xmlto' 'docbook-xsl' 'kmod' 'inetutils' 'bc') +if [ "${CARCH}" = "armv7h" ]; then + makedepends+=('git' 'uboot-tools') +fi options=('!strip') source=("http://linux-libre.fsfla.org/pub/linux-libre/releases/${_pkgbasever}/linux-libre-${_pkgbasever}.tar.xz" "http://linux-libre.fsfla.org/pub/linux-libre/releases/${_pkgbasever}/linux-libre-${_pkgbasever}.tar.xz.sign" - #"http://linux-libre.fsfla.org/pub/linux-libre/releases/${_pkgver}/patch-${_pkgbasever}-${_pkgver}.xz" - #"http://linux-libre.fsfla.org/pub/linux-libre/releases/${_pkgver}/patch-${_pkgbasever}-${_pkgver}.xz.sign" + "http://linux-libre.fsfla.org/pub/linux-libre/releases/${_pkgver}/patch-${_pkgbasever}-${_pkgver}.xz" + "http://linux-libre.fsfla.org/pub/linux-libre/releases/${_pkgver}/patch-${_pkgbasever}-${_pkgver}.xz.sign" "https://repo.parabola.nu/other/pck/patches/${_pkgver}/patch-${_pkgver}-${_pckpatchver}.patch" "https://repo.parabola.nu/other/pck/patches/${_pkgver}/patch-${_pkgver}-${_pckpatchver}.patch.sig" "https://repo.parabola.nu/other/linux-libre/logos/logo_linux_clut224.ppm" @@ -38,13 +43,26 @@ source=("http://linux-libre.fsfla.org/pub/linux-libre/releases/${_pkgbasever}/li "https://repo.parabola.nu/other/linux-libre/logos/logo_linux_vga16.ppm" "https://repo.parabola.nu/other/linux-libre/logos/logo_linux_vga16.ppm.sig" # the main kernel config files - 'config.i686' 'config.x86_64' + 'config.i686' 'config.x86_64' 'config.armv7h' # standard config files for mkinitcpio ramdisk 'linux.preset' - 'change-default-console-loglevel.patch') + 'change-default-console-loglevel.patch' + # armv7h patches + "https://repo.parabola.nu/other/rcn-libre/patches/${_pkgver%-*}/rcn-libre-${_pkgver%-*}-${rcnrel}.patch" + "https://repo.parabola.nu/other/rcn-libre/patches/${_pkgver%-*}/rcn-libre-${_pkgver%-*}-${rcnrel}.patch.sig" + '0001-ARM-atags-add-support-for-Marvell-s-u-boot.patch' + '0002-ARM-atags-fdt-retrieve-MAC-addresses-from-Marvell-bo.patch' + '0003-SMILE-Plug-device-tree-file.patch' + '0004-fix-mvsdio-eMMC-timing.patch' + '0005-net-smsc95xx-Allow-mac-address-to-be-set-as-a-parame.patch' + '0006-ARM-TLV320AIC23-SoC-Audio-Codec-Fix-errors-reported-.patch' + '0007-set-default-cubietruck-led-triggers.patch' + '0008-USB-armory-support.patch') sha256sums=('3a8fc9da5a38f15cc4ed0c5132d05b8245dfc1007c37e7e1994b2486535ecf49' 'SKIP' - '616428a785acc24d46d7b972bb111d6158a9fb35888d941b01d0760db4ee61df' + '2fb0b42c6cac0bd550ceb71072fef4f7ed72976e64542de8e7ad759a9e195237' + 'SKIP' + 'c1175a26c48cdc69aa4c785834218b391ef2d8afe842ef4f33d11b2d290ed5bf' 'SKIP' 'bfd4a7f61febe63c880534dcb7c31c5b932dde6acf991810b41a939a93535494' 'SKIP' @@ -52,10 +70,21 @@ sha256sums=('3a8fc9da5a38f15cc4ed0c5132d05b8245dfc1007c37e7e1994b2486535ecf49' 'SKIP' '6de8a8319271809ffdb072b68d53d155eef12438e6d04ff06a5a4db82c34fa8a' 'SKIP' - '6a21b657f471ce49bdebbbcb0b2eb49f7cb1875d4b28bf04bc9e710ec8068d0e' - '95a9c91b731615d56bacaf4eedc6f4d22e1cb2161cb49ee0644f6e489f36a9a9' + '8cd611d46755d5dbb545c170a416f189a32e2761fb5367ccaa8c73e4ef24a065' + '24c0fe6b86a95adcc29be5c617718e5dba066552f161e52f05f92cbb14b7123c' + '229b9a693539c0f35eb4c3173d48b06cc978f09ea6f502fd5903e1f0c18d5a27' 'f0d90e756f14533ee67afda280500511a62465b4f76adcc5effa95a40045179c' - '1256b241cd477b265a3c2d64bdc19ffe3c9bbcee82ea3994c590c2c76e767d99') + '1256b241cd477b265a3c2d64bdc19ffe3c9bbcee82ea3994c590c2c76e767d99' + '1d365219ca72ef7290277a47c45a4f406705f27a9f7c177ac860da0e5b994bdb' + 'SKIP' + '2654680bc8f677f647bca6e2b367693bf73ffb2edc21e3757a329375355a335d' + '842e4f483fa36c0e7dbe18ad46d78223008989cce097e5bef1e14450280f5dfe' + '810697eec07faa60acb59b97df291e5f2e9428e86ae54e5ef90a6e4b2d0844ab' + 'c743e41975260aab3176b6f473707c8d8371cb89575e1c128bddb3bd74030b8b' + 'abc9593a479b9bb677112fa1d6502c8165d27d0854a712e1662374e4bafb96a0' + 'd068215561ce769439901da0118e251c624de58fe414cc2166fbf972f76dd1a7' + 'ac0fb2180560652f94bebb3c09baef3c34785b539cae541df175ebec6989d79c' + 'c23c3bf29fd557fe2e9ca72e65cd0f1e790b771b4568d0732388d7d420cefd6a') validpgpkeys=( '474402C8C582DAFBE389C427BCB7CF877E7D47A7' # Alexandre Oliva 'C92BAA713B8D53D3CAE63FC9E6974752F9704456' # André Silva @@ -64,8 +93,9 @@ validpgpkeys=( _kernelname=${pkgbase#linux-libre} -case "$CARCH" in +case "${CARCH}" in i686|x86_64) KARCH=x86;; + armv7h) KARCH=arm;; esac prepare() { @@ -79,6 +109,22 @@ prepare() { # add pck patch patch -p1 -i "${srcdir}/patch-${_pkgver}-${_pckpatchver}.patch" + if [ "${CARCH}" = "armv7h" ]; then + + # RCN patch (CM3 firmware deblobbed) + git apply -v "${srcdir}/rcn-libre-${_pkgver%-*}-${rcnrel}.patch" + + # ALARM patches + patch -p1 -i "${srcdir}/0001-ARM-atags-add-support-for-Marvell-s-u-boot.patch" + patch -p1 -i "${srcdir}/0002-ARM-atags-fdt-retrieve-MAC-addresses-from-Marvell-bo.patch" + patch -p1 -i "${srcdir}/0003-SMILE-Plug-device-tree-file.patch" + patch -p1 -i "${srcdir}/0004-fix-mvsdio-eMMC-timing.patch" + patch -p1 -i "${srcdir}/0005-net-smsc95xx-Allow-mac-address-to-be-set-as-a-parame.patch" + patch -p1 -i "${srcdir}/0006-ARM-TLV320AIC23-SoC-Audio-Codec-Fix-errors-reported-.patch" + patch -p1 -i "${srcdir}/0007-set-default-cubietruck-led-triggers.patch" + patch -p1 -i "${srcdir}/0008-USB-armory-support.patch" + fi + # add freedo as boot logo install -m644 -t drivers/video/logo \ "${srcdir}/logo_linux_"{clut224.ppm,vga16.ppm,mono.pbm} @@ -117,20 +163,31 @@ prepare() { build() { cd "${srcdir}/${_srcname}" - make ${MAKEFLAGS} LOCALVERSION= bzImage modules + if [ "${CARCH}" = "armv7h" ]; then + make ${MAKEFLAGS} LOCALVERSION= zImage modules dtbs + elif [ "${CARCH}" = "x86_64" ] || [ "${CARCH}" = "i686" ]; then + make ${MAKEFLAGS} LOCALVERSION= bzImage modules + fi } _package() { pkgdesc="The ${pkgbase^} kernel and modules with a handful of awesome features not merged into mainline [AUFS, BFQ, BFS, KDBUS, Knock, TuxOnIce, UKSM]" [ "${pkgbase}" = "linux-libre" ] && groups=('base') - depends=('coreutils' 'linux-libre-firmware' 'kmod' 'mkinitcpio>=0.7') + depends=('coreutils' 'linux-libre-firmware' 'kmod') optdepends=('crda: to set the correct wireless channels of your country' 'systemd-knock: to use system and service manager with TCP Stealth support' 'openssh-knock: to use SSH with TCP Stealth support') - provides=("${_replacesarchkernel[@]/%/=${_archpkgver}}") - conflicts=("${_replacesarchkernel[@]}" "${_replacesoldkernels[@]}" "${_replacesoldmodules[@]}") - replaces=("${_replacesarchkernel[@]}" "${_replacesoldkernels[@]}" "${_replacesoldmodules[@]}") - backup=("etc/mkinitcpio.d/${pkgbase}.preset") + if [ "${CARCH}" = "armv7h" ]; then + provides=("${_replacesarchkernel%${_kernelname}}") + conflicts=("${_replacesarchkernel%${_kernelname}}") + replaces=("${_replacesarchkernel%${_kernelname}}") + elif [ "${CARCH}" = "x86_64" ] || [ "${CARCH}" = "i686" ]; then + depends+=('mkinitcpio>=0.7') + provides=("${_replacesarchkernel[@]/%/=${_archpkgver}}") + conflicts=("${_replacesarchkernel[@]}" "${_replacesoldkernels[@]}" "${_replacesoldmodules[@]}") + replaces=("${_replacesarchkernel[@]}" "${_replacesoldkernels[@]}" "${_replacesoldmodules[@]}") + backup=("etc/mkinitcpio.d/${pkgbase}.preset") + fi install=linux.install cd "${srcdir}/${_srcname}" @@ -141,8 +198,16 @@ _package() { _basekernel=${_basekernel%.*} mkdir -p "${pkgdir}"/{lib/modules,lib/firmware,boot} + if [ "${CARCH}" = "armv7h" ]; then + mkdir -p "${pkgdir}"/boot/dtbs + fi make LOCALVERSION= INSTALL_MOD_PATH="${pkgdir}" modules_install - cp arch/$KARCH/boot/bzImage "${pkgdir}/boot/vmlinuz-${pkgbase}" + if [ "${CARCH}" = "armv7h" ]; then + cp arch/$KARCH/boot/zImage "${pkgdir}/boot/zImage" + cp arch/$KARCH/boot/dts/*.dtb "${pkgdir}/boot/dtbs" + elif [ "${CARCH}" = "x86_64" ] || [ "${CARCH}" = "i686" ]; then + cp arch/$KARCH/boot/bzImage "${pkgdir}/boot/vmlinuz-${pkgbase}" + fi # set correct depmod command for install cp -f "${startdir}/${install}" "${startdir}/${install}.pkg" @@ -152,19 +217,25 @@ _package() { -e "s/KERNEL_VERSION=.*/KERNEL_VERSION=${_kernver}/" \ -i "${startdir}/${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=\"/boot/vmlinuz-${pkgbase}\"|" \ - -e "s|default_image=.*|default_image=\"/boot/initramfs-${pkgbase}.img\"|" \ - -e "s|fallback_image=.*|fallback_image=\"/boot/initramfs-${pkgbase}-fallback.img\"|" \ - -i "${pkgdir}/etc/mkinitcpio.d/${pkgbase}.preset" + if [ "${CARCH}" = "x86_64" ] || [ "${CARCH}" = "i686" ]; then + # 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=\"/boot/vmlinuz-${pkgbase}\"|" \ + -e "s|default_image=.*|default_image=\"/boot/initramfs-${pkgbase}.img\"|" \ + -e "s|fallback_image=.*|fallback_image=\"/boot/initramfs-${pkgbase}-fallback.img\"|" \ + -i "${pkgdir}/etc/mkinitcpio.d/${pkgbase}.preset" + fi # remove build and source links rm -f "${pkgdir}"/lib/modules/${_kernver}/{source,build} # remove the firmware rm -rf "${pkgdir}/lib/firmware" + if [ "${CARCH}" = "armv7h" ]; then + # gzip -9 all modules to save 100MB of space + find "${pkgdir}" -name '*.ko' |xargs -P 2 -n 1 gzip -9 + fi # make room for external modules ln -s "../extramodules-${_basekernel}${_kernelname}" "${pkgdir}/lib/modules/${_kernver}/extramodules" # add real version for building modules and running depmod from post_install/upgrade @@ -178,15 +249,23 @@ _package() { mkdir -p "${pkgdir}/usr" mv "${pkgdir}/lib" "${pkgdir}/usr/" - # add vmlinux - install -D -m644 vmlinux "${pkgdir}/usr/lib/modules/${_kernver}/build/vmlinux" + if [ "${CARCH}" = "x86_64" ] || [ "${CARCH}" = "i686" ]; then + # add vmlinux + install -D -m644 vmlinux "${pkgdir}/usr/lib/modules/${_kernver}/build/vmlinux" + fi } _package-headers() { pkgdesc="Header files and scripts for building modules for ${pkgbase^} kernel" - provides=("${_replacesarchkernel[@]/%/-headers=${_archpkgver}}") - conflicts=("${_replacesarchkernel[@]/%/-headers}" "${_replacesoldkernels[@]/%/-headers}") - replaces=("${_replacesarchkernel[@]/%/-headers}" "${_replacesoldkernels[@]/%/-headers}") + if [ "${CARCH}" = "armv7h" ]; then + provides=("${_replacesarchkernel%${_kernelname}}-headers") + conflicts=("${_replacesarchkernel%${_kernelname}}-headers") + replaces=("${_replacesarchkernel%${_kernelname}}-headers") + elif [ "${CARCH}" = "x86_64" ] || [ "${CARCH}" = "i686" ]; then + provides=("${_replacesarchkernel[@]/%/-headers=${_archpkgver}}") + conflicts=("${_replacesarchkernel[@]/%/-headers}" "${_replacesoldkernels[@]/%/-headers}") + replaces=("${_replacesarchkernel[@]/%/-headers}" "${_replacesoldkernels[@]/%/-headers}") + fi install -dm755 "${pkgdir}/usr/lib/modules/${_kernver}" @@ -208,6 +287,14 @@ _package-headers() { # copy arch includes for external modules mkdir -p "${pkgdir}/usr/lib/modules/${_kernver}/build/arch/${KARCH}" cp -a arch/${KARCH}/include "${pkgdir}/usr/lib/modules/${_kernver}/build/arch/${KARCH}/" + if [ "${CARCH}" = "armv7h" ]; then + mkdir -p "${pkgdir}/usr/lib/modules/${_kernver}/build/arch/${KARCH}/mach-omap2" + cp -a arch/${KARCH}/mach-omap2/include "${pkgdir}/usr/lib/modules/${_kernver}/build/arch/${KARCH}/mach-omap2/" + mkdir -p "${pkgdir}/usr/lib/modules/${_kernver}/build/arch/${KARCH}/mach-mvebu" + cp -a arch/${KARCH}/mach-mvebu/include "${pkgdir}/usr/lib/modules/${_kernver}/build/arch/${KARCH}/mach-mvebu/" + mkdir -p "${pkgdir}/usr/lib/modules/${_kernver}/build/arch/${KARCH}/plat-omap" + cp -a arch/${KARCH}/plat-omap/include "${pkgdir}/usr/lib/modules/${_kernver}/build/arch/${KARCH}/plat-omap/" + fi # copy files necessary for later builds cp Module.symvers "${pkgdir}/usr/lib/modules/${_kernver}/build" @@ -304,9 +391,15 @@ _package-headers() { _package-docs() { pkgdesc="Kernel hackers manual - HTML documentation that comes with the ${pkgbase^} kernel" - provides=("${_replacesarchkernel[@]/%/-docs=${_archpkgver}}") - conflicts=("${_replacesarchkernel[@]/%/-docs}" "${_replacesoldkernels[@]/%/-docs}") - replaces=("${_replacesarchkernel[@]/%/-docs}" "${_replacesoldkernels[@]/%/-docs}") + if [ "${CARCH}" = "armv7h" ]; then + provides=("${_replacesarchkernel%${_kernelname}}-docs") + conflicts=("${_replacesarchkernel%${_kernelname}}-docs") + replaces=("${_replacesarchkernel%${_kernelname}}-docs") + elif [ "${CARCH}" = "x86_64" ] || [ "${CARCH}" = "i686" ]; then + provides=("${_replacesarchkernel[@]/%/-docs=${_archpkgver}}") + conflicts=("${_replacesarchkernel[@]/%/-docs}" "${_replacesoldkernels[@]/%/-docs}") + replaces=("${_replacesarchkernel[@]/%/-docs}" "${_replacesoldkernels[@]/%/-docs}") + fi cd "${srcdir}/${_srcname}" @@ -319,7 +412,82 @@ _package-docs() { rm -f "${pkgdir}/usr/lib/modules/${_kernver}/build/Documentation/DocBook/Makefile" } +_package-smileplug() { + pkgdesc="The ${pkgbase^} kernel - Marvell SMILE Plug" + arch=('armv7h') + depends=("${pkgbase}") + provides=("${_replacesarchkernel%${_kernelname}}-uimage") + conflicts=("${_replacesarchkernel%${_kernelname}}-uimage") + + cd "${srcdir}/${_srcname}" + + mkdir -p "${pkgdir}/boot" + cat arch/$KARCH/boot/zImage arch/$KARCH/boot/dts/armada-370-smileplug.dtb > myimage + mkimage -A arm -O linux -T kernel -C none -a 0x00008000 -e 0x00008000 -n "${pkgbase}" -d myimage "${pkgdir}/boot/uImage" +} + +_package-mirabox() { + pkgdesc="The ${pkgbase^} kernel - Globalscale Mirabox" + arch=('armv7h') + depends=("${pkgbase}") + provides=("${_replacesarchkernel%${_kernelname}}-uimage") + conflicts=("${_replacesarchkernel%${_kernelname}}-uimage") + + cd "${srcdir}/${_srcname}" + + mkdir -p "${pkgdir}/boot" + cat arch/$KARCH/boot/zImage arch/$KARCH/boot/dts/armada-370-mirabox.dtb > myimage + mkimage -A arm -O linux -T kernel -C none -a 0x00008000 -e 0x00008000 -n "${pkgbase}" -d myimage "${pkgdir}/boot/uImage" +} + +_package-ax3() { + pkgdesc="The ${pkgbase^} kernel - OpenBlocks AX3-4" + arch=('armv7h') + depends=("${pkgbase}") + provides=("${_replacesarchkernel%${_kernelname}}-uimage") + conflicts=("${_replacesarchkernel%${_kernelname}}-uimage") + + cd "${srcdir}/${_srcname}" + + mkdir -p "${pkgdir}/boot" + cat arch/$KARCH/boot/zImage arch/$KARCH/boot/dts/armada-xp-openblocks-ax3-4.dtb > myimage + mkimage -A arm -O linux -T kernel -C none -a 0x00008000 -e 0x00008000 -n "${pkgbase}" -d myimage "${pkgdir}/boot/uImage" +} + +_package-d3plug() { + pkgdesc="The ${pkgbase^} kernel - Globalscale D3Plug" + arch=('armv7h') + depends=("${pkgbase}") + provides=("${_replacesarchkernel%${_kernelname}}-uimage") + conflicts=("${_replacesarchkernel%${_kernelname}}-uimage") + + cd "${srcdir}/${_srcname}" + + mkdir -p "${pkgdir}/boot" + cat arch/$KARCH/boot/zImage arch/$KARCH/boot/dts/dove-d3plug.dtb > myimage + mkimage -A arm -O linux -T kernel -C none -a 0x00008000 -e 0x00008000 -n "${pkgbase}" -d myimage "${pkgdir}/boot/uImage" +} + +_package-cubox() { + pkgdesc="The ${pkgbase^} kernel - SolidRun Cubox (Marvell)" + arch=('armv7h') + depends=("${pkgbase}") + provides=("${_replacesarchkernel%${_kernelname}}-uimage") + conflicts=("${_replacesarchkernel%${_kernelname}}-uimage") + + cd "${srcdir}/${_srcname}" + + mkdir -p "${pkgdir}/boot" + cat arch/$KARCH/boot/zImage arch/$KARCH/boot/dts/dove-cubox.dtb > myimage + mkimage -A arm -O linux -T kernel -C none -a 0x00008000 -e 0x00008000 -n "${pkgbase}" -d myimage "${pkgdir}/boot/uImage" +} + pkgname=("${pkgbase}" "${pkgbase}-headers" "${pkgbase}-docs") + +if [ "${CARCH}" = "armv7h" ]; then + pkgname+=("${pkgbase}-smileplug" "${pkgbase}-mirabox" "${pkgbase}-ax3" "${pkgbase}-d3plug" "${pkgbase}-cubox") +fi + for _p in ${pkgname[@]}; do eval "package_${_p}() { $(declare -f "_package${_p#${pkgbase}}") -- cgit v1.2.3