FAQ for GRUB and the Solaris 10 1/06 OS: The New Bootloader for x86 PlatformsDecember 2005
Q: What is GRUB?
A:
The new bootloader for the Solaris OS on x86 platforms is based on the
popular open source GNU GRUB (Grand Unified Bootloader)
project. A bootloader is a software program that runs
when a computer is first powered up. It is responsible
for loading the operating system kernel into memory and
then transferring control to that kernel.
Q: Is GRUB the new bootloader for the Solaris OS on SPARC platforms, too?
A:
No, GRUB is only for the Solaris OS on x86 systems starting with the Solaris 10 1/06 release. (The new bootloader is available prior to the formal release of the Solaris 10 1/06 OS from either the OpenSolaris Project or the Solaris Express program.)
Q: Do I have to upgrade my x86 computer to the Solaris 10 1/06 OS to get GRUB?
A:
Upgrading is one mechanism to get the new bootloader. Another method is to install Solaris 10 security patches that include kernel patch 118844-21 (or above).
Q: How do I get the system to come up on the GRUB menu on the Solaris OS all the time?
A:
Install Solaris GRUB
stage1 on the master boot section by running
See the Q: I want the system to stay at the GRUB menu and not autoboot. How do I do that?
A:
Set
timeout=-1 in /boot/grub/menu.lst.
Q: Can I use GRUB to boot old Solaris releases?
A:
Not directly. Older Solaris kernels are not multiboot compliant and cannot be loaded by GRUB directly. However, you can chainload by adding the following lines to the GRUB menu in
/boot/grub/menu.lst:
title Solaris 3/05
root (hd0,1) <== Solaris partition
chainloader +1
makeactive
The Q: I have installed a new Solaris release on an
A:
fdisk partition with an old Solaris release on another slice in the same partition. How can I boot the old release?
Make sure that the old Solaris version's root
fs is on a slice with the root tag. The GRUB-boot Solaris slice must have any tag other than root. This is not the default setting after install; the user must edit the slice tags with format(1M).
If the old Solaris release has a boot partition, chainload to the boot partition. If not, install dd if=/usr/platform/i86pc/lib/fs/ufs/pboot of=/dev/rdsk/c0d0s0 bs=512 count=1 Then chainload the slice:
title Solaris 03/05
root (hd0,1,a)
chainloader +1
makeactive
Q: I edited
A:
/boot/grub/menu.lst, but the changes do not show up on the GRUB screen.
Most likely the system is booting from the Solaris boot partition. In this case, the boot partition is mounted at
/stubboot. The active GRUB menu is /stubboot/boot/grub/menu.lst.
Q: How do I set up a
A:
netinstall server to
serve multiple Solaris images?
See Appendix B of the article "GRUB and the Solaris 10 1/06 OS: The New Bootloader for x86 Platforms": http://www.sun.com/bigadmin/features/articles/grub_boot_solaris.html.
Q: Can I use
A:
pxelinux to load the Solaris OS?
You can use
pxelinux to load pxegrub and then load the Solaris OS.
Q: Can I boot from the network without a PXE/DHCP server?
A:
Yes, but only with some kind of local media (floppy or CD-ROM). You can create a GRUB floppy and configure the network via the GRUB command
rarp or ifconfig, and download multiboot and boot_archive via tftp.
Q: How do I apply driver updates when booting the new Solaris release?
A:
When booting the
miniroot, choose 5 from the Install menu. Insert the floppy disk or CD-ROM containing the software when prompted to do so. The software layout on the CD-ROM must follow the same directory hierarchy defined for ITU floppies.
Q: The output of
A:
prtconf -pv does not provide what I used to get. What should I do?
The kernel is now responsible for device enumeration. All device information should be available via
prtconf -v.
Q: I have an old machine with no ACPI table. Can I still boot the Solaris OS?
A:
Yes, if no ACPI table is found, the boot code automatically uses a set of defaults, which configures standard PS/2 keyboard/mouse and serial/parallel ports. You can manually disable ACPI by adding the boot option
-B acpi-user-options=2 (see also eeprom(1M)).
Q: Can I customize the failsafe archive and put it on a USB stick as a portable rescue image?
A:
The current failsafe archive is the
miniroot in gzipped UFS format. It can be mounted as a lofi device and operated using file system operations. You may add drivers to the archive for enhanced hardware support.
Adding application packages is generally not supported because the miniroot is a minimal environment intended only for OS install and upgrade operations.
Q: How do I redirect the GRUB console to the serial line?
A:
In the Solaris OS, use
eeprom console=ttya (or ttyb) to redirect the OS console. If BIOS console redirection is available, set that. If the BIOS console cannot be redirected, you can redirect GRUB output to ttya by adding the following lines to /boot/grub/menu.lst:
serial --unit=0 --speed=9600
terminal serial
Setting both BIOS console redirection and GRUB console redirection is not recommended. They may interfere with each other. Q: I somehow trashed my boot archive after going into failsafe mode and fixing a configuration file. No matter how many times I rebooted into failsafe mode, I couldn't get it to regenerate the archive and allow me to boot up.
A:
Boot into failsafe mode, and after answering 'yes' to the 'updated archives' question, your real disk-based root file system should be mounted on
/a. Run the command - bootadm update-archive -f -R /a.
Q: GRUB is normally installed in the Solaris slice. Would there be circumstances where it should be installed in the Master Boot Record (MBR) instead?
A:
If you install GRUB into the Master Boot Record (
installgrub -m <stage1> <stage2> /dev/rdsk/<slice>) the system will start with GRUB, no matter if the Solaris partition is activated or not.
But if you install a second OS that overwrites the MBR there is no chance to recover the Solaris version of GRUB except by booting from an installation DVD and running the So from the recovery perspective, you are probably better off leaving the Solaris 10 1/06 version of GRUB in the Solaris partition. Q: I have installed the Solaris OS on a system, but I cannot boot it.
A:
Verify that the BIOS boot disk is set to the one the Solaris OS is installed on, and the Solaris partition is active.
Q: Should I create a Solaris boot partition at install time?
A:
No. From Solaris 10 1/06 forward, a fresh install will not create a boot partition or reuse an existing boot partition. When upgrading from a previous Solaris release, the boot partition is retained and mounted at
/stubboot.
Discuss and comment on this resource in the BigAdmin Wiki
Unless otherwise licensed, code in all technical manuals herein (including articles, FAQs, samples) is provided under this License. |
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||