[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Grub2 with sparc64 patches



> On Jan 25, 2017, at 9:40 AM, louis ayotte <pocketpc2004@live.ca> wrote:
> 
> On 2017-01-24 01:01 PM, Eric Snowberg wrote:
> 
>> How big is your kernel?  Will silo boot it?  Can you start over and do the following:
>> 
>> grub> reboot
>> 
>> You should be back at OBP. Now boot from the disk again and issue:
>> 
>> grub> ls -l /
>> 
>> and send the response? Can you also send a list of all the loaded modules?
>> 
>> grub> lsmod
>> 
>> If you have a rescue iso, it may be easier to boot from it, mount your disk, chroot to it, and then generate your missing grub.cfg file with grub-mkconfig and then reboot.
>> 
>> 
> Hi Eric
> 
> generated the grub configure and this was the output;
> 
> # grub-mkconfig
> Generating grub configuration file ...
> #
> # 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
>  set have_grubenv=true
>  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_sun
> insmod ext2
> set root='hd1,sun2'
> if [ x$feature_platform_search_hint = xy ]; then
>  search --no-floppy --fs-uuid --set=root
> --hint-ieee1275='ieee1275//pci@400/pci@0/pci@8/scsi@0/disk@0,sun2'
> --hint-bios=hd1,sun2 --hint-efi=hd1,sun2 --hint-baremetal=ahci1,sun2 
> 2f8e4b53-061c-4878-9d30-bec179fb59e4
> else
>  search --no-floppy --fs-uuid --set=root
> 2f8e4b53-061c-4878-9d30-bec179fb59e4
> fi
>    font="/usr/share/grub/unicode.pf2"
> fi
> 
> if loadfont $font ; then
>  set gfxmode=auto
>  load_video
>  insmod gfxterm
> fi
> terminal_output gfxterm
> if [ "${recordfail}" = 1 ] ; then
>  set timeout=30
> else
>  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
> fi
> ### END /etc/grub.d/00_header ###
> 
> ### BEGIN /etc/grub.d/05_debian_theme ###
> set menu_color_normal=cyan/blue
> set menu_color_highlight=white/blue
> ### END /etc/grub.d/05_debian_theme ###
> 
> ### BEGIN /etc/grub.d/10_linux ###
> function gfxmode {
>    set gfxpayload="${1}"
> }
> set linux_gfx_mode=
> export linux_gfx_mode
> Found linux image: /boot/vmlinuz-4.9.0-1-sparc64-smp
> Found initrd image: /boot/initrd.img-4.9.0-1-sparc64-smp
> menuentry 'Debian GNU/Linux' --class debian --class gnu-linux --class
> gnu --class os $menuentry_id_option
> 'gnulinux-simple-2f8e4b53-061c-4878-9d30-bec179fb59e4' {
>    load_video
>    insmod gzio
>    if [ x$grub_platform = xxen ]; then insmod xzio; insmod lzopio; fi
>    insmod part_sun
>    insmod ext2
>    set root='hd1,sun1'
>    if [ x$feature_platform_search_hint = xy ]; then
>      search --no-floppy --fs-uuid --set=root
> --hint-ieee1275='ieee1275//pci@400/pci@0/pci@8/scsi@0/disk@0,sun1'
> --hint-bios=hd1,sun1 --hint-efi=hd1,sun1 --hint-baremetal=ahci1,sun1 
> eda75771-2b2f-4ef8-95f7-d007f3f3355a
>    else
>      search --no-floppy --fs-uuid --set=root
> eda75771-2b2f-4ef8-95f7-d007f3f3355a
>    fi
>    echo    'Loading Linux 4.9.0-1-sparc64-smp ...'
>    linux    /vmlinuz-4.9.0-1-sparc64-smp
> root=UUID=2f8e4b53-061c-4878-9d30-bec179fb59e4 ro  quiet
>    echo    'Loading initial ramdisk ...'
>    initrd    /initrd.img-4.9.0-1-sparc64-smp
> }
> submenu 'Advanced options for Debian GNU/Linux' $menuentry_id_option
> 'gnulinux-advanced-2f8e4b53-061c-4878-9d30-bec179fb59e4' {
>    menuentry 'Debian GNU/Linux, with Linux 4.9.0-1-sparc64-smp' --class
> debian --class gnu-linux --class gnu --class os $menuentry_id_option
> 'gnulinux-4.9.0-1-sparc64-smp-advanced-2f8e4b53-061c-4878-9d30-bec179fb59e4'
> {
>        load_video
>        insmod gzio
>        if [ x$grub_platform = xxen ]; then insmod xzio; insmod lzopio; fi
>        insmod part_sun
>        insmod ext2
>        set root='hd1,sun1'
>        if [ x$feature_platform_search_hint = xy ]; then
>          search --no-floppy --fs-uuid --set=root
> --hint-ieee1275='ieee1275//pci@400/pci@0/pci@8/scsi@0/disk@0,sun1'
> --hint-bios=hd1,sun1 --hint-efi=hd1,sun1 --hint-baremetal=ahci1,sun1 
> eda75771-2b2f-4ef8-95f7-d007f3f3355a
>        else
>          search --no-floppy --fs-uuid --set=root
> eda75771-2b2f-4ef8-95f7-d007f3f3355a
>        fi
>        echo    'Loading Linux 4.9.0-1-sparc64-smp ...'
>        linux    /vmlinuz-4.9.0-1-sparc64-smp
> root=UUID=2f8e4b53-061c-4878-9d30-bec179fb59e4 ro  quiet
>        echo    'Loading initial ramdisk ...'
>        initrd    /initrd.img-4.9.0-1-sparc64-smp
>    }
>    menuentry 'Debian GNU/Linux, with Linux 4.9.0-1-sparc64-smp
> (recovery mode)' --class debian --class gnu-linux --class gnu --class os
> $menuentry_id_option
> 'gnulinux-4.9.0-1-sparc64-smp-recovery-2f8e4b53-061c-4878-9d30-bec179fb59e4'
> {
>        load_video
>        insmod gzio
>        if [ x$grub_platform = xxen ]; then insmod xzio; insmod lzopio; fi
>        insmod part_sun
>        insmod ext2
>        set root='hd1,sun1'
>        if [ x$feature_platform_search_hint = xy ]; then
>          search --no-floppy --fs-uuid --set=root
> --hint-ieee1275='ieee1275//pci@400/pci@0/pci@8/scsi@0/disk@0,sun1'
> --hint-bios=hd1,sun1 --hint-efi=hd1,sun1 --hint-baremetal=ahci1,sun1 
> eda75771-2b2f-4ef8-95f7-d007f3f3355a
>        else
>          search --no-floppy --fs-uuid --set=root
> eda75771-2b2f-4ef8-95f7-d007f3f3355a
>        fi
>        echo    'Loading Linux 4.9.0-1-sparc64-smp ...'
>        linux    /vmlinuz-4.9.0-1-sparc64-smp
> root=UUID=2f8e4b53-061c-4878-9d30-bec179fb59e4 ro single
>        echo    'Loading initial ramdisk ...'
>        initrd    /initrd.img-4.9.0-1-sparc64-smp
>    }
> Found linux image: /boot/vmlinuz-4.5.0-2-sparc64-smp
> Found initrd image: /boot/initrd.img-4.5.0-2-sparc64-smp
>    menuentry 'Debian GNU/Linux, with Linux 4.5.0-2-sparc64-smp' --class
> debian --class gnu-linux --class gnu --class os $menuentry_id_option
> 'gnulinux-4.5.0-2-sparc64-smp-advanced-2f8e4b53-061c-4878-9d30-bec179fb59e4'
> {
>        load_video
>        insmod gzio
>        if [ x$grub_platform = xxen ]; then insmod xzio; insmod lzopio; fi
>        insmod part_sun
>        insmod ext2
>        set root='hd1,sun1'
>        if [ x$feature_platform_search_hint = xy ]; then
>          search --no-floppy --fs-uuid --set=root
> --hint-ieee1275='ieee1275//pci@400/pci@0/pci@8/scsi@0/disk@0,sun1'
> --hint-bios=hd1,sun1 --hint-efi=hd1,sun1 --hint-baremetal=ahci1,sun1 
> eda75771-2b2f-4ef8-95f7-d007f3f3355a
>        else
>          search --no-floppy --fs-uuid --set=root
> eda75771-2b2f-4ef8-95f7-d007f3f3355a
>        fi
>        echo    'Loading Linux 4.5.0-2-sparc64-smp ...'
>        linux    /vmlinuz-4.5.0-2-sparc64-smp
> root=UUID=2f8e4b53-061c-4878-9d30-bec179fb59e4 ro  quiet
>        echo    'Loading initial ramdisk ...'
>        initrd    /initrd.img-4.5.0-2-sparc64-smp
>    }
>    menuentry 'Debian GNU/Linux, with Linux 4.5.0-2-sparc64-smp
> (recovery mode)' --class debian --class gnu-linux --class gnu --class os
> $menuentry_id_option
> 'gnulinux-4.5.0-2-sparc64-smp-recovery-2f8e4b53-061c-4878-9d30-bec179fb59e4'
> {
>        load_video
>        insmod gzio
>        if [ x$grub_platform = xxen ]; then insmod xzio; insmod lzopio; fi
>        insmod part_sun
>        insmod ext2
>        set root='hd1,sun1'
>        if [ x$feature_platform_search_hint = xy ]; then
>          search --no-floppy --fs-uuid --set=root
> --hint-ieee1275='ieee1275//pci@400/pci@0/pci@8/scsi@0/disk@0,sun1'
> --hint-bios=hd1,sun1 --hint-efi=hd1,sun1 --hint-baremetal=ahci1,sun1 
> eda75771-2b2f-4ef8-95f7-d007f3f3355a
>        else
>          search --no-floppy --fs-uuid --set=root
> eda75771-2b2f-4ef8-95f7-d007f3f3355a
>        fi
>        echo    'Loading Linux 4.5.0-2-sparc64-smp ...'
>        linux    /vmlinuz-4.5.0-2-sparc64-smp
> root=UUID=2f8e4b53-061c-4878-9d30-bec179fb59e4 ro single
>        echo    'Loading initial ramdisk ...'
>        initrd    /initrd.img-4.5.0-2-sparc64-smp
>    }
> }
> 
> ### 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/30_uefi-firmware ###
> ### END /etc/grub.d/30_uefi-firmware ###
> 
> ### 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 ###
> done
> 
> Then rebooted
> 
> {0} ok boot
> Boot device: /pci@400/pci@0/pci@8/scsi@0/disk@0,0:a  File and args:
> GRUB Loading kernel..
> error: out of memory.

I believe you are running out of memory here because grub is trying to load all those frame buffer modules within your config.

> error: no suitable video mode found.

And then it didn’t find one that worked.

For this, I believe you are having the same problem as Frans.  Could you add the following to /etc/default/grub:

GRUB_TERMINAL_OUTPUT="console"
GRUB_DISABLE_RECOVERY="true"
GRUB_PRELOAD_MODULES=“iso9660"

and then regenerate your grub.cfg with grub-mkconfig.

Adrian,

I don’t plan on adding frame buffer support since newer systems don’t have them.  Would it be possible to change your grub package to include a /etc/default/grub file for SPARC with the changes above?  We do the same thing with our grub rpm.


> 
>                     GNU GRUB  version 2.02~beta3-3+sparc64
> 
> +----------------------------------------------------------------------------+
> |*Debian
> GNU/Linux                                                           |
> | Advanced options for Debian GNU/Linux                        |
> |                                                                       
>                 |
> |                                                                     
>                   |
> |                                                                           
>             |
> |                                                                          
>              |   
> |                                                                           
>             |   
> |                                                                                        
> |
> |                                                                                        
> |
> |                                                                                        
> |
> |                                                                                        
> |
> |                                                                          
>              |
> +----------------------------------------------------------------------------+
> 
>      Use the ^ and v keys to select which entry is highlighted.         
>      Press enter to boot the selected OS, `e' to edit the commands      
>      before booting or `c' for a command-line.                          
> 
> 
> 
> Loading Linux 4.9.0-1-sparc64-smp ...
> error: /memory response buffer exceeded.
> Loading initial ramdisk ...
> error: you need to load the kernel first.
> 
> Press any key to continue...
> 
> Then rebooted
> 
> Loading Linux 4.5.0-2-sparc64-smp ...
> error: /memory response buffer exceeded.
> Loading initial ramdisk ...
> error: you need to load the kernel first.
> 
> Press any key to continue...
> 
> Advanced menu shows this;
> 
> Debian GNU/Linux, with Linux 4.9.0-1-sparc64-smp                          
> Debian GNU/Linux, with Linux 4.9.0-1-sparc64-smp (recovery mode)
> Debian GNU/Linux, with Linux 4.5.0-2-sparc64-smp                         
> Debian GNU/Linux, with Linux 4.5.0-2-sparc64-smp (recovery mode) 
> 
> 

If you still run into out of memory problems after regenerating your grub.cfg.  Could you send me the following results from OBP?

{0} ok cd /memory
{0} ok .properties




Reply to: