« on: September 09, 2008, 06:54:26 am »
Adding some info and a quick fix for this problem.
Basically, when a computer PXE boots it loads a configuration file from the tftp server which tells the boot loader what settings and what kernel to load. This configuration file is assigned based on MAC address. If for whatever reason the MAC address stored in the Pluto database does not match the MAC address used by the PXE boot rom of your NIC, then this configuration file never gets loaded and your computer will continuously boot the "first time setup" configuration file.
This is a big issue with some newer nForce chipsets. Older nForce NICs had a firmware bug that caused the MAC address to be stored in reversed order. The Linux driver solved this issue by reordering the MAC bits so they were in the correct order. With the newer nForce NICs, the firmware was changed so the order was no longer reversed. The driver however still reverses the MAC bits, so the result is a reversed MAC in the OS.
There is a fairly easy way to fix this. You'll need your NIC's MAC address from the PXE boot rom, NOT from the Linux boot messages. This will usually be displayed when the PXE boot sequence tries to get an IP. Mine was "01:1F:D0:83:EA:AE".
You'll also need to know your MD's device number. This is displayed before the system reboots. It will say "Assigned permanent IP '192.168.0.100' to device '54'" or similar. Write down what number it says after device. This is your device number.
On the core, as root, go into the folder "/tftpboot/pxelinux.cfg". Look for the file that contains the device number matching your MD. Using 54 as an example, you would look for the line "KERNEL 54/vmlinuz". This file is the configuration info your MD is SUPPOSE to load, but isn't. In my case the file was "01-ae-ea-83-d0-1f-00". Notice how it's the opposite of the MAC address I got from the PXE boot above. In your case it might not be the opposite.
Each file is named after the MAC address of the client it belongs to, and is prefixed by "01-". You'll want to symlink the configuration file to a new filename, which matches the MAC address you wrote down earlier.
Using my information as an example, I would do this: "ln 01-ae-ea-83-d0-1f-00 01-00-1f-d0-83-ea-ae". You may use a symlink instead, if you do not intend to apply the immutable attribute (below).
A quick reboot and my MD is up and running. I'm not entirely sure if the pxelinux.cfg folder is ever wiped and regenerated from the database. As a precaution against scripts removing your link, you may make it immutable by issuing "chattr +i 01-00-1f-d0-83-ea-ae".