diff options
Diffstat (limited to 'kernel')
-rwxr-xr-x | kernel | 44 |
1 files changed, 44 insertions, 0 deletions
@@ -0,0 +1,44 @@ +#!/bin/sh +. "${0%/*}/common.sh" "$@" +cmd cd "$HOME/linux" +[ "$1" = -p ] || cmd git pull --rebase=merges +cmd mkdir -p /tmp/linux-build +cmd cp "$HOME/kernel-configs/current" /tmp/linux-build/.config +export PATH="/usr/lib/ccache/bin:$PATH" +export CCACHE_BASEDIR=/tmp/linux-build +export CCACHE_DIR=${XDG_CACHE_HOME:-$HOME/.cache}/kernel-ccache +cmd make O=/tmp/linux-build oldconfig +KCFLAGS=${KCFLAGS-'-pipe -fgraphite-identity -floop-nest-optimize -fipa-pta -fno-ipa-cp-clone -fno-align-jumps -fno-align-functions -fno-align-loops -fno-align-labels -fno-prefetch-loop-arrays'} +cmd make O=/tmp/linux-build KCFLAGS="${KCFLAGS}" +cd /tmp/linux-build +kernelrelease=$(make -s kernelrelease) +bas=/boot/vmlinuz +new=$bas.new +ins=$bas-${kernelrelease} +cmd sudo cp arch/x86/boot/bzImage "$new" +cmd sudo mv "$new" "$ins" +loader_entry=linux-${kernelrelease} +cmd sudo sh -c "cat > /boot/loader/entries/$loader_entry.conf << EOF +title Linux +version ${kernelrelease} +linux /vmlinuz-${kernelrelease} +options libahci.ignore_sss=1 vfio-pci.ids=1002:aaf0 amdgpu.ppfeaturemask=0xffffffff amdgpu.dcfeaturemask=0xb quiet +initrd /amd-uc.img +initrd /initramfs.img +EOF" +cmd sudo bootctl set-default $loader_entry.conf + +cmd sudo rm -rf /lib/modules/$kernelrelease +cmd sudo make modules_install +builddir=/lib/modules/$kernelrelease/build +cmd sudo rm -rf "$builddir" +cmd sudo install -Dt "$builddir" -m644 .config +cmd sudo install -Dt "$builddir" -m644 $HOME/linux/Makefile +cmd sudo sh -c "xz -9c vmlinux > '$builddir/vmlinux.xz'" +cmd sudo sh -c "xz -9c System.map > '$builddir/System.map.xz'" +cmd sudo rm -f /usr/src/linux +cmd sudo ln -sr "$builddir" /usr/src/linux + +cd / +cmd rm -rf /tmp/linux-build +#sudo emerge -1 --ask=n --usepkg=n @module-rebuild |