Skip to content

Instantly share code, notes, and snippets.

@zakkak zakkak/installkernel
Last active Nov 13, 2015

Embed
What would you like to do?
installkernel
#!/bin/sh
#
# Arguments:
# $1 - kernel version
# $2 - kernel image file
# $3 - kernel map file
# $4 - default install path (blank if root directory)
# define input variables
#
# assume default install path is /boot
if [ -z $4 ]; then
install_path=$4;
else
install_path=/boot;
fi
kver=$1
kimg=$2
kmap=$3
vmlinuz=$install_path/vmlinuz-$kver
sysmap=$install_path/System.map-$kver
kconfig=$install_path/kconfig-$kver
initramfs=$install_path/initramfs-$kver.img
#
# check for previous versions
#
if [ -f $vmlinuz ]; then cp $vmlinuz $vmlinuz.old; fi
if [ -f $initramfs ]; then cp $initramfs $initramfs.old; fi
# if [ -f $sysmap ]; then cp $sysmap $sysmap.old; fi
# if [ -f $kconfig ]; then cp $kconfig $kconfig.old; fi
#
# install the image and map files
#
cat $kimg > $vmlinuz
# cp $kmap $sysmap
# cp $(dirname "$kmap")/.config $kconfig
#
# install the initramfs
#
mkinitcpio -k $vmlinuz -c /etc/mkinitcpio.conf -g $initramfs
#
# Check for grub, then lilo
#
# In the Grub menu you can use two menu entries, one pointing to
# kernel-newest and one to kernel-previous.
if [ -d $install_path/grub ]; then
# mv $install_path/kernel-newest $install_path/kernel-previous
# cp $vmlinuz $install_path/kernel-newest
update-grub
elif [ -x /sbin/lilo ]; then
/sbin/lilo -v
fi
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.
You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session.