You are not logged in.

#1 2019-11-17 10:19:43

FriedrichNietzsche
Member
Registered: 2018-09-05
Posts: 41

linux-zen not booting

Hi guys,

I have the linux-zen kernel installed alongside the regular kernel, but for some reason it does not boot. When selection the zen option in grub, I just see the loading initframfs output and shortly after nothing. The screen goes into standby and the hdd led doesn't show any activity anymore. After rebooting with the regular kernel journalctl does not seem to provide any logs for what happened (I only can see boot logs from the regular kernel). How can I get the kernel running? I am happy to provide any debug output as needed.

Thank you

Offline

#2 2019-11-17 14:18:40

V1del
Forum Moderator
Registered: 2012-10-16
Posts: 21,645

Re: linux-zen not booting

What's your boot loader configuration, what's your hardware, which journalctl command are you using that it "doesn't seem" to provide zen logs? FWIW if you use nvidia hardware you have to install the zen headers and nvidia-dkms for a graphical session to work.

Offline

#3 2019-11-17 16:33:05

FriedrichNietzsche
Member
Registered: 2018-09-05
Posts: 41

Re: linux-zen not booting

Hardware:
i7-4770k/16G
Radeon RX 5700 XT (mostly still using the git packages listed in the Navi 10 wiki https://wiki.archlinux.org/index.php/Navi_10 , didn't bother to upgrade them yet)

Bootconfiguration from /boot/grub/grub.cfg

# GRUB boot loader configuration

GRUB_DEFAULT=0
GRUB_TIMEOUT=5
GRUB_DISTRIBUTOR="Arch"
GRUB_CMDLINE_LINUX_DEFAULT="loglevel=3 quiet"
GRUB_CMDLINE_LINUX=""

# Preload both GPT and MBR modules so that they are not missed
GRUB_PRELOAD_MODULES="part_gpt part_msdos"

# Uncomment to enable booting from LUKS encrypted devices
#GRUB_ENABLE_CRYPTODISK=y

# Set to 'countdown' or 'hidden' to change timeout behavior,
# press ESC key to display menu.
GRUB_TIMEOUT_STYLE=menu

# Uncomment to use basic console
GRUB_TERMINAL_INPUT=console

# Uncomment to disable graphical terminal
#GRUB_TERMINAL_OUTPUT=console

# The resolution used on graphical terminal
# note that you can use only modes which your graphic card supports via VBE
# you can see them in real GRUB with the command `vbeinfo'
GRUB_GFXMODE=2560x1440x32,2560x1440x24,auto

# Uncomment to allow the kernel use the same resolution used by grub
GRUB_GFXPAYLOAD_LINUX=keep

# Uncomment if you want GRUB to pass to the Linux kernel the old parameter
# format "root=/dev/xxx" instead of "root=/dev/disk/by-uuid/xxx"
#GRUB_DISABLE_LINUX_UUID=true

# Uncomment to disable generation of recovery mode menu entries
GRUB_DISABLE_RECOVERY=true
GRUB_FORCE_HIDDEN_MENU="true"
# Uncomment and set to the desired menu colors.  Used by normal and wallpaper
# modes only.  Entries specified as foreground/background.
#GRUB_COLOR_NORMAL="light-blue/black"
#GRUB_COLOR_HIGHLIGHT="light-cyan/blue"

# Uncomment one of them for the gfx desired, a image background or a gfxtheme
#GRUB_BACKGROUND="/path/to/wallpaper"
#GRUB_THEME="/path/to/gfxtheme"

# Uncomment to get a beep at GRUB start
#GRUB_INIT_TUNE="480 440 1"

# Uncomment to make GRUB remember the last selection. This requires to
# set 'GRUB_DEFAULT=saved' above.
#GRUB_SAVEDEFAULT="true"

grub.cfg:

sudo cat /boot/grub/grub.cfg 
#
# 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="0"
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
}

if [ x$feature_default_font_path = xy ] ; then
   font=unicode
