Chinaunix首页 | 论坛 | 博客
  • 博客访问: 3150652
  • 博文数量: 443
  • 博客积分: 11301
  • 博客等级: 上将
  • 技术积分: 5678
  • 用 户 组: 普通用户
  • 注册时间: 2004-10-08 12:30
个人简介

欢迎加入IT云增值在线QQ交流群:342584734

文章分类

全部博文(443)

文章存档

2022年(1)

2021年(1)

2015年(2)

2014年(1)

2013年(1)

2012年(4)

2011年(19)

2010年(32)

2009年(2)

2008年(4)

2007年(31)

2006年(301)

2005年(42)

2004年(2)

分类: SOLARIS

2022-04-02 11:48:46

SYMPTOMS

If a Solaris system fails to boot with messages similar to the following are encountered, the system will need to be booted from alternate Oracle Solaris media ( e.g. the failsafe archive, cd / dvd media, or an install image over the network) in order to update the boot_archive:

ok boot
Boot device: disk:a  File and args:
Warning: Fcode sequence resulted in a net stack depth change of 1

The file just loaded does not appear to be executable.
ok
or

ok boot
Boot device: disk:a  File and args:
ERROR: /packages/ufs-file-system: Last Trap: Division by Zero

The file just loaded does not appear to be executable.
ok
or

WARNING: The following files in / differ from the boot archive:

   changed /kernel/drv/md.conf

The recommended action is to reboot to the failsafe archive to correct
the above inconsistency. To accomplish this, on a GRUB-based platform,
reboot and select the "Solaris failsafe" option from the boot menu.
On an OBP-based platform, reboot then type "boot -F failsafe". Then
follow the prompts to update the boot archive. Alternately, to continue
booting at your own risk, you may clear the service by running:
"svcadm clear system/boot-archive"

Mar 28 13:42:53 svc.startd[7]: svc:/system/boot-archive:default: Method "/lib/svc/method/boot-archive" failed with exit status 95.
Mar 28 13:42:53 svc.startd[7]: system/boot-archive:default failed fatally: transitioned to maintenance (see 'svcs -xv' for details)
Requesting System Maintenance Mode
(See /lib/svc/share/README for more information.)
Console login service(s) cannot run
 

Note:  The "files that differ" in the above message may be different than the above example, and may be any file contained within the boot_archive.
or

after system has been patched, boot messages such as:

Dec 01 10:06:39 UTC 2012 Boot device: /pci@0,600000/pci@0/pci@8/pci@0/scsi@1/disk@0,0:a File and args: -s
Dec 01 10:06:46 UTC 2012 SunOS Release 5.10 Version Generic_144488-14 64-bit
Dec 01 10:06:46 UTC 2012 Copyright (c) 1983, 2011, Oracle and/or its affiliates. All rights reserved.
Dec 01 10:07:08 UTC 2012 /kernel/fs/sparcv9/mntfs: undefined symbol 'zone_hold_ref'
Dec 01 10:07:08 UTC 2012 /kernel/fs/sparcv9/mntfs: undefined symbol 'zone_init_ref'
Dec 01 10:07:08 UTC 2012 /kernel/fs/sparcv9/mntfs: undefined symbol 'zone_rele_ref'
Dec 01 10:07:08 UTC 2012 WARNING: mod_load: cannot load module 'mntfs'
Dec 01 10:07:08 UTC 2012 WARNING: Cannot mount /etc/mnttab
Dec 01 10:07:08 UTC 2012 /kernel/drv/sparcv9/ip: undefined symbol 'ucredminsize'
Dec 01 10:07:08 UTC 2012 WARNING: mod_load: cannot load module 'ip'
Dec 01 10:07:08 UTC 2012 /kernel/fs/sparcv9/sockfs: undefined symbol 'sctp_disconnect'
Dec 01 10:07:08 UTC 2012 /kernel/fs/sparcv9/sockfs: undefined symbol 'sctp_getsockname'
Dec 01 10:07:08 UTC 2012 /kernel/fs/sparcv9/sockfs: undefined symbol 'nd_free'
Dec 01 10:07:09 UTC 2012 /kernel/fs/sparcv9/sockfs: undefined symbol 'nd_load'
Dec 01 10:07:09 UTC 2012 /kernel/fs/sparcv9/sockfs: undefined symbol 'UDP_WR'
Dec 01 10:07:09 UTC 2012 /kernel/fs/sparcv9/sockfs: undefined symbol 'sctp_create'
Dec 01 10:07:09 UTC 2012 /kernel/fs/sparcv9/sockfs: undefined symbol 'sctp_close'
Dec 01 10:07:09 UTC 2012 /kernel/fs/sparcv9/sockfs: undefined symbol 'sctp_listen'
Dec 01 10:07:09 UTC 2012 /kernel/fs/sparcv9/sockfs: undefined symbol 'udp_output'
Dec 01 10:07:09 UTC 2012 /kernel/fs/sparcv9/sockfs: undefined symbol 'sctp_recvd'
Dec 01 10:07:09 UTC 2012 /kernel/fs/sparcv9/sockfs: undefined symbol 'mi_mpprintf'
Dec 01 10:07:09 UTC 2012 /kernel/fs/sparcv9/sockfs: undefined symbol 'sctp_alloc_hdr'
Dec 01 10:07:09 UTC 2012 /kernel/fs/sparcv9/sockfs: undefined symbol 'sctp_get_opt'
Dec 01 10:07:09 UTC 2012 /kernel/fs/sparcv9/sockfs: undefined symbol 'tcp_wput'
Dec 01 10:07:09 UTC 2012 /kernel/fs/sparcv9/sockfs: undefined symbol 'mi_sprintf'
Dec 01 10:07:09 UTC 2012 /kernel/fs/sparcv9/sockfs: undefined symbol 'sctp_bind'
Dec 01 10:07:09 UTC 2012 /kernel/fs/sparcv9/sockfs: undefined symbol 'sctp_getpeername'
Dec 01 10:07:09 UTC 2012 /kernel/fs/sparcv9/sockfs: undefined symbol 'sctp_sendmsg'
Dec 01 10:07:09 UTC 2012 /kernel/fs/sparcv9/sockfs: undefined symbol 'sctp_set_opt'
Dec 01 10:07:10 UTC 2012 /kernel/fs/sparcv9/sockfs: undefined symbol 'sctp_connect'
Dec 01 10:07:10 UTC 2012 WARNING: mod_load: cannot load module 'sockfs'


