The way grub entries are defined in centos 7 has changed.
Instead of using grub.conf, grub2 now uses /boot/grub2/grub.cfg, with content generated from scripts in /etc/grub.d/
[root@localhost grub.d]# ll
total 64
-rwxr-xr-x. 1 root root 8698 Jun 30 2014 00_header
-rwxr-xr-x. 1 root root 9517 Jun 30 2014 10_linux
-rwxr-xr-x. 1 root root 10275 Jun 30 2014 20_linux_xen
-rwxr-xr-x. 1 root root 2559 Jun 30 2014 20_ppc_terminfo
-rwxr-xr-x. 1 root root 11110 Jun 30 2014 30_os-prober
-rwxr-xr-x. 1 root root 380 Mar 14 03:30 40_custom
-rwxr-xr-x. 1 root root 216 Jun 30 2014 41_custom
-rw-r--r--. 1 root root 483 Jun 30 2014 README
the file 40_custom
is what you will need to modify.
For my custom kernel, the fie looked like this:
[root@localhost grub.d]# cat 40_custom
#!/bin/sh
exec tail -n +3 $0
# This file provides an easy way to add custom menu entries. Simply type the
# menu entries you want to add after this comment. Be careful not to change
# the 'exec tail' line above.
menuentry "Robbie's custom kernel" {
set root=UUID=91df2431-f383-4d9d-873f-8df5bb2e00fa
linux=/vmlinuz-3.10.0-123.el7.robbie.x86_64
initrd=/initrd-plymouth.img
}
Then, if you wish to edit the default boot entry, you can modify /etc/default/grub
with the boot entry you desire:
GRUB_DEFAULT="Robbie's custom kernel"