diff options
author | André Fabian Silva Delgado <emulatorman@parabola.nu> | 2015-09-27 07:57:49 -0300 |
---|---|---|
committer | André Fabian Silva Delgado <emulatorman@parabola.nu> | 2015-09-27 07:57:49 -0300 |
commit | f8ffee8f862a3d5e411e6f09c606399d9cbb604c (patch) | |
tree | 15045933ef1a8b25d2ff080e17d6226758a84ec3 /libre/linux-libre-lts/PKGBUILD | |
parent | 986007f260d6d706755aae7108e7568ddeb60edd (diff) |
adapt armv7h kernels for GRUB usage
Diffstat (limited to 'libre/linux-libre-lts/PKGBUILD')
-rw-r--r-- | libre/linux-libre-lts/PKGBUILD | 163 |
1 files changed, 25 insertions, 138 deletions
diff --git a/libre/linux-libre-lts/PKGBUILD b/libre/linux-libre-lts/PKGBUILD index 64365b7b4..93532038f 100644 --- a/libre/linux-libre-lts/PKGBUILD +++ b/libre/linux-libre-lts/PKGBUILD @@ -26,7 +26,7 @@ url="http://linux-libre.fsfla.org/" license=('GPL2') makedepends=('xmlto' 'docbook-xsl' 'kmod' 'inetutils' 'bc') if [ "${CARCH}" = "armv7h" ]; then - makedepends+=('git' 'uboot-tools') + makedepends+=('git') fi options=('!strip') source=("http://linux-libre.fsfla.org/pub/linux-libre/releases/${_pkgbasever}/linux-libre-${_pkgbasever}.tar.xz" @@ -107,7 +107,6 @@ prepare() { fi if [ "${CARCH}" = "armv7h" ]; then - # RCN patch (CM3 firmware deblobbed) git apply -v "${srcdir}/rcn-libre-${_pkgver%-*}-${rcnrel}.patch" @@ -176,20 +175,13 @@ build() { _package() { pkgdesc="The ${pkgbase^} kernel and modules - stable longtime supported kernel package suitable for servers" [ "${pkgbase}" = "linux-libre" ] && groups=('base') - depends=('coreutils' 'linux-libre-firmware' 'kmod') + depends=('coreutils' 'linux-libre-firmware' 'kmod' 'mkinitcpio>=0.7') optdepends=('crda: to set the correct wireless channels of your country') - if [ "${CARCH}" = "armv7h" ]; then - provides=("${_replacesarchkernel}") - conflicts=("${_replacesarchkernel}") - replaces=("${_replacesarchkernel}") - [ "${pkgbase}" != "linux-libre" ] && conflicts+=("${_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 + provides=("${_replacesarchkernel[@]/%/=${_archpkgver}}") + conflicts=("${_replacesarchkernel[@]}" "${_replacesoldkernels[@]}" "${_replacesoldmodules[@]}") + replaces=("${_replacesarchkernel[@]}" "${_replacesoldkernels[@]}" "${_replacesoldmodules[@]}") + [ "${CARCH}" = "armv7h" ] && conflicts+=("${_replacesarchkernel}-uimage") && replaces+=("${_replacesarchkernel}-uimage") + backup=("etc/mkinitcpio.d/${pkgbase}.preset") install=linux.install cd "${srcdir}/${_srcname}" @@ -201,12 +193,12 @@ _package() { mkdir -p "${pkgdir}"/{lib/modules,lib/firmware,boot} if [ "${CARCH}" = "armv7h" ]; then - mkdir -p "${pkgdir}"/boot/dtbs + mkdir -p "${pkgdir}/boot/dtbs/${pkgbase}" fi make LOCALVERSION= INSTALL_MOD_PATH="${pkgdir}" modules_install if [ "${CARCH}" = "armv7h" ]; then - cp arch/$KARCH/boot/zImage "${pkgdir}/boot/zImage" - cp arch/$KARCH/boot/dts/*.dtb "${pkgdir}/boot/dtbs" + cp arch/$KARCH/boot/zImage "${pkgdir}/boot/vmlinuz-${pkgbase}" + cp arch/$KARCH/boot/dts/*.dtb "${pkgdir}/boot/dtbs/${pkgbase}" elif [ "${CARCH}" = "x86_64" ] || [ "${CARCH}" = "i686" ]; then cp arch/$KARCH/boot/bzImage "${pkgdir}/boot/vmlinuz-${pkgbase}" fi @@ -219,25 +211,19 @@ _package() { -e "s/KERNEL_VERSION=.*/KERNEL_VERSION=${_kernver}/" \ -i "${startdir}/${install}" - 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 + # 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" # 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 @@ -253,22 +239,15 @@ _package() { if [ "${CARCH}" = "x86_64" ] || [ "${CARCH}" = "i686" ]; then # add vmlinux - install -D -m644 vmlinux "${pkgdir}/usr/lib/modules/${_kernver}/build/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" - if [ "${CARCH}" = "armv7h" ]; then - provides=("${_replacesarchkernel}-headers") - conflicts=("${_replacesarchkernel}-headers") - replaces=("${_replacesarchkernel}-headers") - [ "${pkgbase}" != "linux-libre" ] && conflicts+=("${_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 + provides=("${_replacesarchkernel[@]/%/-headers=${_archpkgver}}") + conflicts=("${_replacesarchkernel[@]/%/-headers}" "${_replacesoldkernels[@]/%/-headers}") + replaces=("${_replacesarchkernel[@]/%/-headers}" "${_replacesoldkernels[@]/%/-headers}") install -dm755 "${pkgdir}/usr/lib/modules/${_kernver}" @@ -394,16 +373,9 @@ _package-headers() { _package-docs() { pkgdesc="Kernel hackers manual - HTML documentation that comes with the ${pkgbase^} kernel" - if [ "${CARCH}" = "armv7h" ]; then - provides=("${_replacesarchkernel}-docs") - conflicts=("${_replacesarchkernel}-docs") - replaces=("${_replacesarchkernel}-docs") - [ "${pkgbase}" != "linux-libre" ] && conflicts+=("${_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 + provides=("${_replacesarchkernel[@]/%/-docs=${_archpkgver}}") + conflicts=("${_replacesarchkernel[@]/%/-docs}" "${_replacesoldkernels[@]/%/-docs}") + replaces=("${_replacesarchkernel[@]/%/-docs}" "${_replacesoldkernels[@]/%/-docs}") cd "${srcdir}/${_srcname}" @@ -416,92 +388,7 @@ _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}-uimage") - conflicts=("${_replacesarchkernel}-uimage") - replaces=("${_replacesarchkernel}-uimage") - [ "${pkgbase}" != "linux-libre" ] && 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}-uimage") - conflicts=("${_replacesarchkernel}-uimage") - replaces=("${_replacesarchkernel}-uimage") - [ "${pkgbase}" != "linux-libre" ] && 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}-uimage") - conflicts=("${_replacesarchkernel}-uimage") - replaces=("${_replacesarchkernel}-uimage") - [ "${pkgbase}" != "linux-libre" ] && 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}-uimage") - conflicts=("${_replacesarchkernel}-uimage") - replaces=("${_replacesarchkernel}-uimage") - [ "${pkgbase}" != "linux-libre" ] && 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}-uimage") - conflicts=("${_replacesarchkernel}-uimage") - replaces=("${_replacesarchkernel}-uimage") - [ "${pkgbase}" != "linux-libre" ] && 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}}") |