Solaris grub: Difference between revisions
From Lolly's Wiki
Jump to navigationJump to search
No edit summary |
m (Text replacement - "</source" to "</syntaxhighlight") |
||
(17 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
[[ | [[Category:Solaris|Grub]] | ||
== SP- | [[Category:Grub|Solaris]] | ||
= Set SP-console on x86-systems to 115200 Baud = | |||
You need to set the new speed in all three places: | |||
# grub | |||
# SP host serial | |||
# BIOS serial | |||
== Solaris 11 == | |||
=== Set speed and port in grub === | |||
<syntaxhighlight lang=bash> | |||
# 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,- | |||
</syntaxhighlight> | |||
== Solaris 10 == | |||
=== Set speed and port in grub === | |||
/rpool/boot/grub/menu.lst | /rpool/boot/grub/menu.lst | ||
< | <syntaxhighlight lang=bash> | ||
title Oracle Solaris 10 X86 | title Oracle Solaris 10 X86 | ||
findroot (pool_rpool,0,a) | findroot (pool_rpool,0,a) | ||
Line 14: | 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 | ||
</ | </syntaxhighlight> | ||
=== | === Set speed === | ||
/boot/solaris/bootenv.rc | /boot/solaris/bootenv.rc | ||
< | <syntaxhighlight lang=bash> | ||
setprop ttya-mode '115200,8,n,1,-' | setprop ttya-mode '115200,8,n,1,-' | ||
</ | </syntaxhighlight> | ||
Active after reboot. | |||
=== | === Set console login speed === | ||
/etc/ttydefs | /etc/ttydefs | ||
< | <syntaxhighlight lang=bash> | ||
console115200:115200 hupcl opost onlcr:115200::console | console115200:115200 hupcl opost onlcr:115200::console | ||
</ | </syntaxhighlight> | ||
< | <syntaxhighlight lang=bash> | ||
# svccfg -s svc:/system/console-login setprop ttymon/label= astring: "console115200" | # svccfg -s svc:/system/console-login setprop ttymon/label= astring: "console115200" | ||
# svcadm refresh svc:/system/console-login | # svcadm refresh svc:/system/console-login | ||
# svcadm restart svc:/system/console-login | # svcadm restart svc:/system/console-login | ||
</ | </syntaxhighlight> | ||
== | == Set speed in BIOS == | ||
Enter BIOS setup with <i>F2</i> or <i>CTRL+E</i>, then go to | |||
<pre> | |||
Advanced -> Serial Port Console Redirection -> Bits per second : 115200 | |||
</pre> | |||
== Set speed for SP host serial == | |||
== | <syntaxhighlight lang=bash> | ||
< | |||
-> set SP/serial/host pendingspeed=115200 commitpending=true | -> set SP/serial/host pendingspeed=115200 commitpending=true | ||
Set 'pendingspeed' to '115200' | Set 'pendingspeed' to '115200' | ||
Line 52: | Line 71: | ||
Properties: | Properties: | ||
speed = 115200 | speed = 115200 | ||
</ | </syntaxhighlight> | ||
=grub rescue>= | =grub rescue>= | ||
The problem: | |||
<syntaxhighlight lang=bash> | |||
GRUB loading... | |||
Welcome to GRUB! | |||
error: couldn't find a valid DVA. | |||
Entering rescue mode... | |||
grub rescue> | |||
</syntaxhighlight> | |||
==Get into the normal grub== | |||
Find your devices: | |||
<syntaxhighlight lang=bash> | |||
grub rescue> ls | |||
(hd0) (hd0,gpt9) (hd0,gpt2) (hd0,gpt1) (hd1) | |||
</syntaxhighlight> | |||
===Find the directory where the normal.mod file resides=== | |||
In this example the boot environment is named Solaris11.3SRU1. | |||
Remember to replace <i>Solaris11.3SRU15</i> with your boot environment name. | |||
<syntaxhighlight lang=bash> | |||
grub rescue> ls (hd0,gpt2)/ROOT/Solaris11.3SRU15/@/boot/grub/i386-pc | |||
... normal.mod ... | |||
</syntaxhighlight> | |||
===Set the prefix to the right place=== | |||
Remember to replace <i>Solaris11.3SRU15</i> with your boot environment name. | |||
<syntaxhighlight lang=bash> | |||
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 | |||
</syntaxhighlight> | |||
===Now you can load and start the module called "normal"=== | |||
<syntaxhighlight lang=bash> | |||
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> | |||
</syntaxhighlight> | |||
==Normal grub is bootet, now start the Solaris== | |||
At the <i>grub></i> prompt enter the following lines. Remember to replace <i>Solaris11.3SRU15</i> with your boot environment name. | |||
<syntaxhighlight lang=bash> | |||
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 | |||
</syntaxhighlight> |
Latest revision as of 05:01, 26 November 2021
Set SP-console on x86-systems to 115200 Baud
You need to set the new speed in all three places:
- grub
- SP host serial
- 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