This is an old revision of the document!
y –update-kernel=$bootPrefix/$kernelName-$version \
$INITRD \ ${kernargs:+--args="$kernargs"} \ ${removeargs:+--remove-args="$removeargs"} \ --$liloFlag
if [ -n "$runLilo" ]; then [ -n "$verbose" ] && echo "running $lilo" if [ ! -x $lilo ] ; then [ -n "$verbose" ] && echo "$lilo does not exist" else $lilo > /dev/null fi fi else [ -n "$verbose" ] && echo "$liloConfig does not exist, not running grubby" fi
}
mkinitrd() {
if [ -n "$dracut" ]; then tool="/sbin/dracut $dracuthostonly -f $initrdfile $version" else tool="/sbin/mkinitrd --allow-missing -f $initrdfile $version" fi [ -n "$verbose" ] && echo "creating initrd: $tool" $tool rc=$? if [ $rc != 0 ]; then echo "mkinitrd failed" >&2 exit 1 fi
}
rminitrd() {
[ -n "$verbose" ] && echo "removing initrd $initrdfile" [ -f $initrdfile ] && rm -f $initrdfile
}
doDepmod() {
[ -n "$verbose" ] && echo "running depmod for $version" depmod -ae -F /boot/System.map-$version $version
}
doRmmoddep() {
[ -n "$verbose" ] && echo "removing modules.dep info for $version" [ -d /lib/modules/$version ] && rm -f /lib/modules/$version/modules.*
}
while [ $# -gt 0 ]; do
case $1 in --mkinitrd) initrd="make" ;;
- -rminitrd)
initrd=“remove”
;;
- -dracut)
dracut=–dracut
;;
- -host-only)
dracuthostonly=-H
;;
- -initrdfile*)
if echo $1 | grep '=' >/dev/null ; then
initrdfile=`echo $1 | sed 's/^--initrdfile=//'` else initrdfile=$2 shift fi ;;
- -kernel-args*)
if echo $1 | grep '=' >/dev/null ; then
kernargs=`echo $1 | sed 's/^--kernel-args=//'` else kernargs=$2 shift fi ;;
- -remove-args*)
if echo $1 | grep '=' >/dev/null ; then
removeargs=`echo $1 | sed 's/^--remove-args=//'` else removeargs=$2 shift fi ;;
- -banner*)
if echo $1 | grep '=' >/dev/null ; then
banner=`echo $1 | sed 's/^--banner=//'` else banner=$2 shift fi ;;
- -multiboot*)
if echo $1 |grep '=' >/dev/null; then
mbkernel=`echo $1 | sed 's/^--multiboot=//'` else # can't really support having an optional second arg here # sorry! mbkernel="/boot/xen.gz" fi ;;
- -mbargs*)
if echo $1 |grep '=' >/dev/null; then
mbargs=`echo $1 | sed 's/^--mbargs=//'` else mbargs="$2" shift fi ;;
- -depmod)
moddep=“make”
;;
- -rmmoddep)
moddep=“remove”
;;
- -make-default)
makedefault=“–make-default”
;;
- -package)
if echo $1 | grep '=' >/dev/null ; then
package=`echo $1 | sed 's/^--package=//'` else package=$2 shift fi ;;
- -add-dracut-args)
adddracutargs=–add-dracut-args
;;
- -add-plymouth-initrd)
addplymouthinitrd=–add-plymouth-initrd
;;
- v)
verbose=-v
;;
- )
if [ -z “$mode” ]; then
mode=$1 elif [ -z "$version" ]; then version=$1 else usage fi ;; esac
shift
done
# make sure the mode is valid if [ “$mode" != "--install" -a "$mode” != “–remove” -a “$mode" != "--update" -a "$mode” != “–rpmposttrans” ] ; then
usage
fi
if [ -z “$version” ]; then
usage
fi
if [ “$mode" != "--install" -a "$makedefault” ]; then
usage
fi
kernelmajor=`echo $kernel | cut -d . -f 1,2`
# kernel image for 2.4 is vmlinux if [ $ARCH = 'ppc64' -o $ARCH = 'ppc' ]; then
if [ "$kernelmajor" == "2.4" ]; then kernelName=vmlinux fi
fi
# set the initrd file based on arch; ia64 is the only currently known oddball if [ -z “$initrdfile” ]; then
INITRD_NAME_PREFIX="initrd" if [ -n "$dracut" ]; then INITRD_NAME_PREFIX="initramfs" fi
if [ `uname -m` = "ia64" ]; then initrdfile="/boot/efi/EFI/redhat/$INITRD_NAME_PREFIX-$version.img" else initrdfile="/boot/$INITRD_NAME_PREFIX-$version.img" fi
fi [ -n “$verbose" ] && echo "initrdfile is $initrdfile”
# add dracut i18n, keyboard and plymouth kernel args if requested if [ -n “$dracut" -o -n "$adddracutargs” ]; then
[ -r /etc/sysconfig/keyboard ] && . /etc/sysconfig/keyboard [ -r /etc/sysconfig/i18n ] && . /etc/sysconfig/i18n
for i in SYSFONT SYSFONTACM UNIMAP LANG KEYTABLE; do val=$(eval echo \$$i) [ -n "$val" ] && kernargs="$kernargs $i=$val" done
if [ -n "$KEYBOARDTYPE" -a "$KEYBOARDTYPE" != "pc" ]; then kernargs="$kernargs KEYBOARDTYPE=$KEYBOARDTYPE" fi
fi
# set this as the default if we have the package and it matches if [ “$mode" == "--install" -a "$UPDATEDEFAULT” == “yes” -a -n “$package" -a -n "$DEFAULTKERNEL” -a “$package" == "$DEFAULTKERNEL” ]; then
makedefault="--make-default" [ -n "$verbose" ] && echo "making it the default based on config"
fi
if [ “$moddep” == “make” ]; then
doDepmod
elif [ “$moddep” == “remove” ]; then
doRmmoddep
fi
if [ “$initrd” == “make” ]; then
mkinitrd
elif [ “$initrd” == “remove” ]; then
rminitrd
fi
if [ ! -x $grubby ] ; then
[ -n "$verbose" ] && echo "$grubby does not exist" exit 0
fi
[ -n “$grubConfig" ] && [ -f "$grubConfig” ] && cfgGrub=1; [ -n “$liloConfig" ] && [ -f "$liloConfig” ] && cfgLilo=1;
# if we have a lilo config on an x86 box, see if the default boot loader # is lilo to determine if it should be run if [ -n “$cfgLilo" -a -n "$isx86” ]; then
runLilo=$($grubby --bootloader-probe | grep lilo)
fi
if [ “$mode” == “–install” ]; then
install
elif [ “$mode” == “–remove” ]; then
remove
elif [ “$mode” == “–update” ]; then
update
elif [ “$mode” == “–rpmposttrans” ]; then
rpmposttrans
fi
exit 0