Cannot boot alternative kernels

I have installed other alternative kernels from AUR successfully. Namely linux-ck and xanmod (this took a while to compile!) but none of them have booted. After install and reboot, the screen goes blank. No messages no logs. Stays that way until I force hardware reboot and press shift. Only manjaro kernel boots. Attached is my grub.cfg file.

Anyone can help me debug why my system cannot boot any other kernels apart from manjaro’s?

Edit: I was trying to boot the kernels with -skylake tag. Turns out generic version works.

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

### BEGIN /etc/grub.d/00_header ###
insmod part_gpt
insmod part_msdos
if [ -s $prefix/grubenv ]; then
  load_env
fi
if [ "${next_entry}" ] ; then
   set default="${next_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
}

set menu_color_normal=light-gray/black
set menu_color_highlight=green/black

if [ x$feature_default_font_path = xy ] ; then
   font=unicode
else
insmod part_gpt
insmod ext2
if [ x$feature_platform_search_hint = xy ]; then
  search --no-floppy --fs-uuid --set=root  7589df0c-e9c6-4adc-b204-1586b540bcf8
else
  search --no-floppy --fs-uuid --set=root 7589df0c-e9c6-4adc-b204-1586b540bcf8
fi
    font="/usr/share/grub/unicode.pf2"
fi

if loadfont $font ; then
  set gfxmode=auto
  load_video
  insmod gfxterm
  set locale_dir=$prefix/locale
  set lang=en_US
  insmod gettext
fi
terminal_input console
terminal_output gfxterm
insmod part_gpt
insmod ext2
if [ x$feature_platform_search_hint = xy ]; then
  search --no-floppy --fs-uuid --set=root  7589df0c-e9c6-4adc-b204-1586b540bcf8
else
  search --no-floppy --fs-uuid --set=root 7589df0c-e9c6-4adc-b204-1586b540bcf8
fi
insmod gfxmenu
loadfont ($root)/usr/share/grub/themes/manjaro/dejavu_sans_12.pf2
loadfont ($root)/usr/share/grub/themes/manjaro/dejavu_sans_14.pf2
loadfont ($root)/usr/share/grub/themes/manjaro/dejavu_sans_16.pf2
loadfont ($root)/usr/share/grub/themes/manjaro/dejavu_sans_24.pf2
loadfont ($root)/usr/share/grub/themes/manjaro/dejavu_sans_48.pf2
loadfont ($root)/usr/share/grub/themes/manjaro/dejavu_sans_bold_16.pf2
loadfont ($root)/usr/share/grub/themes/manjaro/dejavu_sans_mono_12.pf2
loadfont ($root)/usr/share/grub/themes/manjaro/terminus-12.pf2
loadfont ($root)/usr/share/grub/themes/manjaro/terminus-14.pf2
loadfont ($root)/usr/share/grub/themes/manjaro/terminus-16.pf2
loadfont ($root)/usr/share/grub/themes/manjaro/terminus-18.pf2
loadfont ($root)/usr/share/grub/themes/manjaro/terminus-b12.pf2
loadfont ($root)/usr/share/grub/themes/manjaro/terminus-b14.pf2
loadfont ($root)/usr/share/grub/themes/manjaro/terminus-b16.pf2
loadfont ($root)/usr/share/grub/themes/manjaro/terminus-b18.pf2
insmod png
set theme=($root)/usr/share/grub/themes/manjaro/theme.txt
export theme
if [ x$feature_timeout_style = xy ] ; then
  set timeout_style=menu
  set timeout=5
# Fallback normal timeout code in case the timeout_style feature is
# unavailable.
else
  set timeout=5
fi
### END /etc/grub.d/00_header ###

### BEGIN /etc/grub.d/01_menu_auto_hide ###
if [ "${boot_success}" = "1" -o "${boot_indeterminate}" = "1" ]; then
  set last_boot_ok=1
else
  set last_boot_ok=0
fi

# Reset boot_indeterminate after a successful boot
if [ "${boot_success}" = "1" ] ; then
  set boot_indeterminate=0
# Avoid boot_indeterminate causing the menu to be hidden more then once
elif [ "${boot_indeterminate}" = "1" ]; then
  set boot_indeterminate=2
fi
set boot_success=0
save_env boot_success boot_indeterminate

