Fast Reboot becomes the default operating mode on x86 in build 112.
All new features introduced by PSARC 2008/382 Fast Reboot in build 100
are now enabled by default without the -f flag.
Table of Contents
============================================================================
1. boot-config service
1.1 fastreboot_default
1.2 fastreboot_onpanic
2. End Users
2.1 Reboot to default entry in GRUB menu.lst
2.2 Reboot to the 4th entry in GRUB menu.lst
2.3 Reboot through the BIOS, such as for netinstall
2.4 Fast Reboot features introduced by Phase I, now without -f
3. Kernel Developers
3.1 Force Fast Reboot
3.2 Debugging early panics occur between mountroot and multiuser
4. Failure Conditions
4.1 Can't process GRUB menu
4.2 Not all Drivers have implemented quiesce(9E)
4.3 On xVM
4.4 Among Blacklisted platforms
4.5 Cannot allocate enough memory under 1G
============================================================================
1. boot-config service
svc:/system/boot-config:default
1.1 fastreboot_default
fastreboot_default is set to true by default except on
guests on VirtualBox, guests on VMware, and Tyan MCP55
reference whitebox.
To disable the Fast Reboot by default behavior,
# svccfg -s "system/boot-config:default" \\
setprop config/fastreboot_default=false
# svcadm refresh svc:/system/boot-config:default
1.2 fastreboot_onpanic
# svccfg -s "system/boot-config:default" \\
setprop config/fastreboot_onpanic=false
# svcadm refresh svc:/system/boot-config:default
Disabling boot-config:default has no effect on panic reboot
behavior.
2. End Users
2.1 Reboot to default entry in GRUB menu.lst
# reboot
or
# init 6
This can be done after setting the new default entry with
"luactivate" or "beactivate".
2.2 Reboot to the 4th entry in GRUB menu.lst
# reboot 4
2.3 Reboot through the BIOS, such as for netinstall
# reboot -p
2.4 Fast Reboot features introduced by Phase I, now without -f
# reboot -e zfsbe2
# reboot -- 'rpool/ROOT/zfsroot2'
# reboot -- '/dev/dsk/c0t0d0s3'
# reboot -- '/platform/i86pc/sherry-kernel/amd64/unix -k'
# reboot -- '/mnt/platform/i86pc/sherry-kernel/amd64/unix -k'
# reboot -- '-ks'
3. Kernel Developers
3.1 Force Fast Reboot
If there are drivers on the system without quiesce(9E)
support, one can first try to unload the drivers using
modunload(1M). If the driver does not unload, and you know
that the device it manages does not initiate DMA or generate
interrupts, you can patch force_fastreboot to 1 in /etc/system.
# echo "set force_fastreboot=1" >> /etc/system
# echo "force_fastreboot/W" | mdb -kw
3.2 Debugging early panics occur between mountroot and multiuser
The boot-config service has dependencies on multiuser.
Developers that need to debug early panics can patch a
global variable fastreboot_onpanic in /etc/system.
# echo "set fastreboot_onpanic=1" >> /etc/system
# echo "fastreboot_onpanic/W" | mdb -kw
4. Failure Conditions
4.1 Can't process GRUB menu
The only GRUB commands we can process right now are
default, findroot, bootfs, kernel, kernel$, module, module$
timeout is ignored.
If the GRUGB menu contains other commands such as root,
chainload, you will see something like this:
reboot: Failed to process GRUB menu entry for fast reboot.
Invalid GRUB entry
reboot: Falling back to regular reboot.
Below are other GRUB related error messages that you might see:
Invalid argument
xVM is not supported
Kernel file is not unix
No such file or directory
Kernel path is not absolute
Failed to open kernel file
Bootsign not found
Unknown bootfs filesystem
...
4.2 On xVM
4.2.1. On metal, attempting to reboot to xVM:
bash-3.2# reboot 1
reboot: Failed to process GRUB menu entry for fast reboot.
xVM is not supported
reboot: Falling back to regular reboot.
4.3 Not all Drivers have implemented quiesce(9E)
4.4 Among Blacklisted platforms
As of integration the following platforms have been blacklisted:
1. Guests on Virtualbox.
2. Guests on VMware
3. Tyan MCP55 reference whitebox
You can attempt to fast reboot by invoking reboot with "reboot -f",
but your mileage might vary.
4.5 Cannot allocate enough memory under 1G
WARNING: Fastboot: Couldn't allocate 0x11000 bytes below 1G to do fast
reboot