else
insmod part_gpt
insmod btrfs
set root='hd0,gpt3'
if [ x$feature_platform_search_hint = xy ]; then
  search --no-floppy --fs-uuid --set=root --hint-ieee1275='ieee1275//disk@0,gpt3' --hint-bios=hd0,gpt3 --hint-efi=hd0,gpt3 --hint-baremetal=ahci0,gpt3  48ba7b96-1fdd-4b7e-8f89-436e8daf2c38
else
  search --no-floppy --fs-uuid --set=root 48ba7b96-1fdd-4b7e-8f89-436e8daf2c38
fi
    font="/@/usr/share/grub/unicode.pf2"
fi

if loadfont $font ; then
  set gfxmode=2560x1440x32,2560x1440x24,auto
  load_video
  insmod gfxterm
  set locale_dir=$prefix/locale
  set lang=en_AT
  insmod gettext
fi
terminal_input console
terminal_output gfxterm
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/10_linux ###
menuentry 'Arch Linux' --class arch --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-simple-48ba7b96-1fdd-4b7e-8f89-436e8daf2c38' {
        load_video
        set gfxpayload=keep
        insmod gzio
        insmod part_gpt
        insmod btrfs
        set root='hd0,gpt3'
        if [ x$feature_platform_search_hint = xy ]; then
          search --no-floppy --fs-uuid --set=root --hint-ieee1275='ieee1275//disk@0,gpt3' --hint-bios=hd0,gpt3 --hint-efi=hd0,gpt3 --hint-baremetal=ahci0,gpt3  48ba7b96-1fdd-4b7e-8f89-436e8daf2c38
        else
          search --no-floppy --fs-uuid --set=root 48ba7b96-1fdd-4b7e-8f89-436e8daf2c38
        fi
        echo    'Loading Linux linux-zen ...'
        linux   /@/boot/vmlinuz-linux-zen root=UUID=48ba7b96-1fdd-4b7e-8f89-436e8daf2c38 rw rootflags=subvol=@  loglevel=3 quiet
        echo    'Loading initial ramdisk ...'
        initrd  /@/boot/intel-ucode.img /@/boot/initramfs-linux-zen.img
}
submenu 'Advanced options for Arch Linux' $menuentry_id_option 'gnulinux-advanced-48ba7b96-1fdd-4b7e-8f89-436e8daf2c38' {
        menuentry 'Arch Linux, with Linux linux-zen' --class arch --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-linux-zen-advanced-48ba7b96-1fdd-4b7e-8f89-436e8daf2c38' {
                load_video
                set gfxpayload=keep
                insmod gzio
                insmod part_gpt
                insmod btrfs
                set root='hd0,gpt3'
                if [ x$feature_platform_search_hint = xy ]; then
                  search --no-floppy --fs-uuid --set=root --hint-ieee1275='ieee1275//disk@0,gpt3' --hint-bios=hd0,gpt3 --hint-efi=hd0,gpt3 --hint-baremetal=ahci0,gpt3  48ba7b96-1fdd-4b7e-8f89-436e8daf2c38
                else
                  search --no-floppy --fs-uuid --set=root 48ba7b96-1fdd-4b7e-8f89-436e8daf2c38
                fi
                echo    'Loading Linux linux-zen ...'
                linux   /@/boot/vmlinuz-linux-zen root=UUID=48ba7b96-1fdd-4b7e-8f89-436e8daf2c38 rw rootflags=subvol=@  loglevel=3 quiet
                echo    'Loading initial ramdisk ...'
                initrd  /@/boot/intel-ucode.img /@/boot/initramfs-linux-zen.img
        }
        menuentry 'Arch Linux, with Linux linux-zen (fallback initramfs)' --class arch --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-linux-zen-fallback-48ba7b96-1fdd-4b7e-8f89-436e8daf2c38' {
                load_video
                set gfxpayload=keep
                insmod gzio
                insmod part_gpt
                insmod btrfs
                set root='hd0,gpt3'
                if [ x$feature_platform_search_hint = xy ]; then
                  search --no-floppy --fs-uuid --set=root --hint-ieee1275='ieee1275//disk@0,gpt3' --hint-bios=hd0,gpt3 --hint-efi=hd0,gpt3 --hint-baremetal=ahci0,gpt3  48ba7b96-1fdd-4b7e-8f89-436e8daf2c38
                else
                  search --no-floppy --fs-uuid --set=root 48ba7b96-1fdd-4b7e-8f89-436e8daf2c38
                fi
                echo    'Loading Linux linux-zen ...'
                linux   /@/boot/vmlinuz-linux-zen root=UUID=48ba7b96-1fdd-4b7e-8f89-436e8daf2c38 rw rootflags=subvol=@  loglevel=3 quiet
                echo    'Loading initial ramdisk ...'
                initrd  /@/boot/initramfs-linux-zen-fallback.img
        }
        menuentry 'Arch Linux, with Linux linux' --class arch --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-linux-advanced-48ba7b96-1fdd-4b7e-8f89-436e8daf2c38' {
                load_video
                set gfxpayload=keep
                insmod gzio
                insmod part_gpt
                insmod btrfs
                set root='hd0,gpt3'
                if [ x$feature_platform_search_hint = xy ]; then
                  search --no-floppy --fs-uuid --set=root --hint-ieee1275='ieee1275//disk@0,gpt3' --hint-bios=hd0,gpt3 --hint-efi=hd0,gpt3 --hint-baremetal=ahci0,gpt3  48ba7b96-1fdd-4b7e-8f89-436e8daf2c38
                else
                  search --no-floppy --fs-uuid --set=root 48ba7b96-1fdd-4b7e-8f89-436e8daf2c38
                fi
                echo    'Loading Linux linux ...'
                linux   /@/boot/vmlinuz-linux root=UUID=48ba7b96-1fdd-4b7e-8f89-436e8daf2c38 rw rootflags=subvol=@  loglevel=3 quiet
                echo    'Loading initial ramdisk ...'
                initrd  /@/boot/intel-ucode.img /@/boot/initramfs-linux.img
        }
        menuentry 'Arch Linux, with Linux linux (fallback initramfs)' --class arch --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-linux-fallback-48ba7b96-1fdd-4b7e-8f89-436e8daf2c38' {
                load_video
                set gfxpayload=keep
                insmod gzio
                insmod part_gpt
                insmod btrfs
                set root='hd0,gpt3'
                if [ x$feature_platform_search_hint = xy ]; then
                  search --no-floppy --fs-uuid --set=root --hint-ieee1275='ieee1275//disk@0,gpt3' --hint-bios=hd0,gpt3 --hint-efi=hd0,gpt3 --hint-baremetal=ahci0,gpt3  48ba7b96-1fdd-4b7e-8f89-436e8daf2c38
                else
                  search --no-floppy --fs-uuid --set=root 48ba7b96-1fdd-4b7e-8f89-436e8daf2c38
                fi
                echo    'Loading Linux linux ...'
                linux   /@/boot/vmlinuz-linux root=UUID=48ba7b96-1fdd-4b7e-8f89-436e8daf2c38 rw rootflags=subvol=@  loglevel=3 quiet
                echo    'Loading initial ramdisk ...'
                initrd  /@/boot/initramfs-linux-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 ###

