Bug 17797 - grub2 cfg file is not updated after new kernel installation
Summary: grub2 cfg file is not updated after new kernel installation
Status: RESOLVED INVALID
Alias: None
Product: Mageia
Classification: Unclassified
Component: RPM Packages (show other bugs)
Version: Cauldron
Hardware: x86_64 Linux
Priority: Normal normal
Target Milestone: ---
Assignee: Mageia Bug Squad
QA Contact:
URL:
Whiteboard:
Keywords: NEEDINFO
Depends on:
Blocks:
 
Reported: 2016-02-20 01:31 CET by Piotr Mierzwinski
Modified: 2016-03-05 23:52 CET (History)
3 users (show)

See Also:
Source RPM: kernel-4.4.2-1.mga6.src.rpm
CVE:
Status comment:


Attachments
journalctl from 20/02/2016 (714.67 KB, text/plain)
2016-02-21 22:24 CET, Piotr Mierzwinski
Details
journalctl_20160226 with kernel-desktop-4.4.2-2.mga6 (219.67 KB, text/plain)
2016-02-26 23:48 CET, Piotr Mierzwinski
Details

Description Piotr Mierzwinski 2016-02-20 01:31:01 CET
Description of problem:
Description of problem:
As boot manager I'm using grub2.
Today (2016-02-20 just after midnight) I installed all updates (including new kernel in version 4.4.2) for Mageia Cauldron. After restart I could not find new kernel in boot m
enu. When system up with older kernel turned out that grub.cfg file (located in: /boot/grub2/grub.cfg) has not been updated.

# pwd
/boot/grub2
# ls -l grub.cfg
-rw------- 1 root root 30003 lut  6 21:11 grub.cfg

In the moment of reporting this bug the latest stable kernel was: 4.4.2, while my previous was 4.4.1.

# rpm -qa | grep ^kernel
kernel-userspace-headers-4.4.2-1.mga6
kernel-firmware-20151120-1.mga6
kernel-desktop-latest-4.4.2-1.mga6
kernel-desktop-4.4.1-1.mga6-1-1.mga6
kernel-desktop-4.4.2-1.mga6-1-1.mga6
kernel-desktop-devel-4.4.1-1.mga6-1-1.mga6
kernel-desktop-devel-latest-4.4.2-1.mga6
kernel-firmware-nonfree-20160127-1.mga6.nonfree
kernel-desktop-devel-4.4.2-1.mga6-1-1.mga6

I expected that after installation latest kernel, will be execute following command:
$ grub2-mkconfig -o /boot/grub2/grub.cfg
Now I have to do it manually to get new kernel in (grub2) boot menu.


Version-Release number of selected component (if applicable):
kernel-desktop-devel-4.4.2-1.mga6-1-1.mga6

How reproducible:
Update system when updates contains newer kernel than installed.

Version-Release number of selected component (if applicable):


How reproducible:
Update the system when in updates contains newest (than already installed) kernel.


Reproducible: 

Steps to Reproduce:
Comment 1 Marja Van Waes 2016-02-20 09:57:12 CET
It worked fine, here, see the output below (in the updates directory I keep copies from the output when running "urpmi --auto-update")

