Use this procedure to boot a system, if you need to specify an alternate kernel or an alternate /etc/system file.
To specify an alternate /etc/system file when booting an x86 based system interactively by using the boot -a command, follow these steps:
1. Make backup copies of the /etc/system and the boot/solaris/filelist.ramdisk files.
# cp /etc/system /etc/system.bak # cp /boot/solaris/filelist.ramdisk /boot/solaris/filelist.ramdisk.orig |
2. Add the /etc/system.bak file name to the /boot/solaris/filelist.ramdisk file.
# echo "etc/system.bak" >> /boot/solaris/filelist.ramdisk |
3. Update the boot archive.
# bootadm update-archive -v |
Reboot the system.
# reboot |
If the system displays the Press any key to reboot prompt, press any key to reboot the system.
You can also use the Reset button at this prompt. If the system is shut down, turn the system on with the power switch.
When the boot sequence begins, the GRUB main menu is displayed.
To access the GRUB edit menu, type e.
Use the arrow keys to select the kernel or kernel$ line.
Type e to edit the boot entry line.
Type -a to boot the system interactively, then, press Enter to return to the previous menu.
To boot the system interactively, type b.
Type a default directory for modules, or press Enter to accept the default.
Enter default directory for modules [/platform/i86pc/kernel /kernel /usr/kernel]: |
Type an alternate system file name, alternate-file.
Name of system file [etc/system]: /etc/system.bak |
Pressing Enter without providing an alternate file accepts the default.
Repair the damaged /etc/system file.
Reboot the system to run level 3.
# reboot
syncing file systems... done
rebooting...
GNU GRUB version 0.95 (637K lower / 2096064K upper memory)
===================================================
Solaris 10 10/08 s10x_u6wos_03 X86
Solaris failsafe
=====================================================
Use the and 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.
=====================================================
GNU GRUB version 0.95 (637K lower / 2096064K upper memory)
=====================================================
findroot (pool_rpool,0,a)
kernel$ /platform/i86pc/multiboot -B $ZFS-BOOTFS
module /platform/i86pc/boot_archive
======================================================
Use the and keys to select which entry is highlighted.
Press 'b' to boot, 'e' to edit the selected command in the
boot sequence, 'c' for a command-line, 'o' to open a new line
after ('O' for before) the selected line, 'd' to remove the
selected line, or escape to go back to the main menu.
[ Minimal BASH-like line editing is supported. For the first word, TAB
lists possible command completions. Anywhere else TAB lists the possible
completions of a device/filename. ESC at any time exits. ]
grub edit> kernel$ /platform/i86pc/multiboot -B $ZFS-BOOTFS -a
GNU GRUB version 0.95 (637K lower / 2096064K upper memory)
===================================================
findroot (pool_rpool,0,a)
kernel$ /platform/i86pc/multiboot -B $ZFS-BOOTFS -a
module /platform/i86pc/boot_archive
====================================================
.
.
.
Enter default directory for modules [/platform/i86pc/kernel /kernel /usr/kernel]:
Name of system file [/etc/system]: /etc/system.bak
SunOS Release 5.10 Version Generic_137138-04 32-bit
Copyright 1983-2008 Sun Microsystems, Inc. All rights reserved.
Use is subject to license terms.
Hostname: pups
NIS domain name is ....sfbay.sun.com
Reading ZFS config: done.
Mounting ZFS filesystems: (5/5)
pups console login:
|