SOLUTION


A.Steps to update the boot_archive for UFS root

For UFS with a Solaris Volume Manager encapsulated root disk:
Reference: How to access (root) disk under Solaris Volume Manager Control from failsafe or CDROM (Document 1340586.1)
which includes the procedure to update the boot_archive in an Solaris Volume Manager encapsulated root environment



For UFS with no Solaris Volume Manager:
Fsck, then mount the root file system to an alternate mount point:
# fsck /dev/rdsk/c#t#d#s#
c# is the controller number, t# is the target number, d# is the disk number and s# is the slice number
Then mount the partition(s) to the mount point /mnt and maintain the same hierarchy:
# mount /dev/dsk/c#t#d#s# /mnt
 

Steps to update the boot_archive:
1. Note the timestamp and size of the existing boot_archive:
# cd /mnt/platform/`uname -m`
# ls -l boot_archive


2. Use bootadm to update the boot_archive:
# bootadm update-archive -R /mnt


3. Check the timestamp and size if the boot_archive again to make certain it was updated:
# ls -l boot_archive


4. If the timestamp on the boot_archive has not changed, the update of the boot_archive can be forced with:
# bootadm update-archive -fvR /mnt
Note: The bootadm update-archive command will take longer to finish when -f is used.

Example:
# bootadm update-archive -fvR /mnt
forced update of archive requested
cannot find: /mnt/etc/cluster/nodeid: No such file or directory
cannot find: /mnt/etc/mach: No such file or directory
Creating boot_archive for /mnt
updating /mnt/platform/sun4u/boot_archive
15+0 records in
15+0 records out
Note: The above "cannot find" messages are expected.


5. Check the timestamp and size if the boot_archive again. It should reflect a current timestamp now:
# ls -l boot_archive


6. Unmount the root file system and reboot:
# cd /
# umount /mnt
# reboot


B.Steps to update the boot_archive for ZFS root

Import and mount the ZFS root pool (rpool)
Reference:  Document 1020186.1 How to mount zfs root pool (rpool) booting from DVD or network.

Steps to update the boot_archive:

1. Note the timestamp and size of the existing boot_archive:
# cd /mnt/platform/`uname -m`
# ls -l boot_archive


2. Use bootadm to update the boot_archive:
# bootadm update-archive -R /mnt


3. Check the timestamp and size if the boot_archive again to make certain it was updated:
# ls -l boot_archive


4. If the timestamp on the boot_archive has not changed, the update of the boot_archive can be forced with:
# bootadm update-archive -fvR /mnt
Note:  The bootadm update-archive command will take longer to finish when -f is used.

Example:
# bootadm update-archive -fvR /mnt
forced update of archive requested
cannot find: /mnt/etc/cluster/nodeid: No such file or directory
cannot find: /mnt/etc/mach: No such file or directory
Creating boot_archive for /mnt
updating /mnt/platform/sun4u/boot_archive
15+0 records in
15+0 records out
Note: The above "cannot find" messages are expected.

5. Check the timestamp and size if the boot_archive again.  It should reflect a current timestamp now:
# ls -l boot_archive


6. Export the root pool and reboot:
# cd /
# zpool export rpool
# reboot
阅读(973) | 评论(0) | 转发(0) |
0

上一篇:CentOS 7.8配置本地yum源时发现python没了

下一篇:没有了

给主人留下些什么吧!~~