0

Today on an internal, legacy centos 6.10 server I run

yum update

It downloaded and installed, without errors, these packages:

kernel-headers-2.6.32-754.15.3.el6.x86_64     Tue 25 Jun 2019 09:46:52 AM CEST
microcode_ctl-1.17-33.13.el6_10.x86_64        Tue 25 Jun 2019 09:46:51 AM CEST
kernel-2.6.32-754.15.3.el6.x86_64             Tue 25 Jun 2019 09:46:48 AM CEST
bind-utils-9.8.2-0.68.rc1.el6_10.3.x86_64     Tue 25 Jun 2019 09:46:40 AM CEST
bind-libs-9.8.2-0.68.rc1.el6_10.3.x86_64      Tue 25 Jun 2019 09:46:39 AM CEST
kernel-firmware-2.6.32-754.15.3.el6.noarch    Tue 25 Jun 2019 09:46:38 AM CEST
python-libs-2.6.6-68.el6_10.x86_64            Tue 25 Jun 2019 09:46:32 AM CEST
python-2.6.6-68.el6_10.x86_64                 Tue 25 Jun 2019 09:46:29 AM CEST

I check /etc/grub.conf and it lists as first entry the new kernel:

title CentOS (2.6.32-754.15.3.el6.x86_64)

I reboot the server and...

uname -a

Linux goofy.local 2.6.32-754.14.2.el6.x86_64

In the last months I see other kernel 2.6.* updates, they were fine.

Why isn't the new kernel running? How can I troubleshoot this?


These are the new files in /boot

-rw-r--r--   1 root root 106K 2019-06-18 18:29 config-2.6.32-754.15.3.el6.x86_64
-rw-------   1 root root  18M 2019-06-25 09:47 initramfs-2.6.32-754.15.3.el6.x86_64.img
-rw-r--r--   1 root root 212K 2019-06-18 18:29 symvers-2.6.32-754.15.3.el6.x86_64.gz
-rw-r--r--   1 root root 2.6M 2019-06-18 18:29 System.map-2.6.32-754.15.3.el6.x86_64
-rwxr-xr-x   1 root root 4.2M 2019-06-18 18:29 vmlinuz-2.6.32-754.15.3.el6.x86_64
-rw-r--r--   1 root root  171 2019-06-18 18:29 .vmlinuz-2.6.32-754.15.3.el6.x86_64.hmac

grubby --default-kernel

/boot/vmlinuz-2.6.32-754.15.3.el6.x86_64

3
  • NOTE: the same behaviour on another centos 6.10 host. To me the "yum update" seems fine, but the new kernel doesn't load. At boot time, is there any fallback mechanism? I mean: the new kernel doesn't load so grub passes to the second entry and loads the old kernel?
    – Massimo
    Jun 25, 2019 at 8:58
  • There is no fallback mechanism. In grub entry you have to explicitly tell which kernel to use to boot. Most probably your GRUB wasn't updated after kernel update. Try to use grub2-mkconfig command
    – mrc02_kr
    Jun 25, 2019 at 9:01
  • It is grub legacy 0.97: never used grub2-mkconfig.
    – Massimo
    Jun 25, 2019 at 9:09

2 Answers 2

0

I don't know why, I found there are two copies of grub.conf :

/etc/grub.conf

/boot/grub/grub.conf

The system at boot uses the new file /boot/grub/grub.conf ... that lists only the old version of the kernel.

I fix this new file, reboot and voila' 2.6.32-754.15.3 is running.

1
  • A few months later, the same problem. Now the culprit is: the efi partition is mounted at boot time... and after dis-mounted, so the kernel update scripts cannot update the /boot/grub/grub.conf I fix with mount -a before yum update
    – Massimo
    Oct 28, 2019 at 17:04
0

On my CentOS 6 host, /etc/grub.conf is the soft link to the /boot/grub/grub.conf. May be you copied the first one accidentally.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .