--- trunk/grubby/new-kernel-pkg 2016/06/30 10:35:55 2993 +++ trunk/grubby/new-kernel-pkg 2017/06/27 14:26:38 3006 @@ -295,8 +295,8 @@ --title=\"${title}\${debugtitle}\" --copy-default \ --args=\"root=${rootdevice} ${kernargs} \${debugargs}\" \ --remove-kernel=\"TITLE=${title}\${debugtitle}\"" - rungrubby --debug ${ARGS} rungrubby ${ARGS} ${makedefault} + rungrubby --debug ${ARGS} else [[ -n ${verbose} ]] && echo "${grubConfig} does not exist, not running grubby for grub 0.97" fi @@ -310,8 +310,8 @@ ${mbargs:+--mbargs=\"${mbargs}\"} \ --args=\"root=${rootdevice} ${kernargs} \${debugargs}\" \ --remove-kernel=\"TITLE=${title}\${debugtitle}\"" - rungrubby --debug ${ARGS} rungrubby ${ARGS} ${makedefault} + rungrubby --debug ${ARGS} else [[ -n ${verbose} ]] && echo "${grub2Config} does not exist, not running grubby for grub 2" fi @@ -326,8 +326,8 @@ ${mbargs:+--mbargs=\"${mbargs}\"} \ --args=\"root=${rootdevice} ${kernargs} \${debugargs}\" \ --remove-kernel=\"TITLE=${title}\${debugtitle}\"" - rungrubby --debug ${ARGS} rungrubby ${ARGS} ${makedefault} + rungrubby --debug ${ARGS} else [[ -n ${verbose} ]] && echo "${grub2EfiConfig} does not exist, not running grubby for grub 2 with UEFI" fi @@ -342,8 +342,8 @@ ${mbargs:+--mbargs=\"${mbargs}\"} \ --args=\"root=${rootdevice} ${kernargs} \${debugargs}\" \ --remove-kernel=\"TITLE=${version}\"" - rungrubby --debug ${ARGS} rungrubby ${ARGS} ${makedefault} + rungrubby --debug ${ARGS} if [[ -n ${runLilo} ]] then @@ -370,8 +370,8 @@ ${mbargs:+--mbargs=\"${mbargs}\"} \ --args=\"root=${rootdevice} ${kernargs} \${debugargs}\" \ --remove-kernel=\"TITLE=${title}\${debugtitle}\"" - rungrubby --debug ${ARGS} rungrubby ${ARGS} ${makedefault} + rungrubby --debug ${ARGS} else [[ -n ${verbose} ]] && echo "${extlinuxConfig} does not exist, not running grubby for extlinux" fi @@ -540,8 +540,8 @@ ${removeargs:+--remove-args=\"${removeargs}\"} \ ${mbkernel:+--add-multiboot=\"${mbkernel}\"} \ --title=\"${title}\${debugtitle}\"" - rungrubby --debug ${ARGS} rungrubby ${ARGS} + rungrubby --debug ${ARGS} else [[ -n ${verbose} ]] && echo "${grubConfig} does not exist, not running grubby" fi @@ -553,8 +553,8 @@ ${kernargs:+--args=\"${kernargs}\"} \ ${removeargs:+--remove-args=\"${removeargs}\"} \ --title=\"${title}\${debugtitle}\"" - rungrubby --debug ${ARGS} rungrubby ${ARGS} + rungrubby --debug ${ARGS} else [[ -n ${verbose} ]] && echo "${grub2Config} does not exist, not running grubby" fi @@ -566,8 +566,8 @@ ${INITRD} ${kernargs:+--args=\"${kernargs}\"} \ ${removeargs:+--remove-args=\"${removeargs}\"} \ --title=\"${title}\${debugtitle}\"" - rungrubby --debug ${ARGS} rungrubby ${ARGS} + rungrubby --debug ${ARGS} else [[ -n ${verbose} ]] && echo "${grub2EfiConfig} does not exist, not running grubby" fi @@ -579,8 +579,8 @@ ${kernargs:+--args=\"${kernargs}\"} \ ${removeargs:+--remove-args=\"${removeargs}\"} \ --title=\"${title}\${debugtitle}\"" - rungrubby --debug ${ARGS} rungrubby ${ARGS} + rungrubby --debug ${ARGS} if [[ -n ${runLilo} ]] then @@ -637,8 +637,8 @@ ${DEVTREE} ${DEVTREEDIR} ${INITRD} ${kernargs:+--args=\"${kernargs}\"} \ ${removeargs:+--remove-args=\"${removeargs}\"} \ --title=\"${title}\${debugtitle}\"" - rungrubby --debug ${ARGS} rungrubby ${ARGS} + rungrubby --debug ${ARGS} else [[ -n ${verbose} ]] && echo "${extlinuxConfig} does not exist, not running grubby" fi @@ -924,49 +924,22 @@ fi [[ -n ${verbose} ]] && echo "devtreedir is ${devtreedir}" -# add dracut i18n, keyboard and plymouth kernel args if requested -if [[ -n ${dracut} ]] || [[ -n ${adddracutargs} ]] -then - if [ -r /etc/vconsole.conf ] - then - . /etc/vconsole.conf - - for i in SYSFONT SYSFONTACM UNIMAP KEYTABLE - do - val=$(eval echo \$$i) - [[ -n ${val} ]] && kernargs="${kernargs} ${i}=${val}" - done - else - if [ -r /etc/conf.d/consolefont ] - then - . /etc/conf.d/consolefont - - if [[ -n ${CONSOLEFONT} ]] - then - kernargs="${kernargs} SYSFONT=${CONSOLEFONT}" - fi - fi - - if [ -r /etc/conf.d/keymap ] - then - . /etc/conf.d/keymap - - if [[ -n ${KEYMAP} ]] - then - kernargs="${kernargs} KEYTABLE=${KEYMAP}" - fi - fi - fi - - if [ -r /etc/locale.conf ] - then - . /etc/locale.conf - - if [[ -n ${LANG} ]] - then - kernargs="${kernargs} LANG=${LANG}" - fi - fi +# add dracut kernel args if requested +if [[ -n ${dracut} ]] && [[ -n ${adddracutargs} ]] + [ -r /etc/vconsole.conf ] && . /etc/vconsole.conf + [ -r /etc/locale.conf ] && . /etc/locale.conf + + while read opt rd_opt + do + [ -n "${!opt}" ] && kernargs="$kernargs $rd_opt=\"${!opt}\"" + done <<< 'KEYMAP rd.vconsole.keymap + FONT rd.vconsole.font + FONT_MAP rd.vconsole.font.map + FONT_UNIMAP rd.vconsole.font.unimap + UNICODE rd.vconsole.font.unicode + EXT_KEYMAP rd.vconsole.keymap.ext + LANG rd.locale.LANG + LC_ALL rd.locale.LC_ALL' fi # set this as the default if we have the package and it matches @@ -1061,4 +1034,13 @@ # if we mounted the U-Boot directory, unmount it. [[ -n ${mounted} ]] && umount ${ubootDir} +# make sure changes make it to the disk. +# if /boot is a mountpoint, force the meta data on disk +# to by-pass writeback delay. +# PPC64LE-only to deal with Petitboot issues +if [[ ${ARCH} = ppc64le ]] +then + sync && mountpoint -q /boot && fsfreeze -f /boot && fsfreeze -u /boot +fi + exit 0