if [ x$feature_timeout_style = xy ] ; then
  if [ "${menu_show_once}" ]; then
    unset menu_show_once
    save_env menu_show_once
    set timeout_style=menu
    set timeout=60
  elif [ "${menu_auto_hide}" -a "${last_boot_ok}" = "1" ]; then
    set orig_timeout_style=${timeout_style}
    set orig_timeout=${timeout}
    if [ "${fastboot}" = "1" ]; then
      # timeout_style=menu + timeout=0 avoids the countdown code keypress check
      set timeout_style=menu
      set timeout=0
    else
      set timeout_style=hidden
      set timeout=1
    fi
  fi
fi
### END /etc/grub.d/01_menu_auto_hide ###

### BEGIN /etc/grub.d/10_linux ###
menuentry 'Manjaro Linux' --class manjaro --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-simple-7589df0c-e9c6-4adc-b204-1586b540bcf8' {
	savedefault
	load_video
	set gfxpayload=keep
	insmod gzio
	insmod part_gpt
	insmod ext2
	if [ x$feature_platform_search_hint = xy ]; then
	  search --no-floppy --fs-uuid --set=root  7589df0c-e9c6-4adc-b204-1586b540bcf8
	else
	  search --no-floppy --fs-uuid --set=root 7589df0c-e9c6-4adc-b204-1586b540bcf8
	fi
	linux	/boot/vmlinuz-linux-xanmod root=UUID=7589df0c-e9c6-4adc-b204-1586b540bcf8 rw  resume=UUID=5a88cd6c-17ed-4607-970c-ab01d88fefea scsi_mod.use_blk_mq=1 intel_pstate=skylake_hwp quiet
	initrd	/boot/intel-ucode.img /boot/initramfs-linux-xanmod.img
}
submenu 'Advanced options for Manjaro Linux' $menuentry_id_option 'gnulinux-advanced-7589df0c-e9c6-4adc-b204-1586b540bcf8' {
	menuentry 'Manjaro Linux (Kernel: xanmod)' --class manjaro --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-xanmod-advanced-7589df0c-e9c6-4adc-b204-1586b540bcf8' {
	savedefault
		load_video
		set gfxpayload=keep
		insmod gzio
		insmod part_gpt
		insmod ext2
		if [ x$feature_platform_search_hint = xy ]; then
		  search --no-floppy --fs-uuid --set=root  7589df0c-e9c6-4adc-b204-1586b540bcf8
		else
		  search --no-floppy --fs-uuid --set=root 7589df0c-e9c6-4adc-b204-1586b540bcf8
		fi
		linux	/boot/vmlinuz-linux-xanmod root=UUID=7589df0c-e9c6-4adc-b204-1586b540bcf8 rw  resume=UUID=5a88cd6c-17ed-4607-970c-ab01d88fefea scsi_mod.use_blk_mq=1 intel_pstate=skylake_hwp quiet
		initrd	/boot/intel-ucode.img /boot/initramfs-linux-xanmod.img
	}
	menuentry 'Manjaro Linux (Kernel: xanmod - fallback initramfs)' --class manjaro --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-xanmod-fallback-7589df0c-e9c6-4adc-b204-1586b540bcf8' {
		load_video
		set gfxpayload=keep
		insmod gzio
		insmod part_gpt
		insmod ext2
		if [ x$feature_platform_search_hint = xy ]; then
		  search --no-floppy --fs-uuid --set=root  7589df0c-e9c6-4adc-b204-1586b540bcf8
		else
		  search --no-floppy --fs-uuid --set=root 7589df0c-e9c6-4adc-b204-1586b540bcf8
		fi
		linux	/boot/vmlinuz-linux-xanmod root=UUID=7589df0c-e9c6-4adc-b204-1586b540bcf8 rw  resume=UUID=5a88cd6c-17ed-4607-970c-ab01d88fefea scsi_mod.use_blk_mq=1 intel_pstate=skylake_hwp quiet
		initrd	/boot/initramfs-linux-xanmod-fallback.img
	}
	menuentry 'Manjaro Linux (Kernel: skylake)' --class manjaro --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-skylake-advanced-7589df0c-e9c6-4adc-b204-1586b540bcf8' {
	savedefault
		load_video
		set gfxpayload=keep
		insmod gzio
		insmod part_gpt
		insmod ext2
		if [ x$feature_platform_search_hint = xy ]; then
		  search --no-floppy --fs-uuid --set=root  7589df0c-e9c6-4adc-b204-1586b540bcf8
		else
		  search --no-floppy --fs-uuid --set=root 7589df0c-e9c6-4adc-b204-1586b540bcf8
		fi
		linux	/boot/vmlinuz-linux-ck-skylake root=UUID=7589df0c-e9c6-4adc-b204-1586b540bcf8 rw  resume=UUID=5a88cd6c-17ed-4607-970c-ab01d88fefea scsi_mod.use_blk_mq=1 intel_pstate=skylake_hwp quiet
		initrd	/boot/intel-ucode.img /boot/initramfs-linux-ck-skylake.img
	}
	menuentry 'Manjaro Linux (Kernel: skylake - fallback initramfs)' --class manjaro --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-skylake-fallback-7589df0c-e9c6-4adc-b204-1586b540bcf8' {
		load_video
		set gfxpayload=keep
		insmod gzio
		insmod part_gpt
		insmod ext2
		if [ x$feature_platform_search_hint = xy ]; then
		  search --no-floppy --fs-uuid --set=root  7589df0c-e9c6-4adc-b204-1586b540bcf8
		else
		  search --no-floppy --fs-uuid --set=root 7589df0c-e9c6-4adc-b204-1586b540bcf8
		fi
		linux	/boot/vmlinuz-linux-ck-skylake root=UUID=7589df0c-e9c6-4adc-b204-1586b540bcf8 rw  resume=UUID=5a88cd6c-17ed-4607-970c-ab01d88fefea scsi_mod.use_blk_mq=1 intel_pstate=skylake_hwp quiet
		initrd	/boot/initramfs-linux-ck-skylake-fallback.img
	}
	menuentry 'Manjaro Linux (Kernel: 4.20.0-1-MANJARO x64)' --class manjaro --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-4.20.0-1-MANJARO x64-advanced-7589df0c-e9c6-4adc-b204-1586b540bcf8' {
	savedefault
		load_video
		set gfxpayload=keep
		insmod gzio
		insmod part_gpt
		insmod ext2
		if [ x$feature_platform_search_hint = xy ]; then
		  search --no-floppy --fs-uuid --set=root  7589df0c-e9c6-4adc-b204-1586b540bcf8
		else
		  search --no-floppy --fs-uuid --set=root 7589df0c-e9c6-4adc-b204-1586b540bcf8
		fi
		linux	/boot/vmlinuz-4.20-x86_64 root=UUID=7589df0c-e9c6-4adc-b204-1586b540bcf8 rw  resume=UUID=5a88cd6c-17ed-4607-970c-ab01d88fefea scsi_mod.use_blk_mq=1 intel_pstate=skylake_hwp quiet
		initrd	/boot/intel-ucode.img /boot/initramfs-4.20-x86_64.img
	}
	menuentry 'Manjaro Linux (Kernel: 4.20.0-1-MANJARO x64 - fallback initramfs)' --class manjaro --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-4.20.0-1-MANJARO x64-fallback-7589df0c-e9c6-4adc-b204-1586b540bcf8' {
		load_video
		set gfxpayload=keep
		insmod gzio
		insmod part_gpt
		insmod ext2
		if [ x$feature_platform_search_hint = xy ]; then
		  search --no-floppy --fs-uuid --set=root  7589df0c-e9c6-4adc-b204-1586b540bcf8
		else
		  search --no-floppy --fs-uuid --set=root 7589df0c-e9c6-4adc-b204-1586b540bcf8
		fi
		linux	/boot/vmlinuz-4.20-x86_64 root=UUID=7589df0c-e9c6-4adc-b204-1586b540bcf8 rw  resume=UUID=5a88cd6c-17ed-4607-970c-ab01d88fefea scsi_mod.use_blk_mq=1 intel_pstate=skylake_hwp quiet
		initrd	/boot/initramfs-4.20-x86_64-fallback.img
	}
	menuentry 'Manjaro Linux (Kernel: 4.19.13-1-MANJARO x64)' --class manjaro --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-4.19.13-1-MANJARO x64-advanced-7589df0c-e9c6-4adc-b204-1586b540bcf8' {
	savedefault
		load_video
		set gfxpayload=keep
		insmod gzio
		insmod part_gpt
		insmod ext2
		if [ x$feature_platform_search_hint = xy ]; then
		  search --no-floppy --fs-uuid --set=root  7589df0c-e9c6-4adc-b204-1586b540bcf8
		else
		  search --no-floppy --fs-uuid --set=root 7589df0c-e9c6-4adc-b204-1586b540bcf8
		fi
		linux	/boot/vmlinuz-4.19-x86_64 root=UUID=7589df0c-e9c6-4adc-b204-1586b540bcf8 rw  resume=UUID=5a88cd6c-17ed-4607-970c-ab01d88fefea scsi_mod.use_blk_mq=1 intel_pstate=skylake_hwp quiet
		initrd	/boot/intel-ucode.img /boot/initramfs-4.19-x86_64.img
	}
	menuentry 'Manjaro Linux (Kernel: 4.19.13-1-MANJARO x64 - fallback initramfs)' --class manjaro --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-4.19.13-1-MANJARO x64-fallback-7589df0c-e9c6-4adc-b204-1586b540bcf8' {
		load_video
		set gfxpayload=keep
		insmod gzio
		insmod part_gpt
		insmod ext2
		if [ x$feature_platform_search_hint = xy ]; then
		  search --no-floppy --fs-uuid --set=root  7589df0c-e9c6-4adc-b204-1586b540bcf8
		else
		  search --no-floppy --fs-uuid --set=root 7589df0c-e9c6-4adc-b204-1586b540bcf8
		fi
		linux	/boot/vmlinuz-4.19-x86_64 root=UUID=7589df0c-e9c6-4adc-b204-1586b540bcf8 rw  resume=UUID=5a88cd6c-17ed-4607-970c-ab01d88fefea scsi_mod.use_blk_mq=1 intel_pstate=skylake_hwp quiet
		initrd	/boot/initramfs-4.19-x86_64-fallback.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/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 ###

