Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
Grub[UEFI], Booting in blind mode
View unanswered posts
View posts from last 24 hours

 
Reply to topic    Gentoo Forums Forum Index Kernel & Hardware
View previous topic :: View next topic  
Author Message
trumee
Guru
Guru


Joined: 02 Mar 2003
Posts: 551
Location: London,UK

PostPosted: Fri Jul 06, 2018 2:41 am    Post subject: Grub[UEFI], Booting in blind mode Reply with quote

I want to see the bootup process over IPMI sol (supermicro motherboard). The grub menu appears with the menu options, however Gentoo boots i get the following message.

Code:

Loading Linux 4.9.95-gentoo ...
Loading initial ramdisk ...
error: no suitable video mode found.
Booting in blind mode


Any idea why I dont see the boot process? The system otherwise boots successfully.

My grub.conf is like this,

Code:

$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 ###
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
}

serial --speed=115200 --unit=1 --word=8 --parity=no --stop=1
terminal_input serial
terminal_output serial
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 'Gentoo GNU/Linux' --class gentoo --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-simple-18a74c27cd9b234b' {
   load_video
   if [ "x$grub_platform" = xefi ]; then
      set gfxpayload=keep
   fi
   insmod gzio
   insmod part_gpt
   insmod part_gpt
   insmod zfs
   set root='hd1,gpt2'
   if [ x$feature_platform_search_hint = xy ]; then
     search --no-floppy --fs-uuid --set=root --hint-bios=hd1,gpt2 --hint-efi=hd1,gpt2 --hint-baremetal=ahci1,gpt2  --hint-bios=hd2,gpt2 --hint-efi=hd2,gpt2 --hint-baremetal=ahci2,gpt2  a9f7c0f00ed9709c
   else
     search --no-floppy --fs-uuid --set=root a9f7c0f00ed9709c
   fi
   echo   'Loading Linux 4.9.95-gentoo ...'
   linux   /@/vmlinuz-4.9.95-gentoo root=ZFS=rpool/ROOT/gentoo ro  spl.spl_hostid=0xa8c06f01 console=tty0 console=ttyS2,115200
   echo   'Loading initial ramdisk ...'
   initrd   /@/initramfs-4.9.95-gentoo.img
}
submenu 'Advanced options for Gentoo GNU/Linux' $menuentry_id_option 'gnulinux-advanced-18a74c27cd9b234b' {
   menuentry 'Gentoo GNU/Linux, with Linux 4.9.95-gentoo' --class gentoo --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-4.9.95-gentoo-advanced-18a74c27cd9b234b' {
      load_video
      if [ "x$grub_platform" = xefi ]; then
         set gfxpayload=keep
      fi
      insmod gzio
      insmod part_gpt
      insmod part_gpt
      insmod zfs
      set root='hd1,gpt2'
      if [ x$feature_platform_search_hint = xy ]; then
        search --no-floppy --fs-uuid --set=root --hint-bios=hd1,gpt2 --hint-efi=hd1,gpt2 --hint-baremetal=ahci1,gpt2  --hint-bios=hd2,gpt2 --hint-efi=hd2,gpt2 --hint-baremetal=ahci2,gpt2  a9f7c0f00ed9709c
      else
        search --no-floppy --fs-uuid --set=root a9f7c0f00ed9709c
      fi
      echo   'Loading Linux 4.9.95-gentoo ...'
      linux   /@/vmlinuz-4.9.95-gentoo root=ZFS=rpool/ROOT/gentoo ro  spl.spl_hostid=0xa8c06f01 console=tty0 console=ttyS2,115200
      echo   'Loading initial ramdisk ...'
      initrd   /@/initramfs-4.9.95-gentoo.img
   }
   menuentry 'Gentoo GNU/Linux, with Linux 4.9.95-gentoo (recovery mode)' --class gentoo --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-4.9.95-gentoo-recovery-18a74c27cd9b234b' {
      load_video
      if [ "x$grub_platform" = xefi ]; then
         set gfxpayload=keep
      fi
      insmod gzio
      insmod part_gpt
      insmod part_gpt
      insmod zfs
      set root='hd1,gpt2'
      if [ x$feature_platform_search_hint = xy ]; then
        search --no-floppy --fs-uuid --set=root --hint-bios=hd1,gpt2 --hint-efi=hd1,gpt2 --hint-baremetal=ahci1,gpt2  --hint-bios=hd2,gpt2 --hint-efi=hd2,gpt2 --hint-baremetal=ahci2,gpt2  a9f7c0f00ed9709c
      else
        search --no-floppy --fs-uuid --set=root a9f7c0f00ed9709c
      fi
      echo   'Loading Linux 4.9.95-gentoo ...'
      linux   /@/vmlinuz-4.9.95-gentoo root=ZFS=rpool/ROOT/gentoo ro single
      echo   'Loading initial ramdisk ...'
      initrd   /@/initramfs-4.9.95-gentoo.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 ###


and

/etc/default/grub is

Code:

# Copyright 1999-2015 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
#
# To populate all changes in this file you need to regenerate your
# grub configuration file afterwards:
#     'grub2-mkconfig -o /boot/grub/grub.cfg'
#
# See the grub info page for documentation on possible variables and
# their associated values.

GRUB_DISTRIBUTOR="Gentoo"

# Default menu entry
#GRUB_DEFAULT=0

# Boot the default entry this many seconds after the menu is displayed
#GRUB_TIMEOUT=5
#GRUB_TIMEOUT_STYLE=menu

