|
Symptom(s): Need to do a Linux* PXE installation with Intel® PRO/1000 adapters.
Solution: Overview: To do a PXE installation of Linux with the latest Intel® drivers for PRO/1000 adapters, one must modify the ramdisk image that gets transmitted via tftp to the client.
Part A: Compile a version of the driver to work with the boot kernel
- Download and decompress the driver
- In the src directory edit the Makefile
- In the header of the Makefile turn off iANS and PRODIAG
- Close & save the Makefile
- make clean
- make CFLAGS_EXTRA="-D__BOOT_KERNEL_BOOT=1 -D__BOOT_KERNEL_SMP=0 -D__BOOT_KERNEL_BIGMEM=0 -D__BOOT_KERNEL_UP=0"
This should compile the driver for the Redhat BOOT kernel (e1000.o)
Part B: Unzip and mount the image you wish to modify:
- Locate the initrd ramdisk image you wish to modify
- gzip -dc initrd.img> /tmp/initrd.ext2
- mkdir /mnt/initrd
- mount -o loop /tmp/initrd.ext2 Z
Part C: Decompress the modules.
- gzip -dc /mnt/initrd/modules/modules.cgz >/tmp/modules.cpio
- cd /tmp
- zcat /tmp/modules.cpio | cpio -ivd
- Copy the e1000.o into the directory created by the last command
- cd /tmp (if you left)
- find (directory created by cpio)/ | cpio -ov -H crc | gzip > modules.cgz
- cp /tmp/modules.cgz /mnt/initrd/modules (and replace existing)
Part D: Add new driver info to modules and recompress the image
- cd /mnt/initrd/modules
- edit module-info and copy the pro100 lines modifying them for the e1000.o module
- Add the new device ID's to the file called pcitable to support auto-detection of drivers (otherwise you will need to manually select the correct driver from the client during install)
- leave the /mnt/initrd directory structure
- umount /mnt/initrd
- gzip -9 /tmp/initrd.ext2
- mv /tmp/initrd.ext2.gz /tmp/initrd.img
You can now use the image in the /tmp directory.
Operating System:
This applies to:
|