Mailing List Archive

PXE, Intel, and FC4 problems
Greetings!

I am currently building a PXE distro server for a company that I'm
contracting for, but I'm having some problems. Here's the scoop:

Some of the clients I want to install on are Angstrom blades with Intel
e1000 NICs. Using the pxelinux.0 file on the FC6 distro, I can install
FC6 just fine. However, FC4 bombs. The system pulls it's DHCP address
just fine, and then loads the kernel and initrd.img. However, at that
point, the NIC goes dead, and the install then requests the CDROM and/or
user input for the rest of the install (defeating the purpose of the
unattended install). As I said, the FC6 install works just fine.

After many hours of research, I summised that the e1000 drivers buried
in the FC4 initrd are downrev'd for that card, so I tried a *bunch* of
things to get this to work:

-- Downloaded and built the latest e1000 driver and added to the initrd
for FC4, wouldn't load, same result,

-- Tried using the FC6 vmlinuz/initrd (also FC5), wouldn't work because
the FC6 install moved to yum and the trees are different,

-- Built new vmlinuz kernel with the e1000 driver built in, but it came
back on the load as "Invalid or corrupt kernel" (needs to be an
x86_boot_sector image and not a UNIX ELF executable, how do you build
*that*?),

-- Tried the FC6 pxelinux.0, but was dumped back to the CRDOM prompt again.

After a week and a half of trying everything but waving a dead chicken,
one of my co-workers found a way to load the FC4 image, and then load
the new e1000 driver manually, but, again, this defeats the purpose of
the unattended install. My FC4 PXE install works just fine for the
Broadcom NIC.

I only saw one item about the Intel e1000 NIC on the SYSLINUX/PXELINUX
mailing archives at:

http://syslinux.zytor.com/archives/2007-March/008281.html

but the solution (from Mr. Cody) didn't work for me.

Any ideas, advice, or wisdom?

Thanks, as always.

....k
-=-=-=-

_______________________________________________
SYSLINUX mailing list
Submissions to SYSLINUX@zytor.com
Unsubscribe or set options at:
http://www.zytor.com/mailman/listinfo/syslinux
Please do not send private replies to mailing list traffic.
Re: PXE, Intel, and FC4 problems [ In reply to ]
Kevin G. J. Freels wrote:
>
> -- Built new vmlinuz kernel with the e1000 driver built in, but it came
> back on the load as "Invalid or corrupt kernel" (needs to be an
> x86_boot_sector image and not a UNIX ELF executable, how do you build
> *that*?),
>

"make bzImage", then get arch/i386/boot/bzImage.

-hpa

_______________________________________________
SYSLINUX mailing list
Submissions to SYSLINUX@zytor.com
Unsubscribe or set options at:
http://www.zytor.com/mailman/listinfo/syslinux
Please do not send private replies to mailing list traffic.
Re: PXE, Intel, and FC4 problems [ In reply to ]
On Wed, Aug 01, 2007 at 09:28:17AM -0700, Kevin G. J. Freels wrote:
> Greetings!
>
> I am currently building a PXE distro server for a company that I'm
> contracting for, but I'm having some problems. Here's the scoop:
>
> Some of the clients I want to install on are Angstrom blades with Intel
> e1000 NICs. Using the pxelinux.0 file on the FC6 distro, I can install
> FC6 just fine. However, FC4 bombs. The system pulls it's DHCP address
> just fine, and then loads the kernel and initrd.img. However, at that
> point, the NIC goes dead, and the install then requests the CDROM and/or
> user input for the rest of the install (defeating the purpose of the
> unattended install). As I said, the FC6 install works just fine.
>
> After many hours of research, I summised that the e1000 drivers buried
> in the FC4 initrd are downrev'd for that card, so I tried a *bunch* of
> things to get this to work:
>
> -- Downloaded and built the latest e1000 driver and added to the initrd
> for FC4, wouldn't load, same result,
>
> -- Tried using the FC6 vmlinuz/initrd (also FC5), wouldn't work because
> the FC6 install moved to yum and the trees are different,
>
> -- Built new vmlinuz kernel with the e1000 driver built in, but it came
> back on the load as "Invalid or corrupt kernel" (needs to be an
> x86_boot_sector image and not a UNIX ELF executable, how do you build
> *that*?),
>
> -- Tried the FC6 pxelinux.0, but was dumped back to the CRDOM prompt again.
>
> After a week and a half of trying everything but waving a dead chicken,
> one of my co-workers found a way to load the FC4 image, and then load
> the new e1000 driver manually, but, again, this defeats the purpose of
> the unattended install. My FC4 PXE install works just fine for the
> Broadcom NIC.