### BEGIN /etc/grub.d/60_memtest86+ ###
if [ "${grub_platform}" == "pc" ]; then
    menuentry "Memory Tester (memtest86+)" --class memtest86 --class gnu --class tool {
        search --fs-uuid --no-floppy --set=root  7589df0c-e9c6-4adc-b204-1586b540bcf8
        linux16 /boot/memtest86+/memtest.bin 
    }
fi
### END /etc/grub.d/60_memtest86+ ###

Can you start a BMW car with a Chrysler’s key ?


Read this:

1 Like

Am fully aware custom kernels are not supported. Am perfectly okay with supporting them/myself once installed. Is it possible to boot custom kernels? If not, why? I have provided my grub file.

Regarding your GRUB config file:

It is of course possible to boot custom kernels.
What exactly doesn’t work?

I have not edited the file manually. I simply copy-pasted its contents.
What doesn’t work is that any custom kernel does not boot. Screen shows nothing as described above.

linux-ck boots fine fore me on AMD after a sudo update-grub, no change in configs necessary.

Do you have an Nvidia card? If yes, did you also install the necessary Nvidia kernel module for the respective kernels?

Try booting manually using the harder method here below the [Simple First Start]
Of course use your vmlinuz-linux-xanmod and initramfs-linux-xanmod.img instead.
You can use the grub that you boot up and go to its prompt. There is no need to use livecd grub prompt.

