1

I built kernel 3.11.3 following the instructions here. There were no issues in the build. The steps I followed automatically made entries in grub and copied the image to /boot too.

At boot time, when I choose the new kernel, booting gets stuck with the following message

[   1.563345] MODSIGN: Problem loading in-kernel X.509 certificate (-129)
[1.734622] ata3: softreset failed (device not ready)
[1.735638[ ata1: softreset failed (device not ready)

But I get the same message when booting with my original kernel (kernel-3.9.5-301.fc19.x86_64) and it immediately disappears and boots normally.

/boot/grub2/grub.cfg looks like this

#
# DO NOT EDIT THIS FILE
#
# It is automatically generated by grub2-mkconfig using templates
# from /etc/grub.d and settings from /etc/default/grub
#

### BEGIN /etc/grub.d/00_header ###
if [ -s $prefix/grubenv ]; then
  load_env
fi
if [ "${next_entry}" ] ; then
   set default="${saved_entry}"
   set next_entry=
   save_env next_entry
   set boot_once=true
else
   set default="${saved_entry}"
fi

if [ x"${feature_menuentry_id}" = xy ]; then
  menuentry_id_option="--id"
else
  menuentry_id_option=""
fi

export menuentry_id_option

if [ "${prev_saved_entry}" ]; then
  set saved_entry="${prev_saved_entry}"
  save_env saved_entry
  set prev_saved_entry=
  save_env prev_saved_entry
  set boot_once=true
fi

function savedefault {
  if [ -z "${boot_once}" ]; then
    saved_entry="${chosen}"
    save_env saved_entry
  fi
}

function load_video {
  if [ x$feature_all_video_module = xy ]; then
    insmod all_video
  else
    insmod efi_gop
    insmod efi_uga
    insmod ieee1275_fb
    insmod vbe
    insmod vga
    insmod video_bochs
    insmod video_cirrus
  fi
}

terminal_output console
set timeout=5
### END /etc/grub.d/00_header ###

### BEGIN /etc/grub.d/10_linux ###
menuentry 'Fedora (3.11.3Mephisto) 19 (Schrödinger’s Cat)' --class fedora --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-3.9.5-301.fc19.x86_64-advanced-ebc305eb-2826-4aa0-91ae-f74f3e12b496' {
    load_video
    set gfxpayload=keep
    insmod gzio
    insmod part_msdos
    insmod ext2
    set root='hd0,msdos7'
    if [ x$feature_platform_search_hint = xy ]; then
      search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos7 --hint-efi=hd0,msdos7 --hint-baremetal=ahci0,msdos7 --hint='hd0,msdos7'  b6603ac8-e004-4cd6-b141-9bc95409e32a
    else
      search --no-floppy --fs-uuid --set=root b6603ac8-e004-4cd6-b141-9bc95409e32a
    fi
    linux   /vmlinuz-3.11.3Mephisto root=/dev/mapper/fedora-root ro rd.lvm.lv=fedora/swap rd.md=0 rd.dm=0 vconsole.keymap=guj  rd.luks=0 vconsole.font=latarcyrheb-sun16 rd.lvm.lv=fedora/root rhgb quiet LANG=en_US.UTF-8
    initrd  /initramfs-3.11.3Mephisto.img
}
menuentry 'Fedora, with Linux 3.9.5-301.fc19.x86_64' --class fedora --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-3.9.5-301.fc19.x86_64-advanced-ebc305eb-2826-4aa0-91ae-f74f3e12b496' {
    load_video
    set gfxpayload=keep
    insmod gzio
    insmod part_msdos
    insmod ext2
    set root='hd0,msdos7'
    if [ x$feature_platform_search_hint = xy ]; then
      search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos7 --hint-efi=hd0,msdos7 --hint-baremetal=ahci0,msdos7 --hint='hd0,msdos7'  b6603ac8-e004-4cd6-b141-9bc95409e32a
    else
      search --no-floppy --fs-uuid --set=root b6603ac8-e004-4cd6-b141-9bc95409e32a
    fi
    linux   /vmlinuz-3.9.5-301.fc19.x86_64 root=/dev/mapper/fedora-root ro rd.lvm.lv=fedora/swap rd.md=0 rd.dm=0 vconsole.keymap=guj  rd.luks=0 vconsole.font=latarcyrheb-sun16 rd.lvm.lv=fedora/root rhgb quiet
    initrd  /initramfs-3.9.5-301.fc19.x86_64.img
}
menuentry 'Fedora, with Linux 0-rescue-7725dfc225d14958a625ddaaaea5962b' --class fedora --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-0-rescue-7725dfc225d14958a625ddaaaea5962b-advanced-ebc305eb-2826-4aa0-91ae-f74f3e12b496' {
    load_video
    insmod gzio
    insmod part_msdos
    insmod ext2
    set root='hd0,msdos7'
    if [ x$feature_platform_search_hint = xy ]; then
      search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos7 --hint-efi=hd0,msdos7 --hint-baremetal=ahci0,msdos7 --hint='hd0,msdos7'  b6603ac8-e004-4cd6-b141-9bc95409e32a
    else
      search --no-floppy --fs-uuid --set=root b6603ac8-e004-4cd6-b141-9bc95409e32a
    fi
    linux   /vmlinuz-0-rescue-7725dfc225d14958a625ddaaaea5962b root=/dev/mapper/fedora-root ro rd.lvm.lv=fedora/swap rd.md=0 rd.dm=0 vconsole.keymap=guj  rd.luks=0 vconsole.font=latarcyrheb-sun16 rd.lvm.lv=fedora/root rhgb quiet
    initrd  /initramfs-0-rescue-7725dfc225d14958a625ddaaaea5962b.img
}

