Compiling Drivers for Altiris Linux PXE Image Part 1

First we need to setup a Linux Virtual Machine with a distro of choice (I recommend a 32 bit version). I will be using Ubuntu here and the first step is to download the iso.

At the time of writing Ubuntu 10.10 was the Latest version so I used that one.

Create a new Virtual Machine and use the iso as install media, I am using VMWare Workstation and it recognises Ubuntu and performs an “easy install”:

image

The install is unattended (when VMWare Tools are installed you need to perform a login) and took only 6 minutes on my laptop!

Now we need to install gcc (the compiler), open the Ubuntu Software Center:

image

 

Select Get Software | Developer Tools, search for GCC and select The GNU C Compiler from the list and click Install:

image

Authenticate with the root password:

image

Optionally install g++ as well:

image

Now we need to download the Kernel version that is used in the Altiris PXE environment.

Check the required version by starting the Boot Disk Creator and select Tools | Install Preboot Operating Systems (in my case it’s 2.6.27.7):

image

Open FireFox in the Virtual Machine and goto http://www.kernel.org/pub/linux/kernel/v2.6/ and download the file for your version (in my case linux-2.6.27.7.tar.gz).

FireFox suggests to open it with the Archive Manager which is fine:

image

Extract the files using the Archive Manager to your home directory (I choose the Documents folder).

Now we need to obtain the config file, the easiest way is to manually boot into Linux Automation and copy the file to the eXpress share (cp /proc/config.gz /mnt/ds).

Copy this file to the directory where you extracted the kernel (in mycase /home/rweijnen/documents/linux-2.6.27.7).

Now start a Terminal via Accessories | Terminal:

image

cd to the directory where you extracted the kernel and extract the config.gz file (gzip –d config.gz) and then rename the config file to .config (mv config .config):

image

Now build the kernel (make bzImage modules):

I got a question about Removable Drive Bay, I choose N since it doesn’t seem necessary:

image

The build may take some time!

In the next (upcoming) part we will compile the driver and integrate it into the PXE Image.

Was once an enthusiastic PepperByte employee but is now working elsewhere. His blogs are still valuable to us and we hope to you too.