1. Expand the FC4 initrd (it should be a compressed ext2 image or a
compressed cpio archive);
2. Expand the file modules/modules.cgz. It's a compressed cpio archive;
3. Replace the original e1000 driver with the one that works;
4. re-create the file modules.cgz (cpio -Hnewc | gzip > modules.cgz);
5. re-create the initrd;
6. save the new iso or replace the initrd in the tftp server.

--
lfr
0/0
Re: PXE, Intel, and FC4 problems [ In reply to ]
> 1. Expand the FC4 initrd (it should be a compressed ext2 image or a
> compressed cpio archive);
> 2. Expand the file modules/modules.cgz. It's a compressed cpio archive;
> 3. Replace the original e1000 driver with the one that works;
> 4. re-create the file modules.cgz (cpio -Hnewc | gzip > modules.cgz);
> 5. re-create the initrd;
> 6. save the new iso or replace the initrd in the tftp server.

I actually did all that (several times, I learned that the initrd
changed from the ext2 image to a cpio archive after FC2). The
modules.cgz has op hex codes for the cards based (I think) on the card
revision. I tried using the one that was included in FC4 and the one
that was included with FC6, but neither worked.

Without getting into serious hardware specs, I have no idea how to get
the information for the op code I need for the correct entry in the
modules.cgz file for that rev of the card.

....k
-=-=-=-

_______________________________________________
SYSLINUX mailing list
Submissions to SYSLINUX@zytor.com
Unsubscribe or set options at:
http://www.zytor.com/mailman/listinfo/syslinux
Please do not send private replies to mailing list traffic.
Re: PXE, Intel, and FC4 problems [ In reply to ]
On Wed, Aug 01, 2007 at 11:00:44AM -0700, Kevin G. J. Freels wrote:
> > 1. Expand the FC4 initrd (it should be a compressed ext2 image or a
> > compressed cpio archive);
> > 2. Expand the file modules/modules.cgz. It's a compressed cpio archive;
> > 3. Replace the original e1000 driver with the one that works;
> > 4. re-create the file modules.cgz (cpio -Hnewc | gzip > modules.cgz);
> > 5. re-create the initrd;
> > 6. save the new iso or replace the initrd in the tftp server.
>
> I actually did all that (several times, I learned that the initrd
> changed from the ext2 image to a cpio archive after FC2). The
> modules.cgz has op hex codes for the cards based (I think) on the card
> revision.

modules.cgz only has the modules object files. For upgrading, only
replacing the file is needed. Be sure to keep the structure, though
(kernelver/arch/module.ko).

> I tried using the one that was included in FC4 and the one
> that was included with FC6, but neither worked.
>
> Without getting into serious hardware specs, I have no idea how to get
> the information for the op code I need for the correct entry in the
> modules.cgz file for that rev of the card.

Only if new PCI IDs are supported by the driver do you need to update
the other module* files:

Add (if not exists) to module-info:
<driver>
eth
"Some info"

Add (if not exists) to modules.dep:
<driver>: <dependencies>

<dependencies> can be found with: modinfo <driver> | grep depends

For modules.pcimap, add the new module to an existing
lib/modules/<version>, run depmod -a <version>, and update the entries
in modules.pcimap for the module with the ones in the new
lib/modules/<version>/modules.pcimap

I think that should be enough.

--
lfr
0/0