--- trunk/grubby/new-kernel-pkg 2013/10/21 13:35:28 2240 +++ trunk/grubby/new-kernel-pkg 2013/10/21 13:47:50 2241 @@ -170,7 +170,7 @@ install() { # XXX kernel should be able to be specified also (or work right on ia64) - if [ ! -f ${bootPrefix}/${kernelName}-${version} ] + if [ ! -f ${kernelImage} ] then [[ -n ${verbose} ]] && echo "kernel for ${version} does not exist, not running grubby" return @@ -195,9 +195,9 @@ if [[ -z ${initrdfile} ]] then [[ -n ${verbose} ]] && echo "No initrd, just adding system map" - /sbin/addSystemMap ${bootPrefix}/System.map-${version} ${bootPrefix}/${kernelName}-${version} ${bootPrefix}/vmlinitrd-${version} + /sbin/addSystemMap ${bootPrefix}/System.map-${version} ${kernelImage} ${bootPrefix}/vmlinitrd-${version} else - /sbin/addSystemMap ${bootPrefix}/System.map-${version} ${bootPrefix}/${kernelName}-${version} ${bootPrefix}/vmlinux.sm-${version} + /sbin/addSystemMap ${bootPrefix}/System.map-${version} ${kernelImage} ${bootPrefix}/vmlinux.sm-${version} /sbin/addRamDisk ${initrdfile} ${bootPrefix}/System.map-${version} ${bootPrefix}/vmlinux.sm-${version} ${bootPrefix}/vmlinitrd-${version} 2>/dev/null rm ${bootPrefix}/vmlinux.sm-${version} fi @@ -235,7 +235,7 @@ [[ -n ${verbose} ]] && echo "adding ${version} to ${grubConfig}" ${grubby} --grub -c ${grubConfig} \ - --add-kernel=${bootPrefix}/${kernelName}-${version} \ + --add-kernel=${kernelImage} \ ${INITRD} --copy-default ${makedefault} --title "${title}" \ ${mbkernel:+--add-multiboot="${mbkernel}"} ${mbargs:+--mbargs="${mbargs}"} \ --args="root=${rootdevice} ${kernargs}" --remove-kernel="TITLE=${title}" @@ -247,7 +247,7 @@ [[ -n ${verbose} ]] && echo "adding ${version} to ${grub2Config}" ${grubby} --grub2 -c ${grub2Config} \ - --add-kernel=${bootPrefix}/${kernelName}-${version} \ + --add-kernel=${kernelImage} \ ${INITRD} --copy-default ${makedefault} --title "${title}" \ ${mbkernel:+--add-multiboot="${mbkernel}"} \ ${mbargs:+--mbargs="${mbargs}"} \ @@ -260,7 +260,7 @@ [[ -n ${verbose} ]] && echo "adding ${version} to ${grub2EfiConfig}" ${grubby} --grub2 -c ${grub2EfiConfig} --efi \ - --add-kernel=${bootPrefix}/${kernelName}-${version} \ + --add-kernel=${kernelImage} \ ${INITRD} --copy-default ${makedefault} --title "${title}" \ ${mbkernel:+--add-multiboot="${mbkernel}"} \ ${mbargs:+--mbargs="${mbargs}"} \ @@ -273,7 +273,7 @@ then [[ -n ${verbose} ]] && echo "adding ${version} to ${liloConfig}" - ${grubby} --add-kernel=${bootPrefix}/${kernelName}-${version} ${INITRD} \ + ${grubby} --add-kernel=${kernelImage} ${INITRD} \ --copy-default ${makedefault} --title ${version} \ ${mbkernel:+--add-multiboot="${mbkernel}"} ${mbargs:+--mbargs="${mbargs}"} \ --args="root=${rootdevice} ${kernargs}" --remove-kernel="TITLE=${version}" \ @@ -298,7 +298,7 @@ [[ -n ${verbose} ]] && echo "adding ${version} to ${extlinuxConfig}" ${grubby} --extlinux -c ${extlinuxConfig} \ - --add-kernel=${bootPrefix}/${kernelName}-${version} \ + --add-kernel=${kernelImage} \ ${INITRD} --copy-default ${makedefault} --title "${title}" \ ${mbkernel:+--add-multiboot="${mbkernel}"} ${mbargs:+--mbargs="${mbargs}"} \ --args="root=${rootdevice} ${kernargs}" --remove-kernel="TITLE=${title}" @@ -313,7 +313,7 @@ if [ -d /proc/iSeries ] then [[ -n ${verbose} ]] && echo "On an iSeries, remove img file" - rm -f ${bootPrefix}/${kernelName}-${version}.img 2>/dev/null + rm -f ${kernelImage}.img 2>/dev/null return fi @@ -321,7 +321,7 @@ then [[ -n ${verbose} ]] && echo "removing ${version} from ${grubConfig}" ${grubby} --grub -c ${grubConfig} \ - --remove-kernel=${bootPrefix}/${kernelName}-${version} + --remove-kernel=${kernelImage} else [[ -n ${verbose} ]] && echo "${grubConfig} does not exist, not running grubby for grub 0.97" fi @@ -329,7 +329,7 @@ then [[ -n ${verbose} ]] && echo "removing ${version} from ${grub2Config}" ${grubby} --grub2 -c ${grub2Config} \ - --remove-kernel=${bootPrefix}/${kernelName}-${version} + --remove-kernel=${kernelImage} else [[ -n ${verbose} ]] && echo "${grub2Config} does not exist, not running grubby for grub 2" fi @@ -337,7 +337,7 @@ then [[ -n ${verbose} ]] && echo "removing ${version} from ${grub2EfiConfig}" ${grubby} --grub2 -c ${grub2EfiConfig} --efi \ - --remove-kernel=${bootPrefix}/${kernelName}-${version} + --remove-kernel=${kernelImage} else [[ -n ${verbose} ]] && echo "${grub2EfiConfig} does not exist, not running grubby grub 2 with UEFI" fi @@ -345,7 +345,7 @@ if [[ -n ${cfgLilo} ]] then [[ -n ${verbose} ]] && echo "removing ${version} from ${liloConfig}" - ${grubby} --remove-kernel=${bootPrefix}/${kernelName}-${version} --${liloFlag} + ${grubby} --remove-kernel=${kernelImage} --${liloFlag} if [[ -n ${runLilo} ]] then @@ -419,7 +419,7 @@ then [[ -n ${verbose} ]] && echo "removing ${version} from ${extlinuxConfig}" ${grubby} --extlinux -c ${extlinuxConfig} \ - --remove-kernel=${bootPrefix}/${kernelName}-${version} + --remove-kernel=${kernelImage} else [[ -n ${verbose} ]] && echo "${extlinuxConfig} does not exist, not running grubby for extlinux" fi @@ -427,7 +427,7 @@ update() { - if [ ! -f ${bootPrefix}/${kernelName}-${version} ] + if [ ! -f ${kernelImage} ] then [[ -n ${verbose} ]] && echo "kernel for ${version} does not exist, not running grubby" return @@ -449,7 +449,7 @@ then [[ -n ${verbose} ]] && echo "updating ${version} from ${grubConfig}" ${grubby} --grub -c ${grubConfig} \ - --update-kernel=${bootPrefix}/${kernelName}-${version} \ + --update-kernel=${kernelImage} \ ${INITRD} \ ${kernargs:+--args="${kernargs}"} \ ${removeargs:+--remove-args="${removeargs}"} @@ -461,7 +461,7 @@ then [[ -n ${verbose} ]] && echo "updating ${version} from ${grub2Config}" ${grubby} --grub2 -c ${grub2Config} \ - --update-kernel=${bootPrefix}/${kernelName}-${version} \ + --update-kernel=${kernelImage} \ ${INITRD} \ ${kernargs:+--args="${kernargs}"} \ ${removeargs:+--remove-args="${removeargs}"} @@ -473,7 +473,7 @@ then [[ -n ${verbose} ]] && echo "updating ${version} from ${grub2EfiConfig}" ${grubby} --grub2 -c ${grub2EfiConfig} --efi \ - --update-kernel=${bootPrefix}/${kernelName}-${version} \ + --update-kernel=${kernelImage} \ ${INITRD} \ ${kernargs:+--args="${kernargs}"} \ ${removeargs:+--remove-args="${removeargs}"} @@ -484,7 +484,7 @@ if [[ -n ${cfgLilo} ]] then [[ -n ${verbose} ]] && echo "updating ${version} from ${liloConfig}" - ${grubby} --update-kernel=${bootPrefix}/${kernelName}-${version} \ + ${grubby} --update-kernel=${kernelImage} \ ${INITRD} \ ${kernargs:+--args="${kernargs}"} \ ${removeargs:+--remove-args="${removeargs}"} \ @@ -511,7 +511,7 @@ [[ -n ${verbose} ]] && echo "creating uImage-${version}" mkimage -A arm -O linux -T kernel -C none -a ${ubootAddress} \ -e ${ubootAddress} -n ${version} \ - -d ${bootPrefix}/${kernelName}-${version} ${ubootDir}/uImage-${version} + -d ${kernelImage} ${ubootDir}/uImage-${version} [[ -n ${verbose} ]] && echo "creating uInitrd-${version}" mkimage -A arm -O linux -T ramdisk -C none -a 0 -e 0 \ @@ -541,7 +541,7 @@ then [[ -n ${verbose} ]] && echo "updating ${version} from ${extlinuxConfig}" ${grubby} --extlinux -c ${extlinuxConfig} \ - --update-kernel=${bootPrefix}/${kernelName}-${version} \ + --update-kernel=${kernelImage} \ ${INITRD} \ ${kernargs:+--args="${kernargs}"} \ ${removeargs:+--remove-args="${removeargs}"} @@ -697,6 +697,22 @@ addplymouthinitrd=--add-plymouth-initrd ;; + --kernel-image*) + if [[ $1 == --kernel-image\=* ]] + then + kernelImage=${1#--kernel-image=} + else + kernelImage="$2" + shift + fi + if ! [[ -f ${kernelImage} ]] + then + echo "Can't find kernel image '${kernelImage}'" >&2 + usage + exit 1 + fi + ;; + -v) verbose=-v ;; @@ -744,6 +760,8 @@ fi fi +[[ ${kernelImage} ]] || kernelImage="${bootPrefix}/${kernelName}-${version}" + # set the initrd file based on arch; ia64 is the only currently known oddball if [[ -z ${initrdfile} ]] then