grub2-mkconfig - trying to update menu

I want to change the menu on a Suse 12 Enterprise system.
I edit the /etc/default zip12grub.conf file execure grug2-mkconfig. Then reboot the system and no changes occur. The zip12grub.conf seems like the correct file to update so I am at a loss as to what the correct process would be.

cat zipl2grub.conf

This is the template for ‘@zipldir@/config’ and is subject to

rpm’s %config file handling in case of grub2-s390x-emu package update.

[defaultboot]
defaultmenu = menu

[grub2]
target = @zipldir@
ramdisk = @zipldir@/initrd,0x2000000
image = @zipldir@/image
parameters = "root=@GRUB_DEVICE@ @GRUB_EMU_CONMODE@ @GRUB_CMDLINE_LINUX@ @GRUB_CMDLINE_LINUX_DEFAULT@ initgrub quiet splash=silent "

[skip-grub2]
target = @zipldir@
ramdisk = @zipldir@/initrd,0x2000000
image = @zipldir@/image
parameters = "root=@GRUB_DEVICE@ @GRUB_CONMODE@ @GRUB_CMDLINE_LINUX@ @GRUB_CMDLINE_LINUX_DEFAULT@ "

[test-grub2]
target = @zipldir@
ramdisk = @zipldir@/initrd,0x2000000
image = @zipldir@/image
parameters = "root=@GRUB_DEVICE@ @GRUB_CONMODE@ @GRUB_CMDLINE_LINUX@ @GRUB_CMDLINE_LINUX_DEFAULT@ "

:menu
target = @zipldir@
timeout = 16
default = 1
prompt = 1
1 = grub2
2 = skip-grub2
3 = test menu grub2

grub2-mkconfig -o /boot/grub2/grub.cfg

Generating grub configuration file …
Found linux image: /boot/image-3.12.39-47-default
Found initrd image: /boot/initrd-3.12.39-47-default
Found linux image: /boot/image-3.12.28-4-default
Found initrd image: /boot/initrd-3.12.28-4-default
done

reboot

Storage cleared - system reset.
zIPL v1.24.1-38.17 interactive boot menu

  1. default (grub2)

  2. grub2

  3. skip-grub2

Note: VM users please use '#cp vi vmsg ’

Please choose (default will boot in 16 seconds):
Booting default (grub2)

mikenash,

It appears that in the past few days you have not received a response to your
posting. That concerns us, and has triggered this automated reply.

Has your issue been resolved? If not, you might try one of the following options:

Be sure to read the forum FAQ about what to expect in the way of responses:
http://forums.suse.com/faq.php

If this is a reply to a duplicate posting, please ignore and accept our apologies
and rest assured we will issue a stern reprimand to our posting bot.

Good luck!

Your SUSE Forums Team
http://forums.suse.com

I think I got things working but not seemless. I update /etc/fstab to use the new changed device address. Executed grub2-zipl-setup, grub2-mkconfig -o /boot/grub2/grub.cfg and finally mkinitrd. Not sure why mkinitrd was needed because I would have expected grub2-mkconfig to do this. To use the original address I update /etc/fstab and execute the three commands and performed earlier.

Mike,

I installed SLES 12 in a sandbox environment and ran into the same issues. My SLES 11 systems display the boot menu for 3 seconds and I wanted this to be the same in SLES 12. There are now 2 boot menus displayed, one by zipl and the other by grub2. I needed to modify the timeout and pass parameters to Linux at boot time as my Linux systems run on System z under z/VM.

Here is what I did.

Change the time that the zipl boot menu is displayed.
cd /etc/default/
cp -p zipl2grub.conf.in zipl2grub.conf.in.orig
vi zipl2grub.conf.in
Change the value of ‘timeout=’ from 16 to 3.
:wq

Rebuild the zipl boot loader.
/usr/sbin/grub2-zipl-setup

Change the time that the grub boot menu is displayed.
cp -p /etc/default/grub /etc/default/grub.orig
vi /etc/default/grub
Change the value of ‘GRUB_TIMEOUT=’ from 8 to 3.
:wq

Update the grub boot parameters.
YaST  System  Boot Loader
The ‘Boot Loader Settings’ screen will be displayed with menu item ‘Boot Code Options’ selected.

Press the right arrow to select menu item ‘Kernel Parameters’.

Tab to ‘Optional Kernel Command Line Parameter’ and change the line to
TERM=dumb resume=/dev/disk/by-path/ccw-0.0.0301-part1 broadcast=10.78.240.239 crashkernel=204M-:102M cio_ignore=all,!ipldev,!condev fixedbuffers vmpoff=LOGOFF

Tab to ‘Failsafe Kernel Command Line Parameter’ and change the line to
hvc_iucv=8 TERM=dumb noresume x11failsafe crashkernel=204M-:102M fixedbuffers vmpoff=LOGOFF

[ OK ]
[Quit]

Note: this process updates /etc/default/grub as well as other files and should keep the above changes when a new kernel is installed. If changing files manually, you will need to run the grub2-mkconfig script.

Harley

Hello Harley, thank you for your reply. My stategy was to first create process with a new menu item with the changed IPL address. Then create the process just to update the address of the IPL volume. I was able to do this but I believe I have uncovered a couple of defects.

The change with the menu process involved changing the /etc/default/zipl2grub.conf.in, /etc/fstab, and
/etc/default/grub files. Update the bootloader and execute the grub2-zipl-setup, grub2-mkconfig and
mkinitrd commands.

The ipl address change process was much simpler. Update /etc/fstab and the bootloader then execute
the grub2-zipl-setup, grub2-mkconfig and mkinitrd commands.

The first defect is documentation for the command grub2-zipl-setup. I could not find any reference to
grub2-zipl-setup documentation. There is no zipl.conf file and this command is the replacement for the
zipl command on Suse 12. It needs to be documented.

The second is the command grub2-mkconfig. does not work as I expect it to work After using this
command I am still unable to successfully ipl a system using the grub2 menu. I am forced to bypass
this menu to successfully ipl. I can successfully ipl a system using the grub2 menu after I execute the
mkinitrd command. I believe the grub2-mkconfig command is a replacement on Suse 12 for the
mkinitrd command and should not be required on Suse 12.

I could have mis-interpreted this ipl address change process so I would greatly appreciate all reviews,
questions, and opinions on this matter.