If it works, then we can find out why your grub.cfg does not. It it doesn’t boot, you have to look at your compiling of the kernels. modules, etc… which I cannot help you.

Good luck.

I don’t use any kernels from AUR because they’re mostly built upon the Arch kernel, which is (since 4.19?) a little different.
My custom kernel though works without an issue, because it’s built on the official Manjaro one.

If you want to use CK, I suggest you get the Manjaro PKGBUILD and add the -ck patchset in there.
EDIT: BS86 confirmed that it works, so you can disregard that (but not completely).

If you’re interested in building your own kernel, see Bogdan’s links above and this:

4 Likes

That guide makes me dizzy! I do not want to bork my working system because of a custom kernel install. Thanks for the link however.

All stock Intel here which surprises me. Almost sounds like a missed a step but am sure I did it the way you installed. Install from AUR/pacman, update-grub and reboot. Curious, did you install the 4.19 or the 4.20 version?

:laughing:

It will not bork anything. Not your kernel/initrd files, not your system grub. Nothing. Nada.
Safe to try. Nothing to lose. Everything to gain. Zero cost.
(Nice advert slogan)

Welcome.

2 Likes

I used the 4.20 version, but I removed it again as it has some performance issues when BOINC is running on all threads. The Manjaro default kernel is handling those loads a lot better.
(BOINC uses the lowest priority for its threads, but the ck-Kernel still keeps those active when there are processes with higher priority running. The Manjaro kernel respects the priorities better)

