We had big problems getting PXE imaging to work on our 40 brand new PCs with Serial ATA (SATA) disks.
But we finally ended up with these two PXE files - linux.1 and linux.2 which have support for SATA and support for almost all Intel and Broadcom NICs. I would like to share them with you.
Download pxe_sata.zip. (above)
How to create your own ZEN Linux kernel files with SATA support
A few people emailed me and asked me for a detailed how to. Here is a description of how I made the Linux Imaging files for Novell's ZENworks for Desktops 4.0.1.
- Install a linux distribution that you are familiar with. I did it on an old RedHat 7.1.
- Log on as root and open a console window.
- Get the source code for the kernel (2.4.22), Alan Cox's SATA patch (SATA support via SCSI layer), Novell's ZEN Patch and the rro-patch.
- Unpack the source code for the kernel and apply the two patches (in regular order).
tar jxvf linux-2.4.22.tar.bz2
bzcat ../patch-2.4.22-ac4.bz2| patch -p1
cat ../patch-2.4.22-ac4-zen| patch -p1
cat ../patch-2.4.22-ac4-zen-rro| patch -p1
- Get a "predefined" configuration file for the kernel and rename it.
mv config-2.4.22-ac4-zen .config
- Start menuconfig and apply your own special drivers if necessary.
The above listed .config file already has SATA support enabled and some new NIC's enabled. You can also enable or disable "Kernel debugging" under the menu point "Kernel hacking" I guess it must be somewhere here in the menus you can enable or disable USB keyboard support.
Make sure that Math emulation is disabled.
- Make menuconfig
- Compile the kernel and the matching kernel modules
make clean dep bzImage modules modules_install
- Get the ZenDisk package, so we can make our own ZEN kernel files
tar zxvf zendist-4.0-p1.tgz
- Copy our new kernel and modules to the ZenDist build system
cp /usr/src/linux-2.4.22/arch/i386/boot/bzImage bootdisk/firstdisk/kernel
cp -r /lib/modules/2.4.22-ac4 bootdisk/thirddisk/lib/modules
- Remove unnecessary old kernelmodules (2.4.18)
rm -rf bootdisk/thirddisk/lib/modules/2.4.18
- Generate the images and check for errors
- The new image files are ready to use and can be found in /usr/src/build/images
Comments and known issues
- I built my own kernel only because we needed the files for the PXE system. Therefore I haven't tested the other files for the imaging system (floppies, CD iso etc.)
- During the build I know there were some problems creating the CD iso.
- Normally during imaging of IDE hard disk you can use the hdparm tweak for better performance. The tweak is: hdparm -d1 /dev/hda I couldn't get this working in this build. I've tried this one but with no luck. This means that imaging IDE hard disks will take longer time.
If you somehow manage to fix one or more of these problems, let me know, either by mailing them to me.
It isn't easy to create your own kernel files. However, it is possible. Before we ran into this problem I had never installed or used Linux.
I found some helpful documents in Novell's Knowledgebase and some in the Imaging forum. I would especially like to thank Kristoffer Bjork and Reinhard Dittmann for their contribution. I also had some help from the hardcore Linux specialist Claus Alboege.
Here is a document that we used during our work:
Institute of Geography
University of Copenhagen
Feedback: The CD ISO is created using mkisofs, my redhat 8.0 distribution did not have it installed by default either.
A search on rpmfind for "mkisofs" will find the appropriate distribution install.
As soon as you install the rpm, all is good, and with your instructions the bootcd.iso image is created.
Thank you! You made a difficult task much easier.
See this article for additional comments.