which journalctl command are you using that it "doesn't seem" to provide zen logs?

I've used journalctl -S 2019-11-17. There I can find different reboot sections for every time I rebooted my computer. They start with

-- Reboot --
Nov 17 09:56:07 desktop kernel: microcode: microcode updated early to revision 0x27, date = 2019-02-26
Nov 17 09:56:07 desktop kernel: Linux version 5.3.11-arch1-1 (linux@archlinux) (gcc version 9.2.0 (GCC)) #1 SMP PREEMPT Tue, 12 Nov 2019 22:19:48 +0000
Nov 17 09:56:07 desktop kernel: Command line: BOOT_IMAGE=/@/boot/vmlinuz-linux root=UUID=48ba7b96-1fdd-4b7e-8f89-436e8daf2c38 rw rootflags=subvol=@ loglevel>

Here I can see the kernel which is supposed to boot. If I select the zen kernel from Grub I don't find any section afterwards for the zen kernel.

Offline

#4 2019-11-18 18:26:30

Wild Penguin
Member
Registered: 2015-03-19
Posts: 320

Re: linux-zen not booting

Do you use an initramfs? Does any of the other HW require some modules? Maybe the initramfs is not correctly populated (i.e.; non-dkms-modules)?

Offline

#5 2019-11-19 17:45:00

