Subject: Re: Grub2 with sparc64 patches




> On Jan 25, 2017, at 9:40 AM, louis ayotte <[email protected]> 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
> [email protected][email protected][email protected][email protected][email protected],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
> [email protected][email protected][email protected][email protected][email protected],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
> [email protected][email protected][email protected][email protected][email protected],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
> [email protected][email protected][email protected][email protected][email protected],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
> [email protected][email protected][email protected][email protected][email protected],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
> [email protected][email protected][email protected][email protected][email protected],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: [email protected][email protected][email protected][email protected][email protected],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





Programming list archiving by: Enterprise Git Hosting