### END /etc/grub.d/10_linux ###

### BEGIN /etc/grub.d/20_linux_xen ###

### END /etc/grub.d/20_linux_xen ###

### BEGIN /etc/grub.d/20_ppc_terminfo ###
### END /etc/grub.d/20_ppc_terminfo ###

### BEGIN /etc/grub.d/30_os-prober ###
### END /etc/grub.d/30_os-prober ###

### BEGIN /etc/grub.d/40_custom ###
# 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.
### END /etc/grub.d/40_custom ###

### BEGIN /etc/grub.d/41_custom ###
if [ -f  ${config_directory}/custom.cfg ]; then
  source ${config_directory}/custom.cfg
elif [ -z "${config_directory}" -a -f  $prefix/custom.cfg ]; then
  source $prefix/custom.cfg;
fi
### END /etc/grub.d/41_custom ###

/etc/fstab looks like this

#
# /etc/fstab
# Created by anaconda on Tue Jan  1 11:58:46 2002
#
# Accessible filesystems, by reference, are maintained under '/dev/disk'
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
#
/dev/mapper/fedora-root /                       ext4    defaults            1 1
UUID=b6603ac8-e004-4cd6-b141-9bc95409e32a /boot ext4    defaults            1 2
/dev/mapper/fedora-home /home                   ext4    defaults            1 2
/dev/mapper/fedora-swap swap                    swap    defaults            0 0
/dev/sda1       /mnt/media      ntfs-3g gid=admin,umask=0007    0 0
/dev/sda5       /mnt/setups     ntfs-3g gid=admin,umask=0007    0 0
/dev/sda6       /mnt/documents      ntfs-3g gid=admin,umask=0007    0 0

I'm using Fedora 19 on a x86_64 architecture

  • 2
    What config did you use? Most of the cases it's a good idea to use 'make localmodconfig' or use your distro's config to see if something you customized is the culprit. – schaiba Oct 04 '13 at 16:24
  • I used 'make menuconfig' and used the GUI to build the config file. I had selected 'Local version - append to kernel release' as shown in the link – Pravin Sonawane Oct 04 '13 at 16:27
  • Local version has nothing to do with the config you build, it just appends a string to what you see in GRUB. cd to the source directory, type 'make clean', then 'make localmodconfig' then build the kernel as you did before. – schaiba Oct 04 '13 at 16:30
  • ok.. I am building again as you said with 'make localmodconfig' before the instructions in the link. Do I have to remove the earlier built image from /boot or will it be overwritten? What will happen to grub.cfg? – Pravin Sonawane Oct 04 '13 at 16:43
  • With Fedora, grub.cfg gets generated when you do 'make install'. – schaiba Oct 04 '13 at 16:50
  • According to the error, the kernel tries to verify itself or module with a certificate - and fails; might be related to https://bugzilla.redhat.com/show_bug.cgi?id=861322. You might want to boot without quiet on kernel command line to see all messages before the hang. – peterph Oct 04 '13 at 17:22
  • @peterph perhaps that error is because my machine's CMOS battery is not working. So at the boot time, the system time is incorrect. – Pravin Sonawane Oct 04 '13 at 17:52
  • @schaiba make localmodconfig worked! I could boot with the new kernel. Thanks. Please post this as an answer so that I can accept. – Pravin Sonawane Oct 04 '13 at 18:47
  • Did you regenerate the initramfs? You need to do that whenever you change the kernel (because the initramfs contains some necessary modules). – Gilles 'SO- stop being evil' Oct 04 '13 at 23:03
  • I did not do it explicitly. But there is one initramfs for each kernel in /boot. – Pravin Sonawane Oct 05 '13 at 13:35

1 Answers1

1

cd to the source directory, type 'make clean', then 'make localmodconfig' then build the kernel as you did before. When you do 'make install' grub.cfg will be autogenerated.

schaiba
  • 7,631