1. Impact
Solaris 10 x86 platform Kernel Patch 141445-09 delivers support for a new zpool version. This new zpool version has two potential impacts for systems with a ZFS root file system which may lead to a non-booting system. This is due to a failure of this Kernel Patch to perform the corresponding update of GRUB (GRand Unified Bootloader) and the failsafe archive.
The installation of the Kernel Patch 141445-09 will initially not have any negative impact. If however, at a later date a ZFS root pool version upgrade is carried out using either "zpool upgrade rpool" or "zpool upgrade -a", then the system will become vulnerable to three issues:
- The system will fail to come up after the next regular reboot.
- New boot environments (BEs) created after the root pool version upgrade will not be able to boot.
- A boot of the failsafe archive will fail to find the root and will not boot.
Note: This issue does not impact systems that are upgraded to Solaris 10 10/09.
2. Contributing Factors
This issue can occur in the following releases:
x86 Platform
•Solaris 10 with patch 141445-09 and without patches 142934-01 and 125556-10
Notes: Solaris 8 and 9 and OpenSolaris on the SPARC and x86 platforms, Solaris 10 on the SPARC platform, and Solaris 10 10/09 or later updates on the x86 platform are not impacted by this issue.
Systems are only vulnerable to this issue if they use a zfs(1M) root file system. The root file system type can be determined by executing the following command :
# df -n / / : zfsThe above output shows the response if root is a zfs(1M) file system.
3. Symptoms
When this issue occurs, the errors seen will depend upon the scenario:
In the case where a normal reboot occurs or a newly created BE is activated (not using the failsafe archive), the following will be seen:
GNU GRUB version 0.95 (615K lower / 4062144K upper memory) 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. grub>In the case where the failsafe archive is booted, the following will be seen:
SunOS Release 5.10 Version Generic_139556-08 32-bit Copyright 1983-2009 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Booting to milestone "milestone/single-user:default". Configuring devices. Searching for installed OS instances... No installed OS instance found.4. Workaround
The issue where GRUB fails to boot the OS instance can be avoided by reinstalling GRUB. More specifically, after applying Kernel Patch 141445-09 and rebooting the system, the following commands need to be executed to reinstall GRUB. These commands must be run before the next reboot and before the creation any new boot environments (BEs) following upgrade of the root pool:
# /sbin/installgrub /boot/grub/stage1 /boot/grub/stage2 /dev/rdsk/cXdYs0 # cp /sbin/installgrub /etc/lu/installgrub.findroot # cp /boot/grub/stage1 /etc/lu/stage1.findroot # cp /boot/grub/stage2 /etc/lu/stage2.findrootFor a zfs mirror, installgrub needs to be run on each disk in the mirror.
To avoid the issue with the failsafe archive, the correct failsafe archive files from the Solaris 10 10/09 media can be copied over to the system as follows:
View the contents of the Solaris 10 10/09 media :
# ls Copyright Solaris_10 JDS-THIRDPARTYLICENSEREADME boot License installer # cd boot # ls amd64 grub multiboot platform x86.minirootCopy the miniroot to /boot directory of the system.
# cp x86.miniroot /boot/x86.miniroot-safeOn amd64 class systems, also copy the miniroot from the amd64 directory of the Solaris 10 10/09 media:
# ls Copyright Solaris_10 JDS-THIRDPARTYLICENSEREADME boot License installer # cd boot/amd64 # ls x86.miniroot # cp x86.miniroot /boot/amd64/x86.miniroot-safeIt may be necessary to create the directory /boot/amd64 on amd64 class systems.
5. Resolution
The failsafe archive issue (6877035) is addressed in the following release:
x86 Platform
•Solaris 10 with patch 142934-01 or later
The GRUB issue (6902220) is addressed in the following release:
•Solaris 10 with patch 125556-10 or later
Note: Patch 125556-10 needs to be applied to the system prior to the patch 141445-09 for it to be effective in resolving the GRUB re-installation issue.
Solaris 10 x86 platform Kernel Patch 141445-09 delivers support for a new zpool version. This new zpool version has two potential impacts for systems with a ZFS root file system which may lead to a non-booting system. This is due to a failure of this Kernel Patch to perform the corresponding update of GRUB (GRand Unified Bootloader) and the failsafe archive.
The installation of the Kernel Patch 141445-09 will initially not have any negative impact. If however, at a later date a ZFS root pool version upgrade is carried out using either "zpool upgrade rpool" or "zpool upgrade -a", then the system will become vulnerable to three issues:
- The system will fail to come up after the next regular reboot.
- New boot environments (BEs) created after the root pool version upgrade will not be able to boot.
- A boot of the failsafe archive will fail to find the root and will not boot.
Note: This issue does not impact systems that are upgraded to Solaris 10 10/09.
2. Contributing Factors
This issue can occur in the following releases:
x86 Platform
•Solaris 10 with patch 141445-09 and without patches 142934-01 and 125556-10
Notes: Solaris 8 and 9 and OpenSolaris on the SPARC and x86 platforms, Solaris 10 on the SPARC platform, and Solaris 10 10/09 or later updates on the x86 platform are not impacted by this issue.
Systems are only vulnerable to this issue if they use a zfs(1M) root file system. The root file system type can be determined by executing the following command :
# df -n / / : zfsThe above output shows the response if root is a zfs(1M) file system.
3. Symptoms
When this issue occurs, the errors seen will depend upon the scenario:
In the case where a normal reboot occurs or a newly created BE is activated (not using the failsafe archive), the following will be seen:
GNU GRUB version 0.95 (615K lower / 4062144K upper memory) 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. grub>In the case where the failsafe archive is booted, the following will be seen:
SunOS Release 5.10 Version Generic_139556-08 32-bit Copyright 1983-2009 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Booting to milestone "milestone/single-user:default". Configuring devices. Searching for installed OS instances... No installed OS instance found.4. Workaround
The issue where GRUB fails to boot the OS instance can be avoided by reinstalling GRUB. More specifically, after applying Kernel Patch 141445-09 and rebooting the system, the following commands need to be executed to reinstall GRUB. These commands must be run before the next reboot and before the creation any new boot environments (BEs) following upgrade of the root pool:
# /sbin/installgrub /boot/grub/stage1 /boot/grub/stage2 /dev/rdsk/cXdYs0 # cp /sbin/installgrub /etc/lu/installgrub.findroot # cp /boot/grub/stage1 /etc/lu/stage1.findroot # cp /boot/grub/stage2 /etc/lu/stage2.findrootFor a zfs mirror, installgrub needs to be run on each disk in the mirror.
To avoid the issue with the failsafe archive, the correct failsafe archive files from the Solaris 10 10/09 media can be copied over to the system as follows:
View the contents of the Solaris 10 10/09 media :
# ls Copyright Solaris_10 JDS-THIRDPARTYLICENSEREADME boot License installer # cd boot # ls amd64 grub multiboot platform x86.minirootCopy the miniroot to /boot directory of the system.
# cp x86.miniroot /boot/x86.miniroot-safeOn amd64 class systems, also copy the miniroot from the amd64 directory of the Solaris 10 10/09 media:
# ls Copyright Solaris_10 JDS-THIRDPARTYLICENSEREADME boot License installer # cd boot/amd64 # ls x86.miniroot # cp x86.miniroot /boot/amd64/x86.miniroot-safeIt may be necessary to create the directory /boot/amd64 on amd64 class systems.
5. Resolution
The failsafe archive issue (6877035) is addressed in the following release:
x86 Platform
•Solaris 10 with patch 142934-01 or later
The GRUB issue (6902220) is addressed in the following release:
•Solaris 10 with patch 125556-10 or later
Note: Patch 125556-10 needs to be applied to the system prior to the patch 141445-09 for it to be effective in resolving the GRUB re-installation issue.
No comments:
Post a Comment