FriedrichNietzsche
Member
Registered: 2018-09-05
Posts: 41

Re: linux-zen not booting

Hi,

yes, I use a initramfs. Both seem get generated perfectly fine when I call mkinitcpio -p linux. At least I can't see any error messages or warnings which would make me suspicious. The only modules I've added are amdgpu and the ones for btrfs.

Offline

#6 2019-11-19 22:20:10

W54J04S07T
Member
Registered: 2016-06-27
Posts: 101

Re: linux-zen not booting

FriedrichNietzsche wrote:

Hi,

when I call mkinitcpio -p linux...

You mean "mkinitcpio -p linux"  AND "mkinitcpio -p linux-zen" (???)

just to be clear?

Offline

#7 2019-11-20 16:38:21

FriedrichNietzsche
Member
Registered: 2018-09-05
Posts: 41

Re: linux-zen not booting

W54J04S07T wrote:

You mean "mkinitcpio -p linux"  AND "mkinitcpio -p linux-zen" (???)

just to be clear?


I indeed didn't use the second command. Thanks for pointing that out, didn't know that. Tried it out but still no luck - screen is going into suspend mode and nothing else happens when trying to boot the zen kernel

Offline

#8 2019-11-20 22:33:07

W54J04S07T
Member
Registered: 2016-06-27
Posts: 101

Re: linux-zen not booting

Radeon RX 5700 XT

I take it your using AMDGPU as the video driver?

Can you get a dmesg output?  See if the driver is getting
started.  It is possible it doesn't get to there?

Offline

#9 2019-11-22 07:22:40

Wild Penguin
Member
Registered: 2015-03-19
Posts: 320

Re: linux-zen not booting

FriedrichNietzsche wrote:
W54J04S07T wrote:

You mean "mkinitcpio -p linux"  AND "mkinitcpio -p linux-zen" (???)

just to be clear?


I indeed didn't use the second command. Thanks for pointing that out, didn't know that. Tried it out but still no luck - screen is going into suspend mode and nothing else happens when trying to boot the zen kernel

FWIW, the initramfs should be regenerated when you install or upgrade a kernel package (or any *-dkms package, for that matter). I was only asking, since a missing module for some crucial hardware, would be a good candidate for it not booting up.

