--- trunk/grubby/new-kernel-pkg 2013/10/21 13:52:07 2244 +++ trunk/grubby/new-kernel-pkg 2014/07/16 10:40:51 2686 @@ -116,6 +116,7 @@ then liloConfig="" bootPrefix=/boot + extlinuxConfig=$(readlink -f /etc/extlinux.conf 2>/dev/null) ubootDir=${UBOOT_DIR:-"/boot"} ubootScript=$ubootDir/${UBOOT_SCR:-"boot.scr"} ubootKList=${UBOOT_KLIST:-"klist.txt"} @@ -144,6 +145,7 @@ dracut="" dracuthostonly="" initrdfile="" +devtreefile="" moddep="" verbose="" makedefault="" @@ -161,7 +163,7 @@ echo " [--banner=] [--multiboot=multiboot]" >&2 echo " [--mbargs=mbargs] [--make-default] [--add-dracut-args]" >&2 echo " [--add-plymouth-initrd]" >&2 - echo " [--host-only]" >&2 + echo " [--host-only] [--devtree=]" >&2 echo " <--install | --remove | --update> " >&2 echo " (ex: $(basename $0) --mkinitrd --depmod --install 2.4.7-2)" >&2 exit 1 @@ -188,6 +190,13 @@ fi fi + DEVTREE="" + if [ -f ${devtreefile} ] + then + [[ -n ${verbose} ]] && echo "found ${devtreefile} and using it with grubby" + DEVTREE="--devtree ${devtreefile}" + fi + # FIXME: is this a good heuristic to find out if we're on iSeries? if [ -d /proc/iSeries ] then @@ -219,8 +228,16 @@ if [[ -n ${banner} ]] then - title="${banner} [ ${version} ]" - elif [[ $(read_os_release id) = magellan ]] + if [[ ${ARCH} = s390 ]] || [[ ${ARCH} = s390x ]] + then + title=$(echo ${banner} | sed 's/ /_/g') + else + title="${banner} [ ${version} ]" + fi + elif [[ ${ARCH} = s390 ]] || [[ ${ARCH} = s390x ]] + then + title=$(echo ${version} | sed 's/ /_/g') + elif [ -f /etc/os-release ] then title="$(read_os_release name) $(read_os_release version_id) [ ${version} ]" elif [ -f /etc/mageversion ] @@ -260,7 +277,7 @@ [[ -n ${verbose} ]] && echo "adding ${version} to ${grub2EfiConfig}" ${grubby} --grub2 -c ${grub2EfiConfig} --efi \ - --add-kernel=${kernelImage} \ + --add-kernel=${kernelImage} ${DEVTREE} \ ${INITRD} --copy-default ${makedefault} --title "${title}" \ ${mbkernel:+--add-multiboot="${mbkernel}"} \ ${mbargs:+--mbargs="${mbargs}"} \ @@ -274,7 +291,7 @@ [[ -n ${verbose} ]] && echo "adding ${version} to ${liloConfig}" ${grubby} --add-kernel=${kernelImage} ${INITRD} \ - --copy-default ${makedefault} --title ${version} \ + --copy-default ${makedefault} --title "${title}" \ ${mbkernel:+--add-multiboot="${mbkernel}"} ${mbargs:+--mbargs="${mbargs}"} \ --args="root=${rootdevice} ${kernargs}" --remove-kernel="TITLE=${version}" \ --${liloFlag} @@ -404,6 +421,7 @@ fi mv ${tmpKList} ${ubootDir}/${ubootKList} + [ -x /sbin/a-b-c ] && /sbin/a-b-c else [[ -n ${verbose} ]] && echo "uImage ${newversion} does not exist!" [ -f ${tmpKList} ] && rm -f ${tmpKList} @@ -452,7 +470,8 @@ --update-kernel=${kernelImage} \ ${INITRD} \ ${kernargs:+--args="${kernargs}"} \ - ${removeargs:+--remove-args="${removeargs}"} + ${removeargs:+--remove-args="${removeargs}"} \ + ${mbkernel:+--add-multiboot="${mbkernel}"} else [[ -n ${verbose} ]] && echo "${grubConfig} does not exist, not running grubby" fi @@ -530,6 +549,7 @@ [[ -n ${verbose} ]] && echo "copy uInitrd-${version} error, kernel not installed!" && exit fi echo ${version} >> ${ubootDir}/${ubootKList} + [ -x /sbin/a-b-c ] && /sbin/a-b-c else [[ -n ${verbose} ]] && echo "cannot make ${version} the default" fi @@ -602,6 +622,16 @@ initrd="remove" ;; + --devtree*) + if [[ $1 == --devtree\=* ]] + then + devtreefile="${1#--devtreefile=}" + else + devtreefile="$2" + shift + fi + ;; + --dracut) dracut=--dracut ;;