From b2db61bcc156516f601263d1e60ae985db24d210 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Karel=20Ko=C4=8D=C3=AD?= Date: Wed, 14 Feb 2018 18:49:15 +0100 Subject: Update linux to 4.14.18 and compile in VFIO --- sys-kernel/linux/Manifest | 2 +- sys-kernel/linux/files/overlay.config | 4 ++ sys-kernel/linux/linux-4.14.18-r1.ebuild | 91 -------------------------------- sys-kernel/linux/linux-4.14.19-r1.ebuild | 91 ++++++++++++++++++++++++++++++++ 4 files changed, 96 insertions(+), 92 deletions(-) delete mode 100644 sys-kernel/linux/linux-4.14.18-r1.ebuild create mode 100644 sys-kernel/linux/linux-4.14.19-r1.ebuild diff --git a/sys-kernel/linux/Manifest b/sys-kernel/linux/Manifest index 69a5943..e27a1ac 100644 --- a/sys-kernel/linux/Manifest +++ b/sys-kernel/linux/Manifest @@ -1 +1 @@ -DIST linux-4.14.18.tar.gz 157757523 BLAKE2B 952ba88679101042efb9b39b80fb2e71c72f65639d8105acec3ea8d10063619a42ad3035596f27d8f07ff3565dfc8c846a278b4304731042676be43deea024fd SHA512 b3081b229c760f5436ec0acbccea8c4ab277419f1a85c7093d0b24b8f5bbb6d776f83703e44ace2a797b6e745b51d2553d9f81196abb925f7addc5c27ab6a6de +DIST linux-4.14.19.tar.gz 157758999 BLAKE2B 7f597de9b36eaf4537d4ed25c8e3d0d4b158ac298491ebc4fa307f0ca0188eeeaf0b9eed2dfca9c351bfd07e1d83491c537766b77061d3f8e749a5cb0288a5bf SHA512 13e852a0c1e2e543631d58708091789f04813f2e26d3539a704aa1fc678ce2bd0f4d3a7da669682e36b94ae4a8ba5377d155c45dcc9ef5255cdfd2bdfb33150d diff --git a/sys-kernel/linux/files/overlay.config b/sys-kernel/linux/files/overlay.config index bc160bb..7f9c56b 100644 --- a/sys-kernel/linux/files/overlay.config +++ b/sys-kernel/linux/files/overlay.config @@ -54,6 +54,10 @@ CONFIG_AGP_INTEL=y CONFIG_DRM=y CONFIG_DRM_I915=y +# VFIO (gpu passtrough) +CONFIG_VFIO=y +CONFIG_VFIO_PCI=y + # X input CONFIG_INPUT_EVDEV=y diff --git a/sys-kernel/linux/linux-4.14.18-r1.ebuild b/sys-kernel/linux/linux-4.14.18-r1.ebuild deleted file mode 100644 index 43f0192..0000000 --- a/sys-kernel/linux/linux-4.14.18-r1.ebuild +++ /dev/null @@ -1,91 +0,0 @@ -# Copyright 1999-2017 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 - -EAPI=6 - -VER="${PV%-r*}" -REV="r${PV##*-r}" - -DESCRIPTION="Linux kernel" -HOMEPAGE="http://kernel.org/" -SRC_URI="https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git/snapshot/linux-stable-${VER}.tar.gz -> ${P}.tar.gz" -S="${WORKDIR}/linux-stable-${VER}" - -LICENSE="GPLv2" -SLOT="${PV}" -KEYWORDS="amd64 ~x86" -IUSE="virt +initramfs" - -DEPEND="sys-devel/bc" - -src_configure() { - # Fix ARCH variable - [ "$ARCH" = "amd64" ] && ARCH="x86" - - "${FILESDIR}"/config_prepare.sh $(usev virt) || die "Configuration application failed" -} - -src_install() { - emake modules_install INSTALL_MOD_PATH="${D}" INSTALL_FW_PATH="${D}/lib/firmware/${PV}" - - dodir /boot - insinto /boot - newins "${S}/arch/$ARCH/boot/bzImage" "bzlinux-${PV}" - - # Package source (kind of annoying because of some packages expecting it) - emake clean - dodir /usr/src - cp -a "${S}" "${D}/usr/src/linux-${PV}" -} - -# Link /usr/src/linux to newest kernel -src_link() { - ( - cd "${ROOT}/usr/src" - rm -f linux - ln -s $(ls | grep "linux-" | sort | tail -1) linux - ) -} - -sysfile() { - if [ -f "${ROOT}/boot/syslinux/syslinux.cfg" ]; then - SYSLINUX="${ROOT}/boot/syslinux/syslinux.cfg" - PFIX=".." - elif [ -f "${ROOT}/boot/EFI/BOOT/syslinux.cfg" ]; then - SYSLINUX="${ROOT}/boot/EFI/BOOT/syslinux.cfg" - PFIX="../../.." - elif [ -f "${ROOT}/boot/extlinux.conf" ]; then - SYSLINUX="${ROOT}/boot/extlinux.conf" - PFIX="." - else - eerror "Can't locate syslinux configuration!" - fi -} - -pkg_postinst() { - sysfile - # Add label to syslinux config if there is non yet - if ! grep -q "^LABEL gentoo-${PV}$" "${SYSLINUX}"; then - if $(use initramfs); then - INITRD="\tINITRD ${PFIX}/initramfs-gentoo\n" - fi - ARGS="$(grep -E "^# ARGS: " "${SYSLINUX}" | sed 's/^# ARGS: //')" - if [ -n "$ARGS" ]; then - sed -i "/^## Dynamic labels ##$/a LABEL gentoo-${PV}\n\tMENU LABEL Gentoo ${PV}\n\tLINUX ${PFIX}/bzlinux-${PV}\n\tAPPEND ${ARGS}\n$INITRD" "${SYSLINUX}" || eerror "Adding label to syslinux configuration failed!" - sed -i "/^## Dynamic recovery labels ##$/a LABEL gentoo-${PV}-recovery\n\tMENU LABEL Gentoo ${PV} - Recovery\n\tLINUX ${PFIX}/bzlinux-${PV}\n\tAPPEND ${ARGS} recovery\n$INITRD" "${SYSLINUX}" || eerror "Adding recovery label to syslinux configuration failed!" - else - eerror "Adding label to syslinux configuration failed as there are no arguments" - fi - fi - src_link -} - -pkg_prerm() { - sysfile - # Remove label from syslinux config - sed -i "/^LABEL gentoo-${PV}\(\|-recovery\)$/,/^$/d" "${SYSLINUX}" || eerror "Removing label from syslinux fonfiguration failed!" -} - -pkg_postrm() { - src_link -} diff --git a/sys-kernel/linux/linux-4.14.19-r1.ebuild b/sys-kernel/linux/linux-4.14.19-r1.ebuild new file mode 100644 index 0000000..43f0192 --- /dev/null +++ b/sys-kernel/linux/linux-4.14.19-r1.ebuild @@ -0,0 +1,91 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 + +VER="${PV%-r*}" +REV="r${PV##*-r}" + +DESCRIPTION="Linux kernel" +HOMEPAGE="http://kernel.org/" +SRC_URI="https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git/snapshot/linux-stable-${VER}.tar.gz -> ${P}.tar.gz" +S="${WORKDIR}/linux-stable-${VER}" + +LICENSE="GPLv2" +SLOT="${PV}" +KEYWORDS="amd64 ~x86" +IUSE="virt +initramfs" + +DEPEND="sys-devel/bc" + +src_configure() { + # Fix ARCH variable + [ "$ARCH" = "amd64" ] && ARCH="x86" + + "${FILESDIR}"/config_prepare.sh $(usev virt) || die "Configuration application failed" +} + +src_install() { + emake modules_install INSTALL_MOD_PATH="${D}" INSTALL_FW_PATH="${D}/lib/firmware/${PV}" + + dodir /boot + insinto /boot + newins "${S}/arch/$ARCH/boot/bzImage" "bzlinux-${PV}" + + # Package source (kind of annoying because of some packages expecting it) + emake clean + dodir /usr/src + cp -a "${S}" "${D}/usr/src/linux-${PV}" +} + +# Link /usr/src/linux to newest kernel +src_link() { + ( + cd "${ROOT}/usr/src" + rm -f linux + ln -s $(ls | grep "linux-" | sort | tail -1) linux + ) +} + +sysfile() { + if [ -f "${ROOT}/boot/syslinux/syslinux.cfg" ]; then + SYSLINUX="${ROOT}/boot/syslinux/syslinux.cfg" + PFIX=".." + elif [ -f "${ROOT}/boot/EFI/BOOT/syslinux.cfg" ]; then + SYSLINUX="${ROOT}/boot/EFI/BOOT/syslinux.cfg" + PFIX="../../.." + elif [ -f "${ROOT}/boot/extlinux.conf" ]; then + SYSLINUX="${ROOT}/boot/extlinux.conf" + PFIX="." + else + eerror "Can't locate syslinux configuration!" + fi +} + +pkg_postinst() { + sysfile + # Add label to syslinux config if there is non yet + if ! grep -q "^LABEL gentoo-${PV}$" "${SYSLINUX}"; then + if $(use initramfs); then + INITRD="\tINITRD ${PFIX}/initramfs-gentoo\n" + fi + ARGS="$(grep -E "^# ARGS: " "${SYSLINUX}" | sed 's/^# ARGS: //')" + if [ -n "$ARGS" ]; then + sed -i "/^## Dynamic labels ##$/a LABEL gentoo-${PV}\n\tMENU LABEL Gentoo ${PV}\n\tLINUX ${PFIX}/bzlinux-${PV}\n\tAPPEND ${ARGS}\n$INITRD" "${SYSLINUX}" || eerror "Adding label to syslinux configuration failed!" + sed -i "/^## Dynamic recovery labels ##$/a LABEL gentoo-${PV}-recovery\n\tMENU LABEL Gentoo ${PV} - Recovery\n\tLINUX ${PFIX}/bzlinux-${PV}\n\tAPPEND ${ARGS} recovery\n$INITRD" "${SYSLINUX}" || eerror "Adding recovery label to syslinux configuration failed!" + else + eerror "Adding label to syslinux configuration failed as there are no arguments" + fi + fi + src_link +} + +pkg_prerm() { + sysfile + # Remove label from syslinux config + sed -i "/^LABEL gentoo-${PV}\(\|-recovery\)$/,/^$/d" "${SYSLINUX}" || eerror "Removing label from syslinux fonfiguration failed!" +} + +pkg_postrm() { + src_link +} -- cgit v1.2.3