Skip to content

Instantly share code, notes, and snippets.

@rjarry
Last active August 29, 2015 14:05
Show Gist options
  • Save rjarry/45bf64c9611b0aba10da to your computer and use it in GitHub Desktop.
Save rjarry/45bf64c9611b0aba10da to your computer and use it in GitHub Desktop.
new-kernel-pkg_grub-mkconfig
--- a/sbin/new-kernel-pkg 2014-08-28 14:31:33.850957813 +0200
+++ b/sbin/new-kernel-pkg 2014-08-28 15:08:01.832738130 +0200
@@ -23,7 +23,7 @@
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#
-PATH=/sbin:/bin:$PATH
+PATH=/sbin:/bin:/usr/sbin:$PATH
lilo=/sbin/lilo
@@ -42,6 +42,7 @@ cfgGrub=""
cfgLilo=""
runLilo=""
grubConfig=""
+grubMkConfig=$(which grub-mkconfig)
ARCH=$(uname -m)
@@ -138,6 +139,11 @@ install() {
return
fi
+ if [ -n "$cfgGrub2" ]; then
+ $grubMkConfig -o /boot/grub/grub.cfg
+ return $?
+ fi
+
# get the root filesystem to use
rootdevice=$(awk '{ if ($1 !~ /^[ \t]*#/ && $2 == "/") { print $1; }}' /etc/fstab)
@@ -214,6 +220,11 @@ remove() {
$f $version $bootPrefix/$kernelName-$version
done
+ if [ -n "$cfgGrub2" ]; then
+ $grubMkConfig -o /boot/grub/grub.cfg
+ return $?
+ fi
+
if [ -n "$cfgGrub" ]; then
[ -n "$verbose" ] && echo "removing $version from $grubConfig"
$grubby --remove-kernel=$bootPrefix/$kernelName-$version
@@ -255,6 +266,11 @@ update() {
fi
fi
+ if [ -n "$cfgGrub2" ]; then
+ $grubMkConfig -o /boot/grub/grub.cfg
+ return $?
+ fi
+
if [ -n "$cfgGrub" ]; then
[ -n "$verbose" ] && echo "updating $version from $grubConfig"
$grubby --update-kernel=$bootPrefix/$kernelName-$version \
@@ -460,6 +476,11 @@ if [ $ARCH = 'ppc64' -o $ARCH = 'ppc' ];
fi
fi
+if [ -n "$grubMkConfig" ] && [ -x "$grubMkConfig" ]; then
+ cfgGrub2=1
+ dracut=--dracut
+ [ -z "$initrd" ] && initrd=make
+fi
# set the initrd file based on arch; ia64 is the only currently known oddball
if [ -z "$initrdfile" ]; then
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment