Removing a driver that panics the kernel during boot

I had the unfortunate experience dealing with a system that panics on boot. I added the Emulex lpfc package which loads the driver during the installation. Then the V490 panics, dumps the system core, and reboots. At which point it panics again since it is trying to load the lpfc driver. In order to figure out what is wrong I need the dump, but the machine won’t boot. To fix the problem I perform a network boot into single use mode, I mounted up the OS, chroot and removed the driver with the rem_drv(1M).

# mount /dev/dsk/c1t0d0s0 /mnt
# chroot /mnt /bin/bash
# rem_drv -b / lpfc
# init 6

Advertisements

Setting ce driver parameters with ce.conf

I am starting to run into a situation where I need both a 100M Full Duplex set on one ce interface, but 1000M Auto Negotiate on another. To put it bluntly this is a chore. I have done it a few times over the last year, but never remember the steps. I am sure there are some descent docs out there but I have pieced this together from looking at the documentation, which was wrong at one point. What you need to do is unambiguously identify the exact PCI device to supply different parameters. Otherwise it is easy you just add the following to /platform/sun4u/kernel/drv/ce.conf:

adv_autoneg_cap=0 \
adv_1000fdx_cap=0 \
adv_1000hdx_cap=0 \
adv_100fdx_cap=1 \
adv_100hdx_cap=0 \
adv_10fdx_cap=0 \
adv_10hdx_cap=0;

Of course you can use ndd in an rcX.d script to set these parameters, but SUN is quick to point out in the documentation that it is not supported. Plus I always viewed the conf files as the best practice.

NOTE: The following should work exactly the same for bge devices

Read the rest of this entry »

SC Alert: DHCP negotiation failed

I started getting these annoying errors on the console from the the V445 I am building, they log about once every couple of minutes:

SC Alert: DHCP negotiation failed, perhaps misconfigured or no DHCP server available

Searching for an answer you don’t get very much. But reading up on the ALOM that ships with the Sun Fire V445, I found the following:

All initial configuration must [be] done through the serial management port on the Sun Fire V210, V240, V250, and V440 servers and Netra 210, 240, 440 servers. Some servers (Sun Fire V215, V245, and V445) support DHCP by default on the network management port. These servers can be configured from the serial management port or network management port, if the attached subnet has a DHCP server. The default network configuration allows a Secure Shell session to be started.

So starting with the Sun Fire V215, V245, and V445 servers, it tries to associate with a DHCP server. If you are not currently using this feature you probably want to turn it off. So here is what you do.

Read the rest of this entry »

Veritas 4.1 encapsulation problem on V445

I installed VxVM 4.1 dozens of times and never had an issue until today. I rebooted after encapsulating the disk and see this:

VxVM vxvm-reconfig ERROR V-5-2-337 The encapsulation of the Boot Disk failed.
VxVM vxvm-reconfig NOTICE V-5-2-393 The system will now be rebooted.

The problem is a bad line in the /usr/lib/vxvm/bin/vxroot. This bug caused the my system to boot without the following lines in /etc/system:

rootdev:/pseudo/vxio@0:0
set vxio:vol_rootdev_is_volume=1

So I had to boot off the network, mount up the drive and add them to /etc/system. After that everything worked fine. I found the answers here. In the future you should be able to edit vxroot before you boot. You might want to make it part of your jumpstart finishing script.

I love being a Solaris Admin

I work on Solaris in some large data centers. Over the last few years I have failed to document all the little nuances that cause me problems. For example today I needed to install Solaris 9 on the new V445 which requires the Solaris 9 09/05 HW release. When I downloaded the isos and attempted to add the image to my Jumpstart server I hit a bring wall.

I decided to blog all the issues I run into. Usually the problem has been solved, but it might take some searching and a bit of your own experience to render the finally fix. I am looking for other Solaris admins will join the with me. So if you are interested please email me and I will set you up an account.