Building a Custom Kernel

Overview
In FOG the kernel and the boot file system are separate and interchangeable, this makes it easier to upgrade a kernel without modifying the boot file system. This also means that all drivers in the kernel are build into the kernel instead of being compiled as modules. In our example we will be compiling the kernel on Fedora 9.

Build Process

 * 1) Install the required packages to build the kernel with:
 * 2) * RHEL/Fedora/CentOS/.rpm other: (need confirmation that this is all the packages required?!?, may also need qt-devel and a few others)
 * 3) * Ubuntu/Debian/.deb other:
 * 4) Download the latest kernel source (which in this case is version 2.6.35.3):
 * 5) Extract the tar file:
 * 6) Copy the .config file from the fog release package which is located in the Fog Setup ./kernel directory:
 * 7) Start configuring the kernel:
 * 8) * RedHat forks:
 * 9) * Ubuntu/Debian, etc:
 * 10) * This will run the kernel configuration tool, you will need to navigate around it a little to get a feel for it as there are many options. Placing a check mark in a box will include it in the kernel, and unchecking an item will remove it from the kernel.
 * 11) * To add or remove drivers from the kernel you will need to go to Device Drivers, and network drivers are in Network Device Support.
 * 12) * Important: All settings required by fog are already in the kernel, when you are done making changes click save and close the application.
 * 13) Now you need to build the kernel:
 * 14) * or possibly just:
 * 15) * This could take 10 minutes, depending on the speed of your machine and how many options you checked.
 * 16) Backup your FOG kernel, and copy the new kernel image to your TFTP kernel folder, probably under /tftpboot:
 * YYYYMMDDHHMMSS
 * ''Of course, you can name your backup anything you want, that is simply the name convention used by FOG
 * 1) And, you're done! Try booting a client with your new kernel to test it. Repeat steps 5-7 above if you need to make any changes. If you are happy with your configuration, you can save the configuration by backing up the .config file located in the boot of the kernel source directory.
 * 1) * Important: All settings required by fog are already in the kernel, when you are done making changes click save and close the application.
 * 2) Now you need to build the kernel:
 * 3) * or possibly just:
 * 4) * This could take 10 minutes, depending on the speed of your machine and how many options you checked.
 * 5) Backup your FOG kernel, and copy the new kernel image to your TFTP kernel folder, probably under /tftpboot:
 * YYYYMMDDHHMMSS
 * ''Of course, you can name your backup anything you want, that is simply the name convention used by FOG
 * 1) And, you're done! Try booting a client with your new kernel to test it. Repeat steps 5-7 above if you need to make any changes. If you are happy with your configuration, you can save the configuration by backing up the .config file located in the boot of the kernel source directory.
 * ''Of course, you can name your backup anything you want, that is simply the name convention used by FOG
 * 1) And, you're done! Try booting a client with your new kernel to test it. Repeat steps 5-7 above if you need to make any changes. If you are happy with your configuration, you can save the configuration by backing up the .config file located in the boot of the kernel source directory.
 * 1) And, you're done! Try booting a client with your new kernel to test it. Repeat steps 5-7 above if you need to make any changes. If you are happy with your configuration, you can save the configuration by backing up the .config file located in the boot of the kernel source directory.

Note
When building on x86_64 systems you may need to specify that you are building for an x86 target architecture.

Test