You can check out ananicy from AUR. It automatically sets nice priorities

the nice priorities are correctly set by BOINC (to 19). The ck-kernel just seems to ignore them (or has some other performance issues in those load situations)

linux-ck uses full tickless mode, while Con Kolivas recommends using tickless idle with MuQSS. I would have a look at that.

And you could start Boinc with SCHED_IDLE priority with
schedtool -D -n 19 -e boinc

1 Like

I found nothing on how to really configure that tickless - mode. The only config I found which seemed related to that was CONFIG_NO_HZ_IDLE which is =y in Manjaro but not set on linux-ck. Is that the tickless idle config paramter?

Anyway, I tried with the Manjaro 4.20 PKGBUILD with only the ck-patchset added and it showed the same behaviour like linux-ck. I am currently building the Manjaro kernel with the ck-patchset added and the additional cpu optimizations added (set to my ZEN - support) and will try to set the SCHED_IDLEPRIO and check it out.

One additional question: During build-initialization where the config is created, the ck patchset requires this choice:

CPU scheduler runqueue sharing
  1. No sharing (RQ_NONE)
  2. SMT (hyperthread) siblings (RQ_SMT)
> 3. Multicore siblings (RQ_MC)
  4. Symmetric Multi-Processing (RQ_SMP)
  5. NUMA (RQ_ALL)

linux-ck does not even ask and uses the default 3. For Ryzen with it’s SMT, wouldn’t 2 be the better choice? Or does Multicore have a higher priority compared to SMT?

Edit: SCHED_IDLEPRIO provides the behaviour I wanted to have :slight_smile: Thanks for the hint! And it also keeps the CPU about 5-10° cooler.

Yes:

CONFIG_NO_HZ_COMMON=y
# CONFIG_HZ_PERIODIC is not set
CONFIG_NO_HZ_IDLE=y
# CONFIG_NO_HZ_FULL is not set
CONFIG_NO_HZ=y

I haven’t used MuQSS recently as I’ve switched to PDS.
From what I remember, RQ_MC is the choice that works best for most - but not for all users.
Best check Con’s blog, and read the comments, they often contain valuable information.

EDIT:

I’ve always recommended not using it for desktops or mobile devices, so it’s a miracle it even boots and runs. I doubt I’ll ever get time to rewrite the CPU accounting entirely in order for it to work under NO_HZ_FULL. (CK)

thanks for the confirmation! Then in my builds, tickless is configured according to ck’s suggestions.

Did not have time for that yesterday and I thought maybe you know something about that :wink: Found a good comment on his blog now that more or less confirms that the default is the best option:

Did more tests on Ryzen.
Kernel compilation is comparable (PDS, MuQSS, MuQSS RQSHARE_SMT), couple of seconds difference with -j16.
Diablo 3 MuQSS vs MuQSS RQSHARE_SMT vs MuQSS RQSHARE_MC is day and night: MuQSS ~105 FPS, MuQSS RQSHARE_SMT ~60 FPS (as reported earlier), MuQSS RQSHARE_MC ~125 FPS. Nice boost with MC.
Unigine Valley, RQSHARE_SMT vs RQSHARE_MC is 6% difference, RQSHARE_MC wins.

The same user earlier reported:

Ryzen 1700 on Linux 4.14.3 + MuQSS 162 + both patches here with default RQSHARE_SMT set.
I have a comparison of 2 kernels (PDS & MuQSS) for Diablo 3 (via wine of course). PDS ~95 FPS, MuQSS RQSHARE_SMT ~60 FPS. Results have to be pretty reliable as they are measured in the same place when my char spawns into the game.
DE, browsing and the rest of actions feel about the same as the default kernel I use (PDS), can not say worse or better. This applies to i7 6700HQ & Ryzen 1700.

source: http://ck-hack.blogspot.com/2017/11/runqueue-sharing-experiments-with-muqss.html

Any specific reason why you switched to PDS? From what I read, it is the continued work that ck dropped when switching to MuQSS-development

I had some weird representations of CPU load with MuQSS.
According to CK, it was just a cosmetic issue, internally everything was OK.
It’s possible that it has been fixed or changed in the meantime.

PDS doesn’t have those different choices of runqueue handling btw.

This topic was automatically closed 90 days after the last reply. New replies are no longer allowed.

Forum kindly sponsored by Bytemark