Solaris grub: Difference between revisions

From Lolly's Wiki
Jump to navigationJump to search
m (Text replacement - "<source" to "<syntaxhighlight")
m (Text replacement - "</source" to "</syntaxhighlight")
 
Line 15: Line 15:
# eeprom console=ttya
# eeprom console=ttya
# eeprom ttya-mode=115200,8,n,1,-
# eeprom ttya-mode=115200,8,n,1,-
</source>
</syntaxhighlight>


== Solaris 10 ==
== Solaris 10 ==
Line 31: Line 31:
kernel /boot/multiboot -s -B console=ttya,ttya-mode="115200,8,n,1,-"
kernel /boot/multiboot -s -B console=ttya,ttya-mode="115200,8,n,1,-"
module /boot/amd64/x86.miniroot-safe
module /boot/amd64/x86.miniroot-safe
</source>
</syntaxhighlight>


=== Set speed ===
=== Set speed ===
Line 37: Line 37:
<syntaxhighlight lang=bash>
<syntaxhighlight lang=bash>
setprop ttya-mode '115200,8,n,1,-'
setprop ttya-mode '115200,8,n,1,-'
</source>
</syntaxhighlight>


Active after reboot.
Active after reboot.
Line 45: Line 45:
<syntaxhighlight lang=bash>
<syntaxhighlight lang=bash>
console115200:115200 hupcl opost onlcr:115200::console
console115200:115200 hupcl opost onlcr:115200::console
</source>
</syntaxhighlight>


<syntaxhighlight lang=bash>
<syntaxhighlight lang=bash>
Line 51: Line 51:
# svcadm refresh svc:/system/console-login
# svcadm refresh svc:/system/console-login
# svcadm restart svc:/system/console-login
# svcadm restart svc:/system/console-login
</source>
</syntaxhighlight>


== Set speed in BIOS ==
== Set speed in BIOS ==
Line 71: Line 71:
     Properties:
     Properties:
         speed = 115200
         speed = 115200
</source>
</syntaxhighlight>


=grub rescue>=
=grub rescue>=
Line 82: Line 82:
Entering rescue mode...                                                         
Entering rescue mode...                                                         
grub rescue>         
grub rescue>         
</source>
</syntaxhighlight>




Line 91: Line 91:
grub rescue> ls
grub rescue> ls
(hd0) (hd0,gpt9) (hd0,gpt2) (hd0,gpt1) (hd1)
(hd0) (hd0,gpt9) (hd0,gpt2) (hd0,gpt1) (hd1)
</source>
</syntaxhighlight>


===Find the directory where the normal.mod file resides===
===Find the directory where the normal.mod file resides===
Line 99: Line 99:
grub rescue> ls (hd0,gpt2)/ROOT/Solaris11.3SRU15/@/boot/grub/i386-pc
grub rescue> ls (hd0,gpt2)/ROOT/Solaris11.3SRU15/@/boot/grub/i386-pc
... normal.mod ...
... normal.mod ...
</source>
</syntaxhighlight>


===Set the prefix to the right place===
===Set the prefix to the right place===
Line 108: Line 108:
root=hd0,gpt2
root=hd0,gpt2
grub rescue> set prefix=(hd0,gpt2)/ROOT/Solaris11.3SRU15/@/boot/grub/i386-pc
grub rescue> set prefix=(hd0,gpt2)/ROOT/Solaris11.3SRU15/@/boot/grub/i386-pc
</source>
</syntaxhighlight>


===Now you can load and start the module called "normal"===
===Now you can load and start the module called "normal"===
Line 121: Line 121:


grub>
grub>
</source>
</syntaxhighlight>


==Normal grub is bootet, now start the Solaris==
==Normal grub is bootet, now start the Solaris==
Line 133: Line 133:
$module /ROOT/Solaris11.3SRU15/@/platform/i86pc/amd64/boot_archive
$module /ROOT/Solaris11.3SRU15/@/platform/i86pc/amd64/boot_archive
boot
boot
</source>
</syntaxhighlight>