# Append parameters to the linux kernel command line
#GRUB_CMDLINE_LINUX=""
#
# Examples:
#
# Boot with network interface renaming disabled
# GRUB_CMDLINE_LINUX="net.ifnames=0"
#
# Boot with systemd instead of sysvinit (openrc)
# GRUB_CMDLINE_LINUX="init=/usr/lib/systemd/systemd"

# Append parameters to the linux kernel command line for non-recovery entries
#GRUB_CMDLINE_LINUX_DEFAULT=""
GRUB_CMDLINE_LINUX_DEFAULT="spl.spl_hostid=0xa8c06f01 console=tty0 console=ttyS2,115200"

# Uncomment to disable graphical terminal (grub-pc only)
#GRUB_TERMINAL=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=640x480

# Set to 'text' to force the Linux kernel to boot in normal text
# mode, 'keep' to preserve the graphics mode set using
# 'GRUB_GFXMODE', 'WIDTHxHEIGHT'['xDEPTH'] to set a particular
# graphics mode, or a sequence of these separated by commas or
# semicolons to try several modes in sequence.
#GRUB_GFXPAYLOAD_LINUX=

# Path to theme spec txt file.
# The starfield is by default provided with use truetype.
# NOTE: when enabling custom theme, ensure you have required font/etc.
#GRUB_THEME="/boot/grub/themes/starfield/theme.txt"

# Background image used on graphical terminal.
# Can be in various bitmap formats.
#GRUB_BACKGROUND="/boot/grub/mybackground.png"

# Uncomment if you don't want GRUB to pass "root=UUID=xxx" parameter to kernel
#GRUB_DISABLE_LINUX_UUID=true

# Uncomment to disable generation of recovery mode menu entries
#GRUB_DISABLE_RECOVERY=true

# Uncomment to disable generation of the submenu and put all choices on
# the top-level menu.
# Besides the visual affect of no sub menu, this makes navigation of the
# menu easier for a user who can't see the screen.
#GRUB_DISABLE_SUBMENU=y

# Uncomment to play a tone when the main menu is displayed.
# This is useful, for example, to allow users who can't see the screen
# to know when they can make a choice on the menu.
#GRUB_INIT_TUNE="60 800 1"

## Serial console
GRUB_TERMINAL=serial
GRUB_SERIAL_COMMAND="serial --speed=115200 --unit=1 --word=8 --parity=no --stop=1"
Back to top
View user's profile Send private message
LIsLinuxIsSogood
Veteran
Veteran


Joined: 13 Feb 2016
Posts: 1077

PostPosted: Sat Jul 07, 2018 1:55 am    Post subject: Reply with quote

This is by no means an answer to your problem because I am not really knowledge about out IPMI , but am now just reading about it for the first time (it is really cool stuff).

Assuming that everything is fine with your Gentoo system (and you have KMS set in the kernel, etc. for a perfectly working video setting otherwise)...

Can you clarify that the code you printed, is the result of running some command, and what command you ran in order to produce that output (thesuccessful boot but with no process log and showing the error) What command was that you ran to connect to the console?

Did you use something like this to do that...
Code:
ipmitool -H {YOUR BMC IP} -U {YOUR USER} -I lanplus sol activate


Also it seems like the grub entry is definitely not my forte in terms of knowing answers but I will be sure to check back and see if you were able to find out more of a solution hopefully with the help of someone here, if the problem is fixable that is.
Back to top
View user's profile Send private message
trumee
Guru
Guru


Joined: 02 Mar 2003
Posts: 551
Location: London,UK

PostPosted: Sat Jul 07, 2018 2:36 am    Post subject: Reply with quote

@LIsLinuxIsSogood, yes that is command i am using show serial output.

I have had some progress on this. I added the parity bit to the serial device definition and was able to get a half working solution.

The kernel command line definition in grub to,

Code:

linux   /@/vmlinuz-4.9.95-gentoo root=ZFS=rpool/ROOT/gentoo ro spl.spl_hostid=0xa8c06f01 console=tty0 console=ttyS1,115200n8


In addition I modified /etc/inittab to
Code:

s1:12345:respawn:/sbin/agetty -L 115200 ttyS1 vt100


Now IPMI sol does show the boot process. However mid way through the boot (after dracut root switch) it stops the output over the console.

The output is shown here.

I have 3 serial ports on the motherboard.
Code:

# setserial -g /dev/ttyS[012]
/dev/ttyS0, UART: 16550A, Port: 0x03f8, IRQ: 4
/dev/ttyS1, UART: 16550A, Port: 0x0248, IRQ: 7
/dev/ttyS2, UART: 16550A, Port: 0xf0a0, IRQ: 19


The IPMI SOL seems to be outputting over ttyS1.

Any idea why the output fails after dracut?
Back to top
View user's profile Send private message
LIsLinuxIsSogood
Veteran
Veteran


Joined: 13 Feb 2016
Posts: 1077

PostPosted: Mon Jul 09, 2018 7:41 pm    Post subject: Reply with quote

IDK have you checked /etc/hostid for clues yet?

Also do you have a system logger that is set to capture these messages anyhow? Maybe you could setup another terminal like I have on all "regular" linux installs of mine to output various logging facilities to vt10 to be able to switch over to that and see what is happening. If that isn't exactly a solution then it's because I don't have much experience with using dracut or initramfs for that matter (boot times are very fast on all machines without it...)

By the way are you running systemd or openrc on the machine???
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Kernel & Hardware All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum