SUMMARY: panic - boot: mismatched version of /boot interface: new boot, old kernel

2007-12-24 21:37:00

This note is an FYI / Summary of a jumpstart problem into which
I ran. It is offered here in the hopes that someone else who
is battering his/her head against the proverbial jumpstart-troubleshooting
wall might find this in the archives and thus limit their
head smashing...

Problem: Jumpstart of a newly added system fails with:

panic - boot: mismatched version of /boot interface: new boot, old kernel

Solution: I had duplicate IPs in my /etc/hosts file: changing the IP of the
new system (an E3000) resolved the problem.

This error occurs when the boot file /tftpboot/<IP Addr in Hex> does
not match the 'root' entry in the /etc/bootparams file. This mismatch
may be caused by:

1) an incorrect inetboot file or link in /tftpboot
2) an incorrect /etc/bootparams entry
3) the wrong /etc/bootparams entry being used by tftpboot

I am guessing that most times these problems are probably caused by
either not using the 'add_install_client' script or running
'add_install_client' incorrectly. Problems can occur when

o /etc/hosts (or other nameservice) is updated incorrectly
o /etc/ethers is updated incorrectly
o /etc/bootparams is updated incorrectly
o /tftpboot directory is updated incorrectly
- the file <Host IP in Hex> is linked to the wrong inetboot file
- inetboot file was never updated

NOTE that 'updated incorrectly' can mean typos, or, duplicate
entries.

Manually confirm that /etc/hosts, /etc/ethers, and /etc/bootparams
entries are correct and *unique*.

In my case I had inadvertantly (and stupidly) picked an IP address
that already existed in the /etc/hosts file. So, 'rpc.bootparamd' looked
up IP address 192.168.1.6 in /etc/hosts and got 'huey' instead of
'e3000', and subsequently looked up 'huey' in /etc/bootparams
instead of 'e3000'. 'huey' is an older entry for a non-existant
system (well, it is not up at the present time) that had a root
entry of

root=aslan-hme1:/export/install/2.6/5-98/Solaris_2.6/Tools/Boot

but 'e3000' was using a Solaris 8 (07_01) inetboot file:

% ls -l /tftpboot/C0A80106
<snip> ... <snip> /tftpboot/C0A80106 -> inetboot.SUN4U.Solaris_8-2

so 'e3000' was booting Solaris 8, but was then sent to a Solaris 2.6
root directory... not so good.

Troubleshooting steps:

1) boot -v net - install

NOTE: this step revealed the problem, but I was too dense
to see it at this point.

'boot -v' is very helpful at giving additional boot information.
The output can be very clarifying, especially useful in diagnosing
jumpstart problems.

2) sunsolve search on

"boot: mismatched version of /boot interface: new boot, old kernel"

turned up BugID 4167232, "Solaris 2.5.1 net boots not supported anymore",
but I have neither an E10K nor Solaris 2.5.1, so this was useless.

3) Google search on "mismatched version of /boot interface"

very helpful! found the Sunmanagers archives that have previously discussed
this topic (in particular, *not* using 'add_install_client', but rather
editing files manually)

4) Manually inspecting /etc/hosts, /etc/ethers, /etc/bootparams

I hope I wrote clearly, and I hope this message might help someone in the
future.

--
Steve Camp
Camp Technologies, LLC
steve at camp.com

Comments

Got something to say?

You must be logged in to post a comment.