From 301230a4e6a964695a3bfe58ee8df3fb361fea3a Mon Sep 17 00:00:00 2001 From: jc_gargma Date: Thu, 26 Oct 2017 02:17:02 -0700 Subject: Re-added armv7h support | Enabled RAP_VERBOSE --- PKGBUILD | 78 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++----- 1 file changed, 72 insertions(+), 6 deletions(-) (limited to 'PKGBUILD') diff --git a/PKGBUILD b/PKGBUILD index 9268cc6..8f0602f 100644 --- a/PKGBUILD +++ b/PKGBUILD @@ -18,10 +18,12 @@ _srcname=linux-${_pkgbasever%-*} _archpkgver=${_pkgver%-*}.r${_timestamp} pkgver=${_pkgver//-/_}.r${_timestamp} pkgrel=1.arcfour1 -arch=('i686' 'x86_64') +rcnrel=armv7-x5 +arch=('i686' 'x86_64' 'armv7h') url="https://github.com/minipli/linux-unofficial_grsec" license=('GPL2') makedepends=('xmlto' 'docbook-xsl' 'kmod' 'inetutils' 'bc' 'libelf') +makedepends_armv7h=('git') options=('!strip') source=("https://linux-libre.fsfla.org/pub/linux-libre/releases/${_pkgbasever}/linux-libre-${_pkgbasever}.tar.xz"{,.sign} "https://linux-libre.fsfla.org/pub/linux-libre/releases/${_pkgver}/patch-${_pkgbasever}-${_pkgver}.xz"{,.sign} @@ -31,14 +33,23 @@ source=("https://linux-libre.fsfla.org/pub/linux-libre/releases/${_pkgbasever}/l "https://repo.parabola.nu/other/linux-libre/logos/logo_linux_mono.pbm"{,.sig} "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' # pacman hook for initramfs regeneration '90-linux.hook' # standard config files for mkinitcpio ramdisk 'linux.preset' 'change-default-console-loglevel.patch' '0001-usb-serial-gadget-no-TTY-hangup-on-USB-disconnect-WI.patch' - '0002-fix-Atmel-maXTouch-touchscreen-support.patch') + '0002-fix-Atmel-maXTouch-touchscreen-support.patch' + # armv7h patches + "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-set-default-cubietruck-led-triggers.patch' + '0007-exynos4412-odroid-set-higher-minimum-buck2-regulator.patch') sha512sums=('885eb0a7fab45dc749acb4329b4330a43b704df2d5f2f5aac1811503c132ca53ca49452f9b1cc80b0826c7a4962dbe4937aecb697aa823b2543ba2cabc704816' 'SKIP' 'f734861adf88d53ba2b33bbfc577cd6302ef6fa6b65fed00d1b24a966f49b3774cf720509961c5fd21e0153a7b9e5bc26aaad31b53165c33bb105f6d7bea9111' @@ -51,13 +62,23 @@ sha512sums=('885eb0a7fab45dc749acb4329b4330a43b704df2d5f2f5aac1811503c132ca53ca4 'SKIP' '7a3716bfe3b9f546da309c7492f3e08f8f506813afeb1c737a474c83313d5c313cf4582b65215c2cfce3b74d9d1021c96e8badafe8f6e5b01fe28d2b5c61ae78' 'SKIP' - '78bd81defdaaeb034772b89e5aa33f38413c7679c8d1ee4042f916f2d3840673076c7bec1d82492a12e2c50e7fe5ec433ea023543b2fa0440d5e3a43dae92c98' - '6bf526907d669c4831aa4d73fc37ff22976bf88e927ebf3bf3fc397f08c437eb5a38bc661006cfa2ee6d8ce9bb999dfaced3b559487473a5ce18066041f19483' + '71d580783853236586bad3fae362438dd8bbf34cd7939e43dcdf07d63375cb5477cb2994b717cc872c48c060eea235743ac78869f2aeccaac360cf590a819be1' + '54e1ac613a7660f0baa0a9501f18bbb34592f5ac7a2d82763fbd272699f471d47a74653037c1e79d5585c544c1a60a2e1b51468174ab26d7dca5f7c17f042d9b' + '061e41da3ccb2d863b64ce4979172335267acf9e4b0f741901ad3e22606fc6dd2960d848fdf6e39e1fd84755d5f51f5a595b073e72131bd01cc8da925bbdb3d7' 'd6faa67f3ef40052152254ae43fee031365d0b1524aa0718b659eb75afc21a3f79ea8d62d66ea311a800109bed545bc8f79e8752319cd378eef2cbd3a09aba22' '2dc6b0ba8f7dbf19d2446c5c5f1823587de89f4e28e9595937dd51a87755099656f2acec50e3e2546ea633ad1bfd1c722e0c2b91eef1d609103d8abdc0a7cbaf' 'd9d28e02e964704ea96645a5107f8b65cae5f4fb4f537e224e5e3d087fd296cb770c29ac76e0ce95d173bc420ea87fb8f187d616672a60a0cae618b0ef15b8c8' '02af4dd2a007e41db0c63822c8ab3b80b5d25646af1906dc85d0ad9bb8bbf5236f8e381d7f91cf99ed4b0978c50aee37cb9567cdeef65b7ec3d91b882852b1af' - 'b8fe56e14006ab866970ddbd501c054ae37186ddc065bb869cf7d18db8c0d455118d5bda3255fb66a0dde38b544655cfe9040ffe46e41d19830b47959b2fb168') + 'b8fe56e14006ab866970ddbd501c054ae37186ddc065bb869cf7d18db8c0d455118d5bda3255fb66a0dde38b544655cfe9040ffe46e41d19830b47959b2fb168' + 'fb841e44b93a01633911c699059ebd3b817ad7bf7af190a1fb66413ae740880e315dca11495ade483ca25b637ddb05fb643ab5562f8876d863f1be45ac88e740' + 'SKIP' + '844084ad68a6c41f940a2f98d987fa8a2cf99a2f9e8ebdf1d6dcd62b6039f9e6c0669606964e9e7e813b94fdd890c20cc73366ee296c1d79099ee8b84c918b0d' + '590ce7a3283109a37740b565d13e54cbc8f526de082c4cc8727e71e02a26e844d1b012cceff9ea2b85231dd5b9d80f10db1e2ea678ad81f400bebc5ac4bc7531' + '69ac95ce4d9cf873c6b93189a4db793759aac866953d94efd7f6ad9176ab3b3935e5b5b0474af43ade9c9675e9e792e288cd75be85d9b222190e37d6fbeaacf0' + '9ed1c9e79bb55346f76a7ea732b164f4f230a6458774971b1abe469b51a5bc8c59e45e4af5a4592955b3236c0488e48dee8d46c0db9ae98406405092f7133702' + 'd075234482b0560658a89f1a31ad25403c473ae902c86afc3cbf6e115fae09ccd307552e56b05d05267bbd595c8051831eb989ce0069cf8a824dffd5a7c6c881' + 'f8d43ac2fe7b3afb6b41c15650da2fd207dddd3135c09473fe3e200dd343a1823bdff1bee9320f51a00d715774460218969657034a81481daa9518ac66326cbf' + 'ee340714b2f393c57cde8a28126942353eac21a1270b10448b3ca94aa2a91e85f0a230edab0c422a5949aa0075b51d34812990adc566d21ccff089b21c194a03') validpgpkeys=( '474402C8C582DAFBE389C427BCB7CF877E7D47A7' # Alexandre Oliva '6DB9C4B4F0D8C0DC432CF6E4227CA7C556B2BA78' # David P. @@ -71,6 +92,7 @@ _replacesoldmodules=("${_replacesoldmodules[@]/\%/${_kernelname}}") case "${CARCH}" in i686|x86_64) KARCH=x86;; + armv7h) KARCH=arm;; esac prepare() { @@ -85,6 +107,23 @@ prepare() { patch -Np1 -i "${srcdir}/v${_fullv}-unofficial_grsec-${_timestamp}.diff" rm localversion-unofficial_grsec + if [ "${CARCH}" = "armv7h" ]; then + # RCN patch (CM3 firmware deblobbed and AUFS removed) + # Note: For stability reasons, AUFS has been removed in the RCN patch. + # We are supporting AUFS in linux-libre-pck through PCK patch. + # See https://wiki.parabola.nu/PCK for further details. + 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-set-default-cubietruck-led-triggers.patch" + patch -p1 -i "${srcdir}/0007-exynos4412-odroid-set-higher-minimum-buck2-regulator.patch" + fi + # add freedo as boot logo install -m644 -t drivers/video/logo \ "${srcdir}/logo_linux_"{clut224.ppm,vga16.ppm,mono.pbm} @@ -132,7 +171,11 @@ prepare() { build() { cd "${srcdir}/${_srcname}" + if [ "${CARCH}" = "armv7h" ]; then + make ${MAKEFLAGS} LOCALVERSION= zImage modules dtbs + elif [ "${CARCH}" = "x86_64" ] || [ "${CARCH}" = "i686" ]; then make ${MAKEFLAGS} LOCALVERSION= bzImage modules + fi } _package() { @@ -157,7 +200,12 @@ _package() { mkdir -p "${pkgdir}"/{lib/modules,lib/firmware,boot} make LOCALVERSION= INSTALL_MOD_PATH="${pkgdir}" modules_install + if [ "${CARCH}" = "armv7h" ]; then + make LOCALVERSION= INSTALL_DTBS_PATH="${pkgdir}/boot/dtbs/${pkgbase}" dtbs_install + cp arch/$KARCH/boot/zImage "${pkgdir}/boot/vmlinuz-${pkgbase}" + elif [ "${CARCH}" = "x86_64" ] || [ "${CARCH}" = "i686" ]; then cp arch/$KARCH/boot/bzImage "${pkgdir}/boot/vmlinuz-${pkgbase}" + fi # set correct depmod command for install sed -e "s|%PKGBASE%|${pkgbase}|g;s|%KERNVER%|${_kernver}|g" \ @@ -165,8 +213,14 @@ _package() { true && install=${install}.pkg # install mkinitcpio preset file for kernel + if [ "${CARCH}" = "armv7h" ]; then + sed "s|/boot/vmlinuz-%PKGBASE%|${_kernver}|g + s|%PKGBASE%|${pkgbase}|g" "${srcdir}/linux.preset" | + install -D -m644 /dev/stdin "${pkgdir}/etc/mkinitcpio.d/${pkgbase}.preset" + elif [ "${CARCH}" = "x86_64" ] || [ "${CARCH}" = "i686" ]; then sed "s|%PKGBASE%|${pkgbase}|g" "${srcdir}/linux.preset" | install -D -m644 /dev/stdin "${pkgdir}/etc/mkinitcpio.d/${pkgbase}.preset" + fi # install pacman hook for initramfs regeneration sed "s|%PKGBASE%|${pkgbase}|g" "${srcdir}/90-linux.hook" | @@ -189,8 +243,10 @@ _package() { mkdir -p "${pkgdir}/usr" mv "${pkgdir}/lib" "${pkgdir}/usr/" + if [ "${CARCH}" = "x86_64" ] || [ "${CARCH}" = "i686" ]; then # add vmlinux install -D -m644 vmlinux "${pkgdir}/usr/lib/modules/${_kernver}/build/vmlinux" + fi } _package-headers() { @@ -219,6 +275,16 @@ _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 + for i in dove exynos omap2; do + mkdir -p "${pkgdir}/usr/lib/modules/${_kernver}/build/arch/${KARCH}/mach-${i}" + cp -a arch/${KARCH}/mach-${i}/include "${pkgdir}/usr/lib/modules/${_kernver}/build/arch/${KARCH}/mach-${i}/" + done + for i in omap orion samsung versatile; do + mkdir -p "${pkgdir}/usr/lib/modules/${_kernver}/build/arch/${KARCH}/plat-${i}" + cp -a arch/${KARCH}/plat-${i}/include "${pkgdir}/usr/lib/modules/${_kernver}/build/arch/${KARCH}/plat-${i}/" + done + fi # copy files necessary for later builds cp Module.symvers "${pkgdir}/usr/lib/modules/${_kernver}/build" -- cgit v1.2.1