Latest revision as of 06:01, 26 November 2021

Set SP-console on x86-systems to 115200 Baud

You need to set the new speed in all three places:

  1. grub
  2. SP host serial
  3. BIOS serial

Solaris 11

Set speed and port in grub

# bootadm set-menu console=serial serial_params=0,115200,8,N,1
# bootadm generate-menu -f
# eeprom console=ttya
# eeprom ttya-mode=115200,8,n,1,-

Solaris 10

Set speed and port in grub

/rpool/boot/grub/menu.lst

title Oracle Solaris 10 X86
findroot (pool_rpool,0,a)
kernel$ /platform/i86pc/multiboot -B $ZFS-BOOTFS,console=ttya,ttya-mode="115200,8,n,1,-"
module /platform/i86pc/boot_archive

title Solaris failsafe
findroot (pool_rpool,0,a)
kernel /boot/multiboot -s -B console=ttya,ttya-mode="115200,8,n,1,-"
module /boot/amd64/x86.miniroot-safe

Set speed

/boot/solaris/bootenv.rc

setprop ttya-mode '115200,8,n,1,-'

Active after reboot.

Set console login speed

/etc/ttydefs

console115200:115200 hupcl opost onlcr:115200::console
# svccfg -s svc:/system/console-login setprop ttymon/label= astring: "console115200"
# svcadm refresh svc:/system/console-login
# svcadm restart svc:/system/console-login

Set speed in BIOS

Enter BIOS setup with F2 or CTRL+E, then go to

Advanced -> Serial Port Console Redirection -> Bits per second : 115200

Set speed for SP host serial

-> set SP/serial/host pendingspeed=115200 commitpending=true
Set 'pendingspeed' to '115200'
Set 'commitpending' to 'true'

-> show SP/serial/host speed

  /SP/serial/host
    Properties:
        speed = 115200

grub rescue>

The problem:

GRUB loading...                                                                 
Welcome to GRUB!                                                                
                                                                                
error: couldn't find a valid DVA.                                               
Entering rescue mode...                                                         
grub rescue>


Get into the normal grub

Find your devices:

grub rescue> ls
(hd0) (hd0,gpt9) (hd0,gpt2) (hd0,gpt1) (hd1)

Find the directory where the normal.mod file resides

In this example the boot environment is named Solaris11.3SRU1. Remember to replace Solaris11.3SRU15 with your boot environment name.

grub rescue> ls (hd0,gpt2)/ROOT/Solaris11.3SRU15/@/boot/grub/i386-pc
... normal.mod ...

Set the prefix to the right place

Remember to replace Solaris11.3SRU15 with your boot environment name.

grub rescue> set
prefix=(hd0,gpt2)//@/boot/grub/i386-pc
root=hd0,gpt2
grub rescue> set prefix=(hd0,gpt2)/ROOT/Solaris11.3SRU15/@/boot/grub/i386-pc

Now you can load and start the module called "normal"

grub rescue> insmod normal
grub rescue> normal
                  GNU GRUB  version 1.99,5.11.0.175.2.0.0.42.2

   Minimal BASH-like line editing is supported. For the first word, TAB
   lists possible command completions. Anywhere else TAB lists possible
   device or file completions.

grub>

Normal grub is bootet, now start the Solaris

At the grub> prompt enter the following lines. Remember to replace Solaris11.3SRU15 with your boot environment name.

insmod zfs
zfs-bootfs /ROOT/Solaris11.3SRU15/@/ zfs_bootfs
set kern=/platform/i86pc/kernel/amd64/unix
$multiboot /ROOT/Solaris11.3SRU15/@/$kern $kern -B $zfs_bootfs
insmod gzio
$module /ROOT/Solaris11.3SRU15/@/platform/i86pc/amd64/boot_archive
boot