What I would do, is to try SysRQ after the bootup has hung. Can you reboot with SysRq? If yes, we know the kernel is not completely hung. However I believe that is of little use (since we'd still need some output to figure out what has gone wrong).

Second: you could try randomly (or, umm, taking (un)educated guesses) disabling hardware, which could be a potential error. I.e.: remove / disable amdgpu module on the -zen initramfs (or, if possible, remove graphics card temporarily / use another one temporarily). You stated Navi support is still a bit in the works, so it is feasible it doesn't work well with some change in configuration (or patch?) they made for zen. You could try to remove some other modules, too. Also, you could try kernel parameter "single" to boot into single-user mode, but I suppose it should not make a difference since it seems the Kernel can not boot properly at all. I would be surprised if it did!

Since you can not get any logs from the failed bootups, the only other thing I can think of, in case you really want to figure out why the bootup is failing: get a serial port on that computer. Sadly, most computers don't have one these days. Was it a laptop or a desktop? Either case, I presume you could use a USB2serial adapter, but you need to make sure the driver is compiled in-kernel - which it probably is not the case on any of the Arch Kernel packages (as most stuff for Kernels is in modules). You could put the module inside the initramFS, but in case the Kernel hangs during / before it loads the USB2serial modules, that is of course of little use.

To work around missing in-kernel USB2Serial driver, you need to make custom Kernels. In this case, you would need two: 1) the stock kernel customized to test the serial console and (well, not strictly needed, but makes sense unless you are 100% sure you've found the required drivers for your USB2Serial adapter, and are comfortable using it! Otherwise you would be in the dark in the next step: is the serial console working at all, or the Kernel hung before it can use the serial console?) and 2) then apply the configuration for your custom zen-based kernel, which you should test in step 0) to make sure it reproduces the problem.

Then, you need another computer and figure out how to use the serial connection. It is not too difficult; I needed to do this a little while back with an old computer (turns out I had problems choosing the right H/W configuration for it to find the AGP bus (result: not output / graphics) and the IDE controller (result: it can not find the rootFS), and these combined prevented any output trough the display, or a succesful bootup; it was a brainfart on my part while configuring the kernel, but the serial console output did help spotting the error! smile . I've already forgotten the details, as this was a case of: "look up the documents / instructions on Google, do once and forget".

(ps. take a look at journalctl's -b option; i.e. -b0, -b-1, -b-2 etc.; that way it is easy to see what came up in the logs on the previous boots).

EDIT: Actually, seems like some usb2ser stuff is compiled in-kernel. But most adapter-specific stuff is as modules, and I'm not sure if this is enough to run any usb2serial adapter. This is on zen:

$ zcat /proc/config.gz | grep -i serial.*=y
CONFIG_SERIAL_NONSTANDARD=y
CONFIG_SERIAL_EARLYCON=y
CONFIG_SERIAL_8250=y
CONFIG_SERIAL_8250_PNP=y
CONFIG_SERIAL_8250_FINTEK=y
CONFIG_SERIAL_8250_CONSOLE=y
CONFIG_SERIAL_8250_DMA=y
CONFIG_SERIAL_8250_PCI=y
CONFIG_SERIAL_8250_EXTENDED=y
CONFIG_SERIAL_8250_MANY_PORTS=y
CONFIG_SERIAL_8250_SHARE_IRQ=y
CONFIG_SERIAL_8250_RSA=y
CONFIG_SERIAL_8250_RT288X=y
CONFIG_SERIAL_8250_LPSS=y
CONFIG_SERIAL_8250_MID=y
CONFIG_SERIAL_CORE=y
CONFIG_SERIAL_CORE_CONSOLE=y
CONFIG_SERIAL_SC16IS7XX_I2C=y
CONFIG_SERIAL_SC16IS7XX_SPI=y
CONFIG_SERIAL_MCTRL_GPIO=y
CONFIG_SERIAL_DEV_BUS=y
CONFIG_SERIAL_DEV_CTRL_TTYPORT=y
CONFIG_IR_SERIAL_TRANSMITTER=y
CONFIG_USB_SERIAL=y
CONFIG_USB_SERIAL_CONSOLE=y
CONFIG_USB_SERIAL_GENERIC=y
CONFIG_USB_SERIAL_MOS7715_PARPORT=y
CONFIG_U_SERIAL_CONSOLE=y
CONFIG_USB_CONFIGFS_SERIAL=y
CONFIG_USB_G_DBGP_SERIAL=y
CONFIG_MAGIC_SYSRQ_SERIAL=y

Last edited by Wild Penguin (2019-11-22 07:46:16)

Offline

#10 2019-11-26 00:01:22

LuxFerre
Member
Registered: 2010-03-01
Posts: 20

Re: linux-zen not booting

I am having the same problem, everything works fine with linux kernel, but not with linux-zen. Exactly the same behaviour: screen in standby shortly after grub, at the point where I would normally type my encryption key to mount the filesystem (hence no logs available). There must be some bug with linux-zen 5.3.13.1-1 or with amdgpu (although amdgpu works fine with the standard kernel 5.3.13).

Someone else had the same issue.

Offline

#11 2019-11-26 16:04:21

KlavKalashj
Member
Registered: 2008-10-09
Posts: 376

Re: linux-zen not booting

I had this same issue but can now boot normally with linux-zen 5.4.zen1-1 from [testing].

Offline

#12 2019-11-26 18:51:11

LuxFerre
Member
Registered: 2010-03-01
Posts: 20

Re: linux-zen not booting

KlavKalashj wrote:

I had this same issue but can now boot normally with linux-zen 5.4.zen1-1 from [testing].

Worked here too! I guess this one is solved.

It also fixes the idle power consumption (from 30W with kernel 5.3 to 8W).

Last edited by LuxFerre (2019-11-26 18:51:59)

Offline

Board footer

Powered by FluxBB