James Carlson wrote:
> Bill Shannon writes:
>> I saw another message about the "bootadm update-archive" command and
>> thought maybe that might be related.  Can someone explain how that
>> command relates to boot environments?
> 
> It doesn't really relate to them.
> 
> The archive is part of the GRUB booting process.  GRUB is able to load
> an image of the system and start it running.  That image contains a
> subset of the kernel components needed to get the file systems up and
> running so that we can read the rest of everything off of disk (or
> network or whereever the root file system actually comes from).
> 
> Because it contains copies of some of the kernel parts, it needs to be
> kept in sync as the kernel itself is modified by upgrade and the
> like.  Running "bootadm update-archive" (which is automatically
> invoked on certain commands, such as "reboot") causes the system to
> check the archive and regenerate it if any of the components have
> changed on disk.

Yes, when I rebooted after image-update, I believe it regenerated the
archive.

>> I'm running in an old boot environment.  (My newer boot environments
>> fail to boot, as described above.)  Here's what I get:
> [...]
>> $ pfexec /usr/sbin/bootadm update-archive -vn
>> cannot find: /etc/cluster/nodeid: No such file or directory
>>      changed /etc/devices/devid_cache
> 
> That means that a new archive should be created.
> 
>> Do any of those errors suggest a real problem?
> 
> The errors it produces are meaningless.  They relate to odd files that
> would be in the archive if present, but that aren't needed.

I guess the output from that command could be improved then...

>> If I do the update-archive while running in this old boot environment,
>> what effect might it have on the ability of newer boot environments to
>> boot properly?
> 
> None at all.  Each boot environment has its own archive.

So if I create a new archive for the old boot environment I'm running
in, it will only apply to that old boot environment.  Since the kernel
in that old boot environment hasn't been changed, why would I need to
update the archive?

Do I need to be running in a particular boot environment in order to
update the archive for that boot environment?  Seems like there must
be some way to create the boot archive for a boot environment without
running in that boot environment so that the new boot environment has
a valid archive when it's booted.

Would a bad archive for a boot environment prevent me from booting
into that boot environment?  I assume so.

I think the errors I'm getting from grub about the broken boot
environment are low level filesystem errors, and aren't related
to the boot archive, so this probably isn't related to my original
problem, but still I'm trying to understand how all these pieces
fit together in order to debug my original problem.

Reply via email to