summaryrefslogtreecommitdiff
path: root/kernel
blob: 0f0ab57e5bb0c23546155f1decdce5082894658c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
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