diff options
Diffstat (limited to 'linux')
| -rwxr-xr-x | linux/kernel/package.sh | 23 | ||||
| -rwxr-xr-x | linux/kernel/upgrade.sh | 26 |
2 files changed, 49 insertions, 0 deletions
diff --git a/linux/kernel/package.sh b/linux/kernel/package.sh new file mode 100755 index 0000000..14a23b2 --- /dev/null +++ b/linux/kernel/package.sh @@ -0,0 +1,23 @@ +#!/bin/sh +set -e +set -x + +if [ $(id -u) -ne 0 ] ; then + echo "You must be root" + exit 1; +fi + +if [ -z "$1" ] ; then + echo "Usage: $0 \$version" + echo "Will place currently installed kernel \$version in the current directory" + exit 1; +fi +version="$1"; shift + +tar -C / -cvf - \ + "/usr/lib/modules/$version" \ + "/boot/config-$version" \ + "/boot/vmlinuz-$version" \ + "/boot/System.map-${version}" \ + "/boot/initramfs-${version}.img" \ + | gzip -3c > $version.tar.gz diff --git a/linux/kernel/upgrade.sh b/linux/kernel/upgrade.sh new file mode 100755 index 0000000..dab1518 --- /dev/null +++ b/linux/kernel/upgrade.sh @@ -0,0 +1,26 @@ +#!/bin/sh +set -e +set -x +version="$(sed 11q Makefile \ + | sed -n \ + -e's/^VERSION = //p' \ + -e's/^PATCHLEVEL = //p' \ + -e's/^SUBLEVEL = //p' \ + | tr '\n' '.' \ + | sed -e's/\.$//')" +localversion="$(sed 25q .config \ + | sed -rn \ + -e's/^CONFIG_LOCALVERSION="(.*)"$/\1/p')" +if [ -z "$version" ] ; then + exit 1; +fi +CPUs="$(nproc)" +# git checkout v$version +make -j$CPUs "$@" olddefconfig bzImage modules +sudo make -j$CPUs install modules_install +cd / +sudo sh -c 'umask 002; sh /etc/kernel.d/post-install/10-dkms linux '"${version}${localversion}" +cd - +sudo dracut -f --kver "${version}${localversion}" +sudo grub-mkconfig -o /boot/grub/grub.cfg +echo "You'll have to update grub by hand there bud" |
