0% found this document useful (0 votes)
14 views8 pages

Boot Archive T5 Vir02

Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
14 views8 pages

Boot Archive T5 Vir02

Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 8

Document Display https://support.oracle.com/epmos/faces/SearchDocDisplay?_adf.ctrl-sta...

Copyright (c) 2023, Oracle. All rights reserved. Oracle Confidential.

How to update the boot_archive when system is failing to boot with: The file just loaded does
not appear to be executable - or - WARNING: The following files in / differ from the boot
archive (Doc ID 1431744.1)

In this Document

Symptoms
Changes
Cause
Solution
To update the boot_archive while booted to alternate media
x86

References

APPLIES TO:

Solaris Operating System - Version 10 10/08 U6 and later


Oracle Solaris on SPARC (64-bit)
Oracle Solaris on x86-64 (64-bit)
Oracle Solaris on SPARC (32-bit)
Oracle Solaris on x86 (32-bit)

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

1 de 8 14/07/2023, 04:22 p. m.
Document Display https://support.oracle.com/epmos/faces/SearchDocDisplay?_adf.ctrl-sta...

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


Mar 28 13:42:53 svc.startd[7]: system/boot-archive:default failed fatally: transitioned to maintenance (see 'svcs -xv' f
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'

CHANGES

The boot_archive can become out of sync with the files on the file system if the files have changed, but the boot_archive
was not updated.
Normally the boot_archive is updated during a system reboot.
If for some reason the boot_archive is not updated, the system may fail to boot and the boot_archive will need to be
manually updated while booted from alternate media.

2 de 8 14/07/2023, 04:22 p. m.
Document Display https://support.oracle.com/epmos/faces/SearchDocDisplay?_adf.ctrl-sta...

CAUSE

Beginning with Solaris 10 Update 6 (10/08) and also delivered by sparc kernel patch 137137-09, when Oracle Solaris is
installed, the bootadm command creates a boot archive on the system.
On the x86 platform, the boot archive functionality (and GRUB boot loader) was first delivered beginning with Solaris 10
Update 1 and also delivered by x86 kernel patch 118844-27.

The boot archive is a subset of a root (/) file system. It contains all of the kernel modules, driver.conf files and some
configuration files.
The files in the boot archive are read by the kernel before the root (/) file system is mounted.
After the root (/) file system is mounted, the boot archive is discarded by the kernel from memory.

If any of these files are changed on the OS filesystems, then the boot archive must be rebuilt as it needs to reflect the
same contents as the files which reside on the file system.
Normally this occurs during a system reboot.
If for some reason the boot_archive is not updated, the system may fail to boot and the boot_archive will need to be
manually updated while booted from alternate media.

This document provides the procedure and links to documentation on how to update the boot_archive in a failure to boot
to the system boot disk situation.

SOLUTION

To update the boot_archive while booted to alternate media

******* READ THIS FIRST AND PERFORM THE NECESSARY STEPS FOR YOUR VOLUME MANAGEMENT
CONFIGURATION BEFORE UPDATING THE BOOT_ARCHIVE! *******

Important!

If your boot disk is UFS root and is MIRRORED using volume management software, review the below documents
below before proceeding.

Failure to follow these procedures before making changes to the file systems which underlie the Volume Management
configuration can result in Solaris Operating System corruption the next time that the system is booted.

This corruption may not be repairable and may necessitate that the Solaris Operating System be restored from a
backup or reinstalled.

For Solaris Volume Manager software (a.k.a Solaris Disksuite, Solaris Logical Volume Manager)
GO TO THESE DOCS NOW:
- How to access (root) disk under Solaris Volume Manager Control from failsafe or CDROM (Document 1340586.1)
- Unable to boot from a DiskSuite controlled system disk (Document 1005712.1)

For Veritas Volume Manager


- Do not make any changes to the boot disk(s) without first unencapsulating. If assistance is needed, you must contact
Symantec (Veritas Volume Manager vendor) for support on how to unencapsulate the boot disk.

3 de 8 14/07/2023, 04:22 p. m.
Document Display https://support.oracle.com/epmos/faces/SearchDocDisplay?_adf.ctrl-sta...

If you are not certain if your boot disk is mirrored, see: How to determine if a Solaris system's file systems are
configured with Volume Management software (Document 1428239.1)

******* READ THIS FIRST AND PERFORM THE NECESSARY STEPS FOR YOUR VOLUME MANAGEMENT
CONFIGURATION BEFORE UPDATING THE BOOT_ARCHIVE! *******

Once you have determined if the system boot disk is mirrored using volume management software (or not) per the above
note, and you have followed the required procedures for your Volume Management Software configuration
per the referenced documents, proceed to update the boot_archive following the steps below:

Steps for both UFS and ZFS root to boot the system from alternate environment (if it is not already)

ok boot -F failsafe
(Solaris 10 only)

or

ok boot -L
and select a different boot environment (ZFS only)

or

ok boot cdrom -s

or

boot net -s

x86

For the procedure to boot the failsafe archive and update the boot_archive on the Solaris x86 platform,
please reference Solaris 10 x86 fails to boot with error "panic: cannot mount boot archive" (Document
1018947.1)

Attention! The next steps to mount the root file systems and update the boot_archive are specific to the root file
system configuration on the system.
Proceed to the appropriate section for your configuration.

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

4 de 8 14/07/2023, 04:22 p. m.
Document Display https://support.oracle.com/epmos/faces/SearchDocDisplay?_adf.ctrl-sta...

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:

5 de 8 14/07/2023, 04:22 p. m.
Document Display https://support.oracle.com/epmos/faces/SearchDocDisplay?_adf.ctrl-sta...

# 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

Note: If the system still fails to boot with "The file just loaded does not appear to be executable" after the
boot_archive was updated and it was seen in the above steps that the timestamp of the boot_archive was updated and
bootadm update-archive was run, then it may be necessary to update the bootblock on the root disk(s) as well. See:
How to Install a Boot Block on a System Disk

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:

6 de 8 14/07/2023, 04:22 p. m.
Document Display https://support.oracle.com/epmos/faces/SearchDocDisplay?_adf.ctrl-sta...

# 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

Note: If the system still fails to boot with "The file just loaded does not appear to be executable" after the

7 de 8 14/07/2023, 04:22 p. m.
Document Display https://support.oracle.com/epmos/faces/SearchDocDisplay?_adf.ctrl-sta...

boot_archive was updated and it was seen in the above steps that the timestamp of the boot_archive was updated and
bootadm update-archive was run, then it may be necessary to update the bootblock on the root disk(s) as well. See:
How to install a ZFS boot block (Document 1020196.1)

Additional information about Solaris booting topics is available at the Oracle Solaris 10 Booting Information Center
(Document 1397794.1) and the Oracle Solaris 11 Booting Information Center (Document 1397513.1)

Still have questions about updating the boot_archive in Solaris? Consider asking them in the My Oracle Support
Community (MOSC) for Solaris Installation, Booting and Patching

REFERENCES

NOTE:1020186.1 - How to Mount the ZFS Root Pool (rpool) While Booted from CDrom / DVD Media or Network
NOTE:1397794.1 - Oracle Solaris 10 Booting Resource Center
NOTE:1340586.1 - How to Access (Root) Disk under Solaris Volume Manager Control (SVM) from Failsafe or CDROM and
Update the boot_archive in Solaris 10
NOTE:1428239.1 - How to Determine If a Solaris System's File Systems Are Configured with Volume Management Software
NOTE:1005712.1 - Solaris Volume Manager (SVM) How to Recover from Boot Problems by Unmirroring the Root Disk
NOTE:1020196.1 - How to Install a ZFS Boot Block When Booted from Alternate Device
NOTE:1018947.1 - Solaris 10 x86 Fails to Boot with Error "panic: cannot mount boot archive"
Didn't find what you are looking for?

8 de 8 14/07/2023, 04:22 p. m.

You might also like