[marja@cldrn_64 ~]$ grep "kernel-desktop-4.4.2" updates/*
updates/201602181609:  kernel-desktop-4.4.2-1.mga6    1            1.mga6        x86_64  
updates/201602181609:installeren van kernel-desktop-4.4.2-1.mga6-1-1.mga6.x86_64.rpm wayland-protocols-devel-1.1-1.mga6.noarch.rpm lib64kf5activities-devel-5.19.0-2.mga6.x86_64.rpm kernel-userspace-headers-4.4.2-1.mga6.x86_64.rpm kactivities-5.19.0-2.mga6.x86_64.rpm lib64kf5activities5-5.19.0-2.mga6.x86_64.rpm vanaf /RedHD2/mageia/distrib/cauldron/x86_64/media/core/release                           
updates/201602181609:    24/32: kernel-desktop-4.4.2-1.mga6
updates/201602181609:U dient uw computer te herstarten voor kernel-desktop-4.4.2-1.mga6
[marja@cldrn_64 ~]$ ls -al /boot/grub2 | grep "grub.cfg"
-rw------- 1 root root 32418 feb 18 16:13 grub.cfg
-rw------- 1 root root 30626 feb 14 11:03 grub.cfg.old
[marja@cldrn_64 ~]$ uname -r
4.4.2-desktop-1.mga6
[marja@cldrn_64 ~]$

Please attach journalctl.txt that is the result of (as root):

 journalctl -a --since="2016-02-20" --until="2016-02-20 01:30" > journalctl.txt

Keywords: (none) => NEEDINFO
CC: (none) => marja11, zen25000

Comment 2 Piotr Mierzwinski 2016-02-21 22:10:41 CET
OK. To update Mageia6 I used MageiaUpdate tool run manually (BTW mgaapplet icon in toolbar of Plasma5 session doesn't respond on clicking).

I attached journalctl log running your command a bit fixed (day in "--until")
journalctl -a --since="2016-02-20" --until="2016-02-21 01:30" > journalctl_20160220.txt

Apart from Mageia 6 I have also installed on the same disk Ubuntu 15.10 (with kernel-4.4.2) and Mageia5 (grub2 config file is updated after kernel installation).
Comment 3 Piotr Mierzwinski 2016-02-21 22:24:11 CET
Created attachment 7481 [details]
journalctl from 20/02/2016
Comment 4 Marja Van Waes 2016-02-22 10:58:07 CET
(In reply to Piotr Mierzwinski from comment #0)

> Description of problem:
> As boot manager I'm using grub2.
> Today (2016-02-20 just after midnight) I installed all updates (including
> new kernel in version 4.4.2) for Mageia Cauldron. After restart I could not
> find new kernel in boot menu.

(In reply to Piotr Mierzwinski from comment #2)
> OK. To update Mageia6 I used MageiaUpdate tool run manually (BTW mgaapplet
> icon in toolbar of Plasma5 session doesn't respond on clicking).
> 
> I attached journalctl log running your command a bit fixed (day in "--until")
> journalctl -a --since="2016-02-20" --until="2016-02-21 01:30" >
> journalctl_20160220.txt
>

You reported this bug on 2016-02-20 01:31 for my time zone, but I was wrong to assume you're in the same time zone as me, so it was good you extended the --until time.

However, in the output you attached, I cannot find something that contains

  install kernel-desktop-4.4.2-1.mga6-1-1.mga6.x86_64

Maybe you installed that kernel before midnight, so on 2016-02-19? What we need is the part from the start till the end of the "Transaction ID" in which that kernel got installed.

So if the last line containing "Transaction ID" and "started" before the kernel got installed was something like:
"lut 21 01:27:54 SkyLake-i7 [RPM][7973]: Transaction ID 56c9048a started"
then you need the part until  you see transaction 56c9048a is done, so until a line with "Transaction ID 56c9048a finished"

btw, are you using both grub2 and lilo? I saw both grub2 and lilo debug lines in your attachment, I've never seen lilo debug lines in any of my Mageias.
Comment 5 Piotr Mierzwinski 2016-02-26 23:46:24 CET
OK. Today I did update again. On the list (current updates) there was kernel-desktop-4.4.2-2. Again grub.cfg file from grub2 hasn't been updated. Recently I did it manually using mentioned before command.

$ ls -l grub.cfg 
-rw------- 1 root root 28095 lut 20 01:31 grub.cfg

$ pwd
/boot/grub2

$ ls -l | grep -v ^d
razem 54261
-rw-r--r-- 1 root root   171324 cze 13  2015 config-3.19.8-desktop-3.mga5
-rw-r--r-- 1 root root   181122 lut 17 22:44 config-4.4.2-desktop-1.mga6
-rw-r--r-- 1 root root   180610 lut 25 18:54 config-4.4.2-desktop-2.mga6
-rw-r--r-- 1 root root   184380 lis 16 01:36 elf-memtest86+-5.01
-rwxr-xr-x 1 root root   562176 gru 17 02:04 gfxmenu*
-rw------- 1 root root  9267359 gru 16 22:49 initrd-3.19.8-desktop-3.mga5.img
-rw------- 1 root root 10402948 lut 20 00:00 initrd-4.4.2-desktop-1.mga6.img
-rw------- 1 root root 10404797 lut 26 23:11 initrd-4.4.2-desktop-2.mga6.img
lrwxrwxrwx 1 root root       31 lut 26 23:11 initrd-desktop.img -> initrd-4.4.2-desktop-2.mga6.img
lrwxrwxrwx 1 root root       31 lut 26 23:11 initrd.img -> initrd-4.4.2-desktop-2.mga6.img
-rw-r--r-- 1 root root   182704 lis 16 01:36 memtest.bin
-rw-r--r-- 1 root root   245392 cze 13  2015 symvers-3.19.8-desktop-3.mga5.xz
-rw-r--r-- 1 root root   255052 lut 17 22:44 symvers-4.4.2-desktop-1.mga6.xz
-rw-r--r-- 1 root root   254676 lut 25 18:54 symvers-4.4.2-desktop-2.mga6.xz
-rw-r--r-- 1 root root  3224453 cze 13  2015 System.map-3.19.8-desktop-3.mga5
-rw-r--r-- 1 root root  3380068 lut 17 22:44 System.map-4.4.2-desktop-1.mga6
-rw-r--r-- 1 root root  3374938 lut 25 18:54 System.map-4.4.2-desktop-2.mga6
lrwxrwxrwx 1 root root       28 lut 26 23:11 vmlinuz -> vmlinuz-4.4.2-desktop-2.mga6
-rw-r--r-- 1 root root  4342080 cze 13  2015 vmlinuz-3.19.8-desktop-3.mga5
-rw-r--r-- 1 root root  4442816 lut 17 22:44 vmlinuz-4.4.2-desktop-1.mga6
-rw-r--r-- 1 root root  4451712 lut 25 18:54 vmlinuz-4.4.2-desktop-2.mga6
lrwxrwxrwx 1 root root       28 lut 26 23:11 vmlinuz-desktop -> vmlinuz-4.4.2-desktop-2.mga6

$ pwd
/boot

I attached journalctl log from today. I generated it using following command:
journalctl -a --since="2016-02-26" --until="2016-02-26 23:30" > journalctl_20160226.txt
Inside has been mentioned about installation new kernel. For example:

lut 26 23:11:26 SkyLake-i7 [RPM][10708]: erase kernel-desktop-latest-4.4.2-1.mga6.x86_64: success
lut 26 23:11:26 SkyLake-i7 [RPM][10708]: erase kernel-userspace-headers-4.4.2-1.1.mga6.x86_64: success
lut 26 23:11:29 SkyLake-i7 [RPM][10708]: install kernel-desktop-4.4.2-2.mga6-1-1.mga6.x86_64: success
lut 26 23:11:30 SkyLake-i7 [RPM][10708]: install kernel-desktop-latest-4.4.2-2.mga6.x86_64: success
lut 26 23:11:31 SkyLake-i7 [RPM][10708]: install kernel-userspace-headers-4.4.2-2.mga6.x86_64: success
lut 26 23:11:32 SkyLake-i7 [RPM][10708]: install kernel-desktop-devel-4.4.2-2.mga6-1-1.mga6.x86_64: success
lut 26 23:11:32 SkyLake-i7 [RPM][10708]: erase kernel-desktop-latest-4.4.2-1.mga6.x86_64: success
lut 26 23:11:32 SkyLake-i7 [RPM][10708]: erase kernel-userspace-headers-4.4.2-1.1.mga6.x86_64: success

In every systems (Linux only) installed on may disk I have grub2. I don't use lilo. I had lilo in the past on Mageia 5, but later I installed grub2. Anyway. Below command (run on Mageia 6) returns "no results":
$ rpm -qa|grep lilo

To update bootloader I use mcc tool and option "Running -> Running configuration" which one I run being logged on Mageia 5.
As I remember well I don't have installed lilo yet. Writing this post I'm login on Mageia 6, so I mounted Mageia 5 root partition and performed simple check:
# find . -name '*lilo*'
./usr/lib/os-probes/mounted/efi/10elilo
./usr/lib/linux-boot-probes/mounted/50lilo
./usr/share/man/pl/man5/lilo.conf.5.xz
./usr/share/man/pl/man8/lilo.8.xz
./usr/share/vim/syntax/lilo.vim
./usr/share/bash-completion/completions/lilo

Later I can check if lilo package is installed on Mageia 5.
Comment 6 Piotr Mierzwinski 2016-02-26 23:48:50 CET
Created attachment 7497 [details]
journalctl_20160226 with kernel-desktop-4.4.2-2.mga6
Comment 7 Barry Jackson 2016-02-27 00:45:54 CET
Please from your Mageia system give the output of:

cat /boot/grub2/install.sh

Also, how was this system installed?
Was it an upgrade from earlier release(s)?

Thanks
Comment 8 Piotr Mierzwinski 2016-02-27 21:33:21 CET
Mageia 6
$ cat /boot/grub2/install.sh
grub2-install

Mageia 5
$ cat /boot/grub2/install.sh
grub2-install /dev/sda

Whether the contents of this file is in any way related with not updating grub2 menu?

System was upgraded from Mageia 5. It was done several months ago (over half year ago). Just look at mentioned above list of files from my /boot directory:
-rw-r--r-- 1 root root  4342080 cze 13  2015 vmlinuz-3.19.8-desktop-3.mga5
("cze" [pl] this is "jun" [en])
After that I just installed updates.

I think till now there is no iso for Mageia 6 Cauldron. I was checking this site:
https://wiki.mageia.org/en/Mageia_6_Development
Comment 9 Barry Jackson 2016-02-29 12:43:37 CET
(In reply to Piotr Mierzwinski from comment #8)

> Whether the contents of this file is in any way related with not updating
> grub2 menu?

No, I was just curious about this line in your logs:
lut 21 01:28:10 SkyLake-i7 bootloader-config[10735]: install.sh does not contain 'root (hd...)' line, no way to magically adapt device.map.

> System was upgraded from Mageia 5. It was done several months ag
 (over half
> year ago).

OK - it may have been a continuous update from Mga3 or so, just checking.

> I think till now there is no iso for Mageia 6 Cauldron. I was checking this
> site:
> https://wiki.mageia.org/en/Mageia_6_Development

No not yet for general access.

It's a great shame that grub2 filetriggers had to be removed, as they handled all of this :\
Comment 10 Piotr Mierzwinski 2016-03-05 19:38:13 CET
This happens on my desktop, but I have also installed Mageia 6 Cauldrong on laptop and this installation doesn't have problem with update config file. In other words. After kernel installation grub2 cfg file is updated correctly. So conclusion is that desktop installation is somehow broken. :/.

I close this report, because it seems that this issue involves only my desktop instllation.

Status: NEW => RESOLVED
Resolution: (none) => INVALID

Comment 11 GG HH 2016-03-05 21:28:31 CET
Since a few monthes, my grub2.cfg was not automatically updated when installing of removing a kernel and this message was displayed :
> Cannot find a boot loader installed. Only taking care of initrd

I found this link
http://www.pclinuxos.com/forum/index.php/topic,135999.15.html (see reply 20)
and actually my efi partition was mounted in /boot/efi and not /boot/EFI as expected.
I modified the mount point and I will test with the next kernel update...

What is strange i that it used to work with a lower case efi dir and suddenly broke. Maybe related to the recent changes in drakxtools-backend.

Btw, the reason why in the first place my efi mount point was lower case was possibly due to a manual installation my side (uefi was not correctly supported)

Regards

CC: (none) => boulshet

Comment 12 Piotr Mierzwinski 2016-03-05 23:52:33 CET
My mount point is /boot/EFI, but I don't use boot loader from Mageia 6 only from Mageia 5. On laptop I don't have EFI. And here Mageia 6 installs boot loader. Maybe this the clue.

In Mageia 6, in journalctl I get such message:
"install.sh does not contain 'root (hd...)' line, no way to magically adapt device.map"
Probably because my /boot/grub2/install.sh contains only this string: 
"grub2-install", 
but on system where I have installed boot loader (Mageia 5) in the same file I have: 
"grub2-install /dev/sda"
So here install.sh will work and works. The issue is. It only refers to boot loader. But what about not updating /boot/grub2/grub.cfg? Or better about not doing this by kernel installer? This is curiosity for me :/.

I don't want waste my time on digging in Internet and analysing libDrakX perl modules, to find out why is that. I wait until any ISO of Mageia 6 will be released and then maybe I will try again.

On end about efi/EFI. I'm not sure, but I think that uppercase in this string were forced by system installer :/.

Note You need to log in before you can